Yeraze's Domain 3.0

Supercomputers, Programming, and Life in Mississippi

Entries for February, 2006

New Furniture

Well, the new furniture finally arrived yesterday morning.  In preparation I got to spend a few hours cleaning out our bedroom down to the bare walls and carpet.  That meant a night on the couch, which was in no way fun, but it’s worth it to see the new furniture.  A full bedroom suite, and a nice hightop kitchen table.

Between the work involved with that on Saturday, and helping my sister move today, I’m sore all over.  Looking forward to getting some sleep, although I think tomorow is gonna be pretty miserable.

The Emerald in the Rough

One of the machines we have here at the lab is an older Compaq SC45 named Emerald. Given that the machine has pretty much reached end-of-life (4 years for government supercomputers), and that Compaq has been acquired by HP, this machine is basically “orphaned”. But since it is currently operational, that means I have to have my code running on it. For better or worse.

For those of you who have never had the “priviledge” of working on a Compaq SC, they run something called Tru64 Unix. I think it’s part of a standard called OSF Distributed Computing Environment, and also goes by the name “HP-UX” sometimes. I’m not sure how many of my problems are related to the fact that it’s based on this and how much is from Security and Age related issues, but it’s been an absolute nightmare. At first it wasn’t so bad. The GNU 3.4.0 Compilers that are installed don’t work (IOT/Abort Trap everytime), and alot of the GNU utilities I like were missing (top, vim, dir), but I was eventually able to get everything setup.

One of the things that really complicates my application is the amount of dependencies it requires. To get it running requires a working installation of (in Order) Mesa, VTK, Xdmf, HDF5, and Xmdf. To make it even more complicated, some of those require CMake. You can imagine how difficult it is to keep all these changing codebases in working order, but then multiply that by the amount of work it takes to keep it running on our SGI Origin3k running Irix, Cray XT3 running a variant of Linux, and various other workstations running Redhat Enterprise Linux. It’s pretty difficult, made even more so by the fact that each of these systems has their own compilers & libraries that are optimized for the architecture at hand. None of them are compatible, and each of them have their own problems.

This week I’ve been fighting with Emerald and Compaq’s (now HP’s) Tru64 compilers. I had previously gotten all my code to compile just fine, so I thought this would be an easy task. In classic Murphy fashion, it was anything but. The problem was an interesting one as everything would compile and link perfectly, no errors at all. I’ld install it all, and finally compile my program and install it beautifully. Then when I try to run it:

           emerald0> ./main
     resolve_symbols: loader error: dlopen: libvtkVolumeRendering.so: symbol “__array_new2″ unresolved


This led me on a two-day long adventure of the internals of dynamically-linked shared libraries and how they work. Specifically, how they don’t work. After two days of learning all about ldd and nm, and how /usr/bin/cxx is actually a symlink to a driver script in /usr/ccs/lib/cmplrs/cxx/V7.1-006… I finally figured it all out. As shown above, the problem was this mysterious “__array_new2″ function, which isn’t called by any of the source code that I’ve compiled (nor in my code nor any of it’s dependencies). I figured it had to be a result of name mangling of some other function, probably C++’s “new” keyword. Try as I might, I wasn’t able to figure out where it was tho. With a tip from some other guys, I finally found it in the libcxx.so library in the compiler’s directory. But why couldn’t the program find it?

Well, I was somewhat surprised to find out that even those these are “dynamically” linked and that they will find libraries specified via the LD_LIBRARY_PATH environment variable, evidently an initial search path is hard-coded into the program during the link stage. So what was happening was the “libcxx.so” link requirement was being satisfied by another libcxx.so in another directory, which didn’t have this __array_new2 function. Finally, after manually adding this directory to my compile commands & recompiling, I got it all to work. Adding this directory to my LD_LIBRARY_PATH wasn’t enough, as it was always looking in this hard coded “/usr/shlib” location for it first, and finding it there.

So what’s the point of this lengthy post? I honestly don’t know, I guess just to whine & vent a bit. That one stupid library cost me (and a user who was waiting for me) two days of productive work. So far the only reasonable explanation is that someone upgraded the compiler but didn’t remove some of the old libraries, hence this old cxx library in an odd location. On a positive side I learned a few things:

  1. Always make sure you’re linking against what you think you’re linking against.
  2. Always compile & install into your home directory first, before pushing it out to public use. I screwed up a perfectly good working installation by installing too quick.
  3. This also helped us fix another problem that’s been bugging us for a long time: how to make Static Libraries. We would always get hundreds of errors about libraries not having a table of contents. Come to find out that the ar and ranlib in /usr/local/bin don’t work with the Tru64 outputs, and you have to use the other ar & ranlib in /usr/bin.

So in short, it’s been a very frustrating couple of days. But at least I finally accomplished what I originally intended (upgrade my app on Emerald), and learned a few new things along the way. Guess you can’t ask for more…. Except for it not to take a week.
[tag:Tru64][tag:programming][tag:compaq][tag:unix]

eVGA GeForce 6800GS CO

Well, today my new video card arrived. It’s the eVGA 6800GS CO (397) with 256MB of DDR3 ram. It’s replacing my ASUS 5900FX card with 128M of ram, and I’m hoping for a pretty significant power boost from this upgrade. In case you haven’t noticed, I’m an NVidia Fanboy. My system is AGP, so PCI Express wasn’t an option. Although there is the new BFG 7800 AGP card, it’s out of my price range.

So before I popped it in, I downloaded Futuremark’s 3dMark 2006 and tried it out. The performance was abysmal on my 5900FX, less than 1fps on the first test. I quickly aborted it, and figured that since even my new card is last year’s model, I should give it a break and use last year’s test. An hour later I had 3DMark 2005 setup, and commenced with the testing. For those of you interested, I did all these tests immediately after a fresh reboot. I have an AMD AthlonXP 3200 and 1Gig of system memory. I ran all my tests with a “standard operating system”, meaning that I had my antivirus running and all my system try icons idling away happily. I’m running the official 81.98 Drivers from NVidia, and Windows XP. I had hoped to use the same drivers on the new card, but they wouldn’t recognize my card. The install CD that comes with the card has the 82.12 drivers, so I wound up using those for the 6800 tests.

3d Mark 2006
3dMark 2005 Total SM2 CPU SM3/HDR
ASUS NVidia 5900FX 1040
324
151 795 N/A
eVGA 6800GS CO 4828
2279
975 800 894

The difference was immediately evident, as the tests went from “Seconds per frame” to “Frames per second” on almost all the tests. 3DMark06 had the most visible improvements, as the HDR & SM3 tests weren’t even run on the 5900 card. The CPU results stayed the same (as they should) so you can see the different is pretty much exclusively in the graphics. Six months ago I wouldn’t have believed you if you said that a simple graphics card upgrade could give you this kind of improvement. As predicted by the Video Card Stability Test & Benchmark Results, I got the 3x-5x improvement easily.

But how do these numbers translate into “real world” performance. Well, I still had FEAR laying around and it was pretty sluggish before. The default settings for my hardware were to set the System to “Medium”, and the Graphics to “Custom”. What is “Custom” you ask? For me, 1 notch below “Low”: 640×480, No FSAA, No Shadows at all, No Volumetric Lighting, and everything else set to Minimum except Water Detail which is for some reason set to Medium. For this test I loaded up FEAR and let it autodetect, and then used the “Test Settings” option to get the Minimum, Average, and Maximum framerates for the test sequence. I then switched to Low, Medium, and High and ran the test sequence again. (There is another setting “Maximum”, but seeing how poorly my 5900 did in High I decided to pass on that).

Low Medium High Default
5900 61/131/249 11/18/33 4/9/21 33/52/80
6800 89/162/298 46/93/222 34/58/121 36/59/121

The default settings for the 6800 were 1024×768 with everything set to “Maximum”, except FSAA and Soft Shadows disabled. Shadow detail was still on & set to Maximum, but the soft edges were turned off. Again, six months ago I would never have believed this kind of result. Effectively, using the default settings I get the exact same framerate as before, but now I get the benefits of double the resolution, shadows, more effects, more details, and more of everything that makes it beautiful to stare at.

So, I’m happy. No, happy isn’t quite the right word. Ecstatic is closer. For $200 I breathed new life into my aging system and easily bought me another year, hopefully two, of gaming goodness.
[tag:nvidia] [tag:geforce] [tag:benchmark] [tag:computer]

Minor Website Tweaks

I’ve made some tweaks to the website that should make things a little more streamlined for some of you. I removed few of the less useful options from the left sidebar, and logged in users will see a limited right sidebar now (I think). I’ve also finally gotten the WYSIWYG editor working and got the Spell Checker enabled, so expect to see fewer edits after initial posts. Also, those of you on RSS might have noticed that I’m now working with Technorati tags. From the left sidebar there’s a small link to search for other websites linking here (that also serves as part of my “blog claim”), and you’ll see Tags listed at the end of most stories. After using del.icio.us for a few weeks, the whole tagging concept, while incredibly infantile in it’s roots, is extremely flexible. The biggest problem is trying to get in tune with the “hive mind” of the internet, to make your tags somewhat follow the global precedent. I’m still somewhat new to the concept of “social tagging”, but hopefully I’ll get better at it with time.

Behind the scenes I upgraded to the newest Geeklog version (1.4sr1). Also, the hosting provider that kept this server online & available has been bought out. EbiCom has been bought by Xfone, and my “free hosting” gig is sadly no more. Luckily, my good buddy Torey has made other arrangements, so we’ll be back on the air without more than a day or two downtime (His words, not mine) sometime later this week. Plus, the server will be on a much faster connection, so it’s all good in the end. Except for the $$ part, but at least it’s cheap hosting.

Also, I’ve had alot of odd accounts sign up over the last few weeks that haven’t posted a single thing. Assuming that they’re “spammers in waiting”, I’ve purged all the accounts of people who haven’t posted. If I deleted your account, sorry. Feel free to reregister, and participate this time!
[tag:geeklog] [tag:blog] [tag:hosting] [tag:social tagging] [tag:del.icio.us]

Second Life

Well, in wandering the net in search of something to do today, I noticed that the system Second Life allows for free basic subscriptions. The only restriction is that people on “Basic” subscription can’t own land. I’ve heard alot about Second Life over the last few years, especially in regards to their innovative grasp of intellectual property issues online.

So, I quickly made an account and downloaded the client (only 21Meg, kinda surprised me). Of course, the first thing you do is go through a small tutorial on how to get around. I also spent some time designing my avatar. I tried my best to get an avatar that looks like me, but after seeing some other users I think I need to do some more work. After figuring out how to walk, interact, and fly (yes, fly) I took off for the mainland.

After spending an hour or so in Second Life, I can understand all the parallels between it and the Metaverse (from Neal Stephenson’s Snow Crash ) . The “game” (I kinda hate to call it that) is really a “Life Simulator”. If you want to make money, which you’ll use to buy land and other things, you have to earn it. You don’t earn it by rescuing damsels or crushing orcs, but rather through making things & selling them to other players. Making things is a difficult art not for the faint of heart, and there are hundreds of in-game tutorials and classes to help you learn. They have a nice extensive in-game modeling system for objects, and an incredibly robust scripting language for making them interactive. But until you get the hang of it all, you can just convert US Dollars to “Lindens” from the various in-game ATM’s or the website (The exchange rate seems to vary, but right now it’s $L100 for $0.67US, or 67cents). The free basic account starts you off with L$250 (L$ is the currency symbol for Lindens), and you get a L$50 a week stipend. All of that in itself is pretty impressive for an online environment, but it doesn’t stop there.

They also allow for streaming video & audio to be piped into the gameworld, along with any other images or sounds that you want (for a meager L$10 each). It’s not unusual to walk into someone’s house and suddenly have a loud advertisement blasting into your ears about all the houses or avatars they have for sale. And these aren’t rinky-dink operations, some of these things are real companies that make several thousand dollars a month just selling these things in-game (For example, Tringo ). In fact, I even found a large video-rental store in-game where for about $L500 ( ~$2.50US) you could rent a movie for 24 hours that you could watch in your Second-Life home, all done via the ingame video streaming options. I also saw the streaming audio in use at a player-event where they had real-time a Streaming Radio station announcing an in-game Slingo tournament.

Given that I’ve already pre-ordered DDO and plan to start on that later this week, I’m not gonna put down any cash on Second Life right now. I do plan to investigate it a bit further, within the constraints of my free basic membership. If the news reports are to be believed, it may be on the cusp of a real digital revolution. I wish I had known about the free membership earlier as Larry Lessig gave a nice presentation on Copyright law in-game just last month.  [tag:Second-life] [tag:Game] [tag:PC]

Disappointing Holiday

Tomorrow is President’s Day, and being that I work for the DOD, I get the day off. It’s not a day that alot of people get off, tho, so Rhianna will be going to daycare and Laura will be going to work.

I had grand visions of taking Rhianna to daycare in the morning, and then coming home to play in the Dungeons & Dragons Online Beta all day. Thursday morning I went ahead and pre-ordered DDO, along with hitting NewEgg to get a brand new eVGA GeForce 6800GS to boost my performance. I thought it would come in Monday and I’d have all day to install it, debug it, and break it in with DDO. Sadly my hopes have been shattered.

They shut down the DDO beta today at 5:00pm, and the “headstart” doesn’t begin until Friday. And to make it worse, the “3 day shipping” that I paid for from NewEgg doesn’t mean “Thursday Friday Saturday” or even “Friday Saturday Monday” but rather “Friday Monday Tuesday”, so I won’t get my stuff until sometime Tuesday. So what will I be doing tomorrow? I don’t have the slightest idea.
[tag:DDO] [tag:NewEgg]

The Incredible Human Immune System

One thing I always heard alot about when I was younger was that parent have to learn to live with all the illnesses of their kids, because sooner or later they’re gonna catch em too. I didn’t realize just how true that was until we started sending Rhianna to daycare.

The constant runny nose, the unexplainable fevers, and now the winter viruses. Two weeks ago Rhianna spent almost all week with the grandparents in Meridian. We took her into daycare for the first time that week on Friday, only then figuring out how lucky we were. The flu was making rounds around the place, and of the usual 30 or so kids that are there, I only saw 1/3 of them there. This week Rhianna gets sent home for vomiting on Wednesday, which we think was nothing more than too much running after eating too much food. But Friday we get a notice of Rotavirus making the rounds, sending kids home with Vomiting & Diarrhea.

Somehow, Laura & I seem to have gotten lucky and have missed the recent outbreaks. Rhianna seems to be doing well, except for the chronic runny nose that I think every 2-year old has. Laura & I aren’t exactly at 100%, winter in Mississippi always comes with coughs & stuffy noses. I’m starting to wonder if we’ve got this new thing, the “Katrina Cough“. For those of you who haven’t heard, it’s some kind of upper respiratory cough that’s affecting people in the Katrina-hit areas. We weren’t hit very badly this far north, but I think what we’re dealing with is a related sympton. Where the people down there are probably dealing with issues related to the destroyed sewage systems and spoiled food contaminants, I think we’re dealing with the side effects of the huge displaced Love Bug population that swept through here shortly after the storm, and all the crud that they brought with them.

In short, I find it amazing that I haven’t really missed a day of work since Katrina (at least not for sickness-related stuff). Between the Flu, the Rotavirus, the “Katrina Cough”, and my usual annual sinus infection, seems I should have been out of commission from roughly October to April. I’m hardly what you would call a “hearty human specimen”, but why haven’t I crumbled under it all? I guess I can owe that to Rhianna constantly bringing home stronger and stronger bugs for me to fight off. Add that with the recent 1000mg Vitamin-C pills that I’ve been taking and maybe I’ll make it for a few more weeks before I’m groaning in bed..
[tag:Katrina] [tag:kids]

One Good Saturday

Laura’s mom is here this weekend, so Laura & I went to town today to run some errands and get a few things done.

For starters, we went to Miskelly’s to check on our furniture. Since we hung the new fans there we needed to make sure that the tall posts on the bed wouldn’t bump into the fan, and we wanted to confirm the delivery date. Well, come to find out everything was at the store! Somehow we fell through the cracks and noone called to tell us it was all in. Few minutes later and we have delivery of everything setup for next Saturday. Laura & I quickly went to town to try and buy some new sheets & stuff to match the new furniture. We had thought about painting the bedroom a new color (it’s currently brown), but I’m lazy and we found a set we really liked at Bed, Bath, & Beyond on sale for $99.

After all that running around we came home to take a nap, only to find out that my W2 had finally arrived. Evidently CSC’s central office didn’t update their personell records on me when I moved from the apartment to the house, so they send the W2 to my old apartment. When I called to get it fixed & get a new one sent out, they said that because it was all my fault (even though I told them I had moved) I would have to wait until February 15th. Whatever, I was too tired to “fight the power” and just waited. Well, with my W2 in we finally had everything we needed so we postponed the nap and took off for H&R Block. There was only 1 preparer working today, and she was swamped by some guy who was trying to fudge his own business & personal returns to maximize his returns. He kept the place locked up for over 2 hours. We finally got back, tho, and got everything filled out and E-filed. So, in 8-15 days we’ll have a nice fat refund waiting for us in our accounts.

All in all, it was a pretty good & productive day. Combine this with the Homestead Exemption stuff that we got done on Thursday, and it’s been a good week :)
[tag:furniture] [tag:taxes]

Redneck High Society

This weekend Laura & I happened to be driving around town, and we came to an earth shattering decision. We’ve been talking about it for a few months now, and finally decided to pay the membership fees and join that High Society club that all Rednecks strive to be a member of: Sam’s Club.

I suspect that some of our first purchases will be things like new mattresses for the bedroom suite we bought, and maybe some electronics. (Flash Media there is at unbelievable prices, 1GB flash cards for $50, 2GB for only $90) We spent the better part of an hour wandering around, staring in awe at the 10-pound package of ground beef, the 5-gallon bucket of pickles, and the mutant Cheerios Cube for $5. Some of the stuff is great deals, but some of it has to be targeted toward restaurants. Who else would need a 2-gallon can of Ragu? But as we wandered around, I was hit with inspiration as I finally understood the root cause of Obesity in America.

Back in the 90’s and late 80’s, there was a huge push for the Feed the Children charities. Sally Struthers became quite well known for her public endorsements, and is still ridiculed regularly in South Park parodies. As the movement picked up steam, children everywhere were force-fed vegetables to the tune of “Be happy to have that, there’s starving children in Africa who would love to have that!” Most kids would grimace or retort with grand ideas of calling UPS. Of course, these ideas stuck in their subconscious, leading to a generation of people who can’t stand to leave any food behind.

Combine the unnatural distaste for leftovers with the suddenly obscene portions available “at a discount” (never mind that you’re buying 5x what you used to), and suddenly people feel the need to finish these ungodly portions. Now, you weren’t meant to use the entire 2-gallon jar of Ragu at once, but who’s gonna keep half a jar of spaghetti sauce around? So the natural idea is to just cook it all, and then put the rest in the fridge “for later“. Of course, if you don’t finish your 5 pounds of spaghetti all at once, then you feel guilty about all the starving children in Africa who you’ve just deprived of this bountiful feast. And we all know what guilt leads to: more eating. Could be eating the rest of the spaghetti, or perhaps ripping into the giant cube of Chips Ahoy you just picked up at Sam’s Club.

So there you have it, the reasons behind obesity. I’m sure experts will disagree with me on this, but I think I’m onto something here.

And oh yeah, we’re going back to Sam’s Club this weekend for some more Cheerios.

House Projects

I’ve been knocking things off the “Honey-Do” list for the last few weeks. I’ve got plenty of things left to do, but I thought I’ld share a few of the things I’ve completed.

Right after New Years, I mentioned a table that my Dad & I built for Rhianna. One of the stranger things I inherited with the house was a 3-foot wooden wheel, like a butcher’s block. We went and picked up some long screws, an 8-foot 2″x2″ and an 8-foot 2″x4″, and built her a table. My mom even managed to find a tiny chair at a local Antique store for only $15.  I slapped a coat of bright pink paint on the table (same paint as the walls), and it’s been a big hit for tea partyies and play-doh fun.  I hope to sometime soon slap a 2nd coat of paint on the table, or perhaps some clear finish, and also sand & paint the chair to match.

One thing that Laura & I both have really hated about the place was the previous owner’s choice in Fans. Most of the fans in the house are old low-end Hunter Fans. Now, there was a time when Hunter was a brand to respect, but during my short life as a Fan & Chandelier Installation Specialist I learned otherwise (High-school jobs can be educational). They’re extremely expensive, even now, and in my experience suffer from some strange problem that causes little black pieces of plastic to fall from them after a few years, and just die. They also use some of the most bizarre mounting hardware of any fan I’ve ever seen, that makes them extremely difficult to install/uninstall and just plain dangerous. I’m a big fan of Hampton Bay fans from Home Depot, which are alot more affordable and simply alot prettier. Laura & I bought 2 of them back in Florida and hung them in our apartment, but some of the mounting hardware got lost in the move. I managed to replace it last weekend on our visit to the new Home Depot.

Last weekend I tackled the fan in the living room. It was a tricky job, because like I said there was a Hunter here previously. I was pretty unfamiliar with the mounting apparatus, and as a result the fan summarily fell on me, leaving me to hastily disconnect the wires before it ripped them from the ceiling. After a maddening hour of getting their mounting bracket down, I managed to hang the new 6-blade fan in about 20 minutes. I switched it from 4 60-watt Compact Fluorescents to 5 100-watt Incandescants, and it’s blindingly bright in there. We’ll probably switch back to Compact Fluorescents in the near future, but we didn’t have any on hand at the time.

Today I tackled the fan in the bedroom. It was alot easier, since it was hung with a normal mounting bracket, but the ball-mount had been removed for a closer mounting. Since we did get that new 4-poster bed, we figured we should do the same. It was fairly easy, but took about an hour because we had to hunt around for a few screws. The result is a beautiful fan, and the blades are expected to perfectly match the room.