Monday, December 21, 2009

T'is the Season to be Jolly



Above: I have three computers - Gemini, a very old Sony Vaio, and an even older Sun Ultra 5 workstation. There is my Kodak color printer on the left and my HP laser printer on the right. The sophisticated air conditioning setup (to the far left) is very handy in the summer.

So I'm talking the last half of December off from work. I've been waiting for this for a long time because I wanted to spend some quality time with Gemini and get everything set-up just the way I wanted.

Deena tells me that everyone can hardly wait until I finish setting things up so I will be less grouchy and stressed out. I can understand that, as my frustration often leaks out to those close to me. Thanks for being patient!

So a few weeks ago I finally did what I hope was last install (for a while) of Windows 7. I finally received my official version of Windows 7 Ultimate 64-bit from Microsoft, so now I had a product key that was all mine. Up until now I have been using the RTM from MSDN through work, but I never left the O/S installed long enough to have to activate it - until recently. A few weeks ago I had most things set up and running the way I wanted, but Windows started complaining that I would loose certain feature unless I activated it. I figured I had installed Windows 7 so many times before I was pretty good at it and it would not hurt to just install everything from scratch.

I've been keeping notes on my Windows 7 installation, keeping track of what works and what doesn't, so I wanted to do one last clean install from scratch and do everything in the correct order. At first everything seemed to go well but after a couple of weeks I noticed a couple of things that were not working right any more:
  1. ShoutCast was broken. I was never able to get IceCast to stream to more than one person previously, so I was quite happy when I was able to get ShoutCast working. Unfortunately after reinstalling Windows my ShoutCast stream stopped streaming to multiple people and was behaving the way IceCast was. The problem seems to be related the firewall in my BitDefender security software. When I disable the firewall I am able to get ShoutCast to stream properly.
  2. Aventail was broken. I have to use the Aventail software to connect to work. Unfortunately this software does not work very well in Windows 7. I have two versions of the software: (a) the beta version for 64-bit Vista, and (b) the production version for 64-bit Vista. For some reason only the beta version seemed to work, but before my last Windows installation I was able to get the production version to work. This time I had to install the beta version again, and I had to set the Setup file to Vista SP2 compatibility mode.
  3. My HP printer is hosed. I've had a lot of trouble with my HP LaserJet 1018 because they do not have drivers for Windows 7 (the hosers). I was able to get it to work by setting the driver installer to Vista SP2 compatibility mode in the past. The problem is that there are two different driver installers - and HP does not tell you what each version is for. I can print to the printer from Gemini, but when Deena tries to print via her computer the Windows spooler gets hung up. Before I did the last installation of Windows I had this all working - but I still don't have a solution yet.
I've decided to re-rip all my music on CDs. I was using Windows Media Player before because it can do loss-less compression, but the directory look-up is not very good so too often when I put a CD in, WMP can't find the artist and titles. After doing a bit of research I discovered FLAC - Free Loss-less Audio Codec. There is a plug-in for WinAmp so I can RIP my CDs that way. I've spent almost 4 days just RIPing music now, and I'm only half done. So far WinAmp has only failed once to find the CD information in the directory - and it was only a partial failure - but I was able fix the meta-information on the tracks.

I'll go into more detail later, but in all my adventures over the last 6 months or more I've discovered one (unsurprising) thing --- Windows 7 sucks! In many ways Windows 7 is better than Vista or XP, but I've discovered many things that just worked in XP, were a lot of trouble to get working in Windows 7. I think to summarize things properly it's fair to just say Windows sucks! Microsoft just keep adding more and more features every time they release new products, but they never go back and fix the original problems their software has, they only add new features and new problems.

Tuesday, November 17, 2009

Windows 7 Hell

I totally understand why Apple continues to increase market share, but more importantly mind share.

Since getting my cooling problems sorted out I have been spending a lot more time focusing on experimenting with system configurations, installing and trying software, and generally getting a feel for how I want to crystallize my system. By "crystallize" I mean -- that point in time where I stop changing configurations, do my final installation of Windows 7, and declare this now my main computer.

I recon that I've installed Windows no less than 20 times on Gemini now. Each time I learn a little more about the installation process and some of the pitfalls. More recently I learned how truly abysmal Windows Setup is about actually setting up a computer for first use. To Microsoft's credit few people actually ever have to run Setup this way as most people just buy a computer with Windows pre-installed.

A couple of weeks ago I was reading about the back-up features in Windows 7 and I thought I would try them out. This should be simple, you just go to the Control Panel, find the back-up page, configure where and when you want your back-up, then click the back-up button. Unfortunately mine barely started before it failed. I spent a couple of hours trying to understand the error messages I was getting and using Google to find similar problems. Eventually I ended up going to the Microsoft forums. Fortunately there are some really knowledgeable people on those forums and eventually I was guided to the source of the problem.

When you install 64-bit Windows 7 on a system with a blank disk Setup created two partitions. The first is 100 MB and called "System Reserved." This is set to the active partition and is where the computer boots from. The second partition C: takes up the rest of the disk and this is where Setup actually installs the Windows 7 operating system. The problem it turns out is that 100 MB is too small for the backup to work. After going back and increasing the size of my System Reserved partition, and then reinstalling Windows 7 yet again, I was finally able to make a backup of my system.

It took me 2 or 3 days to finally solve that problem just because Microsoft are too stupid and/or lazy to properly test Windows Setup. I can only feel better in knowing that I had caught this problem before crystallizing my system, in which case it would have been a lot harder to go back to increase the size of the System Reserved partition.

The backup will create a system image that can be used to fully restore a system from the Windows 7 Setup DVD. I was playing around with something and decided I had to reinstall Windows 7 yet again, but this time when I tried it would not work. When Setup fails it gives these really cryptic messages and tells you to look in the "log" for more information. The first insult is that it does not tell you where the log is. When you use Google to find some information on Windows 7 Setup you finally find a web page explaining where the logs are. The second insult is that the web page is wrong, the log is not where it is documented to be. After farting about looking through the file system I finally found what I thought might be the correct log file, but when I tried reading it - the third insult - the log is huge, huge, huge, and fully of really cryptic information badly formatted. Of course the command line tools are not very helpful in viewing the log information either. Out of desperation I tried doing the system restore from Setup, and guess what - it does work like a charm. After taking a rest for the remainder of the day it finally occurred to me that I should disconnect the new backup drive I was using. Ta-Da! After that Windows installed normally again. Somehow the second drive was interfering with Windows 7 Setup. Setup is this incredibly fragile tool. The slightest thing wrong or different and it throws up its hands and say "I can't do this, and I can't tell you why."

I thought it would be cool if I could backup Deena's computers (running Vista 64-bit Ultimate) on my computer - the networking should just work right? WRONG! For some stupid reason when I tried accessing the file systems on Gemini from Deena's computer it kept prompting use for a login name and password, but no matter what we typed it always said it was wrong. I've said it before and I'll say it again:

Microsoft do not have the first clue about how to run a network!

What really makes this frustrating is that previously Deena's computer was easily able to see the files on Gemini without any problems or password prompting.

The definition of insanity is doing the same thing over and over again, and expecting different results.

However, when Microsoft is involved

The definition of insanity is doing he same thing over and over again and never getting the same results.

Microsoft finally shipped me my Windows 7 upgrade DVD so I can finally install a legal copy of Windows 7 on my system. Up until now I have been using an MSDN version that I never activate. When I crystallize Gemini I will install the version I paid for with the correct key, and finally activate Windows.

Also I bought a copy of Windows 7 for Deena's computer because it turns out that Windows 7 can actually share files with other Windows 7 system just fine. Strangely Windows 7 can also share files with Windows XP systems too. It just cannot share files with Windows Vista systems.

Cheers, Eric

Friday, October 9, 2009

Cool Change



It's been a month now of playing around with Gemini. I finally solved the problem of the I/O Hub overheating by installing a new fan in the side of the case - it's the transparent fan in the middle of the side panel. I searched around the web reading up on fans, reading reviews, reading product specifications, etc. Finally I settled on the Antec Tricool 120 DBB, mainly because it has a three-speed switch and I did not know how much cooling I would need. Once I got it installed I found that the fan cools adequately well on the lowest setting. Before I could install the fan I had to find a way to cut a hole in the pexiglass side panel. Fortunately Deena remembered a plastics company (Dimension 3 Plastics) that did fabrication and machining. At any rate, I now have Gemini upstairs in the study where it belongs instead of spread out across the dining room table. Deena was getting pretty tired of eating in the living room by then.

While Gemini runs well and is nice and powerful, I still cannot get the file system configured the way I want. I have five 2 TB disks in a RAID array configured to appear as one large 10 TB disk. Unfortunately I cannot access more than 2 TB right now. The reason is that the disk array is layed out with the Master Boot Record (MBR) partition table. This is the standard PC partition layout, but it only supports disks up to 2 TeraBytes in size. The GUID Partion Table (GPT) layout is newer and has no such limitation, but Windows does not support booting from a GPT disk with the BIOS firmware. Windows does support booting from a GPT disk if your system uses the Extensible Firmware Interface (EFI). As it turns out the S5520SC motherboard I have supports both BIOS and EFI, but for some reason you cannot use EFI with the built-in RAID feature. This is especially dumb because the S5520SC is a server/workstation board, and you would expect people to use a large RAID array.

My other option is to configure the RAID as two virtual disks, one small one for booting Windows, and one large one for all the data. Unfortunately the new motherboard I have will not allow me to configure two virtual disks. It's frustrating that with my previous motherboard I was able to configure two virtual disks, and now I can't.

I've been in contact with Intel technical support for over two weeks now trying to find a solution to my dilemma. Finally we had to esclate the problem to their Engineering department. I had to fill out a long detailed report for the Engineering people, and I'm still waiting to hear back from them.

I think I've installed Windows about a dozen times now because I keep trying to find a way to configure the disk array the way I want it. Needless to say every time I do this I have to reinstall all my applications again. At least I am able to run Windows 7 fine, and I continue to get more exprience with it. I still have more work to do on the hardware - mainly I need to clean up the rats nest of wires and cables inside - but I can do that any time.

Tuesday, September 8, 2009

Darkest Before the Dawn

Who'll Stop the Rain...

Friday September 4 I set out again to rebuild my system. I tried to be a little more careful this time and not miss any steps. Previously I had forgot to install the back-plate on the I/O panel of the motherboard. Still installation had it's bumps. I got one of the water blocks on the CPU and then noticed that one of the fan cables was stuck under the motherboard and I could not get it out. So I had to pull the water block off, clean off all the thermal compound, pull the motherboard and put it back in holding the fan connector out of the way.

Finally I had enough things rigged up that I could power on the system again - I pushed the power button and everything powered up fine. Pretty much the first thing I did was to booth the Intel Deployment CD and upgrade the BIOS (and friends) to the latest version. However, when this was finished my system powered down instead of restarting - this was very odd (but a sign of things to come).

After that a lot of thing were behaving oddly, but mostly the system just kept powering down. For the longest time I could not get into the BIOS setup, the system just kept trying to boot something, but there was nothing to boot. Eventually I go into the system BIOS again and started trying to configure the RAID but I was having the same problems last time, I could not configure a second Virtual Disk.

Eventually I got on the phone with Intel Technical Support. He as asking my about what disks I had connected and I said five 2 TB disks. He says, "oh, that's your problem; your controller can only support 1 TB disks." After that he was not very willing to help any more so I said I would see what I could figure out on my own.

After a while later I tried booting the Intel Deployment CD, but this would no longer boot. I was confused as I did not have this problem with the previous motherboard. Also, my system kept powering down, which was annoying. Eventually I was back on the phone with Intel Technical Support (a different person this time) and told him about the system shutting down. I asked if this was because some component was getting too hot and he said likely. He asked me what Intel server case I was using and I said it wasn't Intel. He started giving me the same song and dance that it was not compatible with the motherboard and there was little he could do. I asked him how I could identify which part was overheating and he told me how to run a utility to view the System Even Log.

Now this part gets interesting because my system is not a normal BIOS, it's an EFI system so you can boot to the EFI shell, which is a little like an old style DOS or Unix system. At any rate I had to download the selview utility to a USB drive, then run the EFI shell on my system, and run the selview utility - but it would not run. At that point the guy from Intel said he could not do any more.

After a bit of a break and a chance to think I started reading about the BMC (Base Management Controller). This is basically a separate 32-bit computer separate from the main CPUs that controls the motherboard and presumably where the EFI shell lives. I read up on the EFI shell commands and how it work. It's actually pretty powerful and all computers should have EFI instead of the old BIOS. Eventually I found that I could run selview and dump the logs to a file, so I tried that and it worked. The best I can tell is that selview could not work on my display for some reason because it was a full-screen application.

After looking through the System Event Log I could see all kinds of warnings about fans not working. Back when I upgraded the BIOS it asked me which fans were connected in my chassis and I said all were (without thinking). Anyway, this was one of the things the system was complaining about. Also, there is a status LED at the back of the computer. At first I didn't realize this was a status signal because the Intel decal at the back was labeled incorrectly, but once I realized this was the status LED things became clearer. The light was always blinking amber which means there is a serious problem, and then when my system would power down the LED would be solid amber, meaning a critical problem.

The other thing the System Event Log showed was that the IOH (I/O Hub) was overheating, but it only said 10.0 degrees C - which is not hot, so I was confused. Up until now I had been running my system with the sides off the case because I had not finishes all the wiring. On a hunch I went an got a bit room fan and pointed it at the side of my computer on full. This time the status LED on my system stayed solid green, meaning everything was operating correctly.

Eventually I gave up on getting the RAID to work and just tried to install Windows Vista on a single disk normally. To my amazement it worked and I was able to get Vista running. Unfortunately after Vista was running there was no network connection. I finally fixed this by using the Intel Deployment CD to install the network drivers. It is interesting to note that when installing Windows 7 it already has the network drivers. I ran Task Manager and noted with some satisfaction that there was no pausing problem like I had seen before. Next I installed Second Life and it ran beautifully - no pausing - very smooth. Unfortunately my microphone was not working. I eventually fixed that by installing the audio drivers from the Intel Deployment CD and then fiddling around with the Realtek audio utilities.

After a satisfying couple of nights of running Second Life with my friends I went back to fiddling with the RAID setup again. Eventually I learned that if I enabled the SW-RAID in the BIOS that the Intel Deployment CD would not boot. It would only boot if this setting was not enabled. But I needed that setting enabled to configure the RAID. I had not seen this problem with my previous motherboard. Finally I went back to the BIOS and instead of configuring two virtual disks (which seems to be buggy) I configured a single large 8 TB RAID 8 array. I was able to install Windows 7 and get it running. I solved the pausing problem in Windows 7 by running two network connections - a trick I had learned in Driver Heaven. Again, everything seems to perform well, except my RAID performance is not what I had hoped - but I have no direct experience with RAID 5. Also, my RAID got formatted with MBR (Master Boot Record) layout and I wanted it formatted with GUID Partition Table.

At any rate I am impressed that I was able to create a functioning RAID 5 system with 2 TB disks after Intel told me it was impossible.

Thursday, September 3, 2009

Labor Pains - Part 2

Bad Luck is sometimes like rain - when it rains it pours!

I've been taking Fridays off from work this summer, and by Friday August 21 I had thought I had everything figured out.
  • I realized the problem I had getting Windows 7 to install on my RAID was that I had not set a system disk - and the Windows installer is too stupid to let you sent one from the UI. But this was something I could set in the S5520SC BIOS.
  • I had heard from DriverHeaven that other people had the same CPU spiking problem with Windows 7 and that I should use Visa in the meantime.
  • I confirmed that one of my disk drives was defective.
I went to NCIX and returned the disk drive - they confirmed it was defective too and ordered a replacement for me. I also bought a copy of Windows Vista Ultimate. When I got home I finally hooked up the rest of the front panel connectors on the computer case, and even managed to get the sides back on so everything looked nice and tidy.

I really took my time and wanted everything to go well for once. I got everything ready and then went into the BIOS to set up the RAID. For some reason the BIOS setup was not working properly this time, it would not let me finished configuring my second virtual disk - it kept freezing and forcing me to reboot the computer - grumble grumble grumble.

Next I thought I would try using the Intel RAID Web Console 2 from the utility CD. I booted the CD, and then upgraded to the latest version of the utility from the network, but I could not get the Web Console 2 to work - nothing would happen. Next I rebooted the CD again, but this time I did not do the network upgrade. Finally I was able to get into the RAID Web Console 2 user interface. This application was pretty crummy too, confusing to use, and buggy in some places. Eventually I managed to define the two RAID 5 virtual disks I wanted and started to initialize them. After 30 minutes I was wondering what was taking so long and then a progress bar finally popped up to show that it was only 10% done. I wish I had selected the fast initialization instead of the full initialization. I was getting tired of waiting so I went off to do some reading for a while.

I came back 15 or 20 minutes later to see how things were and found the screen blank, and the graphics card fan was on full (something that never happened before). I tried power the system off and on, but nothing happened. In fact, when powering the system on the Power On Self Test (POST) LEDs would not even light up at all. That was a very bad sign.

Eventually I found a phone number for Intel technical support and someone talked me through some tests. Mostly it was removing stuff from the motherboard and powering the system back on. Nothing helped and nothing changed so the support person conceded that the board was dead and sent me instructions for returning the board for a replacement.

By this time I felt pretty crushed - the morning had started off so well, and by mid afternoon it looked like I was finally going to get everything working - when BAM - the worst happens. I suppose this it what someone feels like after a terrible child birth and they discover that their child is not only retarded, but blind and deaf too. Of course this was just a computer and could never be the same as a child, but I just felt really depressed and angry. Why me?

The next day I set out to return the motherboard. First of all Intel required that there be some sort of commercial invoice for customs purposes so it took me an hour or so to fabricate something that looked official. Next was the process of removing all the connectors from the motherboard. Taking the water blocks off of the CPUs was interesting - but it was good to see that the thermal compound I had used had spread out nice and evenly across the CPU heat spreader. Of course I had to clean everything off and put the CPUs away safely, then prepare the motherboard for shipping. I took me almost 45 minutes at the UPS store to get all the information right because I was shipping across the boarder. I selected the least expensive shipping method, and that took over a week and cost me $85.00.

Anyway, I've had two weeks waiting for a replacement and today I'm supposed to get my replacement motherboard...

Monday, August 24, 2009

Labor Pains

In some respects building an enthusiast class computer is akin to having a child: conceiving the child is a lot of fun, but the gestation and birth can be very challenging.

On Thursday, August 13 I finally got my computer case back from CoolIT Systems in Calgary. It looks like my photos and measurements paid off cause everything fit perfectly. It also helped that they put one of their best builders on the case - Sean Mutlow - because he really understood what to do.



Friday, the next day, I set forth to get everything working. This was my first time ever building a system from scratch - let alone something as exotic as this. I was mostly worried about installing the CPUs (at $1,500 a piece) and attaching the water blocks. When you attach a cooling system to your CPUs you have to use some kind of thermal paste to make a good thermal connection between the CPU heat spreader and cooling device. I had read a lot of articles and decided on Arctic Silver Ceramique as it showed the best conductive properties for CPUs. I had to remove the thermal grease from the water blocks that CoolIT has installed, then I had to prep the surfaces of both the CPUs and water blocks. I had to further prep the water block surface with Ceramique per the instructions, but it did not seem to make a difference as the surface of the water blocks was like a mirror. Finally a laid down a thin strip of Ceramique on the CPU and attached the water block. This was a bit tricky because the WS-240 cooler had all the hoses attached and it was awkward settling the water block on the CPU with the hoses trying to pull things ever which way.



After finishing what I considered to be the hardest part then came the tedious part of connecting all the power and data cables everywhere. This was extra challenging because the S5520SC is a big board and I really had to stretch some cables and connections.



Finally I had enough together that I could power on Gemini for the first time. This was rather distressing because after powering it on - nothing happened - there was nothing on my computer display to show that anything was working. I did this a few times and still nothing. Whenever I powered it down there was this beeping from the motherboard -which I discovered was the diagnostic beep codes. I looked them up in the manual and it said "DC Power Missing" so I fiddled with the power connectors a little and powered it on again. This time the boot sequence showed on my display and I breathed a sigh of relief. In hindsight I don't really know why nothing happened the first few times I power on Gemini, because every time I power it down I get the same beep codes.

Now that I was finally able to get into the BIOS settings I started exploring the disk system. To my surprise one of the disks was not working. Fortunately I had bought an extra disk as a spare so when I connected that one everything was ok again, and the ICH10R southbridge could see all 5 of my disks.

Next I tried configuring the RAID. I had thought this would be easy because I have configured RAID before on the ICH10R southbridge using the Intel Matrix Storage Manager, but this turned out to be a nightmare. It turns out that the S5520SC board does not use the Intel Matrix Storage Manager like every other civilized computer, but some other piece of crap called Intel® Embedded Server RAID Technology II (ESRTII). I design and implement computer user interfaces for a living and I can say with all expertise - the user interface on this utility is total crap. Let's just say that this whole process used about 2 hours of my time and involved a great deal of swearing.

After trying to configure the RAID I could not get Windows to install. I tried using the Intel Deployment CD to set up the RAID, and this was even worse crap. Then I made a bad decision. Because Windows would not installed I enabled a BIOS setting called "EFI Optimized Boot" and restarted Gemini. After that Gemini was a "brick" - that is it was nothing more than a very big paper-weight - it would start to boot - but would not even go into the BIOS setup. By the time Deena got home I was swearing like a soldier and bordering on a depressive mental break-down.

Friday nights is my night for Second Life - and lets just say that my technology woes only got worse that night as I ruined the entire beach. It took excessive quantities of alcohol and hard rock music to hang on to my sanity that night.

By Sunday I had had time to cool down enough to start thinking of solutions. My very good friend Remo (from Second Life) had suggested resetting the CMOS, so after searching through the manual I found a jumper on the motherboard that did that - and finally Gemini booted againg.

Eventually I gave up trying to set up RAID and switched back to a non-RAID configuration and finally got Windows 7 to install. Pretty well the first thing I did after that was run the Microsoft performance analyzer - which gave my a 7.8 out of 7.9 on my CPU and Memory performance. That was a very satisfying result.



My next big goal was to install Second Life and see how well it ran. Well it ran pretty crappy! Every two seconds there was a one second pause - everything froze. Needless to say I was getting pretty disillusioned by now. Not that I have children - but it's sort of like going through a challenging gestation and difficult birth - only to find out your child is mentally retarded. In spite of this limitation, I was actually able to run Second Life, which I cannot do any more on my Sony PCV-RX660; and Deena and I were finally able to be in Second Life together for the first time in 8 months. I was a hell of a lot of fun having her in-world at the same time as me.

For the rest of the week I played with various things, trying to learn more about the problems I had, and was still having. But all in all, it was very satisfying having my dream-system running after 3 years of planning, and 2 months of waiting for the case to be ready after initially ordering all the parts.

To be continued...

Wednesday, July 22, 2009

The Patience of Job

Well sometimes when you are the first person trying a thing, it takes time to get it right.



It took quite a while for CoolIT Systems to get my Boreas Chassis to me. I had asked them to install the Boreas chiller (for my GPUs), and their new WS-240 chiller for the CPUs. Not only is the 240 a new product, they had never installed one in this kind of chassis before, so things were a little cramped. After they got it installed they realized the fans were a little too thick - 25 mm. After some shopping around they finally found some low profile 20 mm fans.

All this took time to sort out but I finally got my chassis Friday, July 17. Since we had just moved homes the day before our new place was in quite a state of disarray - boxes and boxes everywhere. Finally Saturday morning I had some time and space to open the box and take out the chassis. I spent the morning installing the power supply, BluRay drive, and motherboard; but after installing the motherboard it was clear there were problems.
  1. The coolant hose from the WS-240 was blocking the power connector for CPU-2.
  2. The pump for the Boreas was blocking the main power connector.
  3. The coolant hose between the two CPU water-blocks was too short.
In retrospect I probably should have shipped them the motherboard and these problems would have been obvious to them too. After talking to CoolIT on the phone on Monday they agreed to have me ship it back and correct the problems. They should get the chassis on Friday, and hopefully will be able to get it back to me soon.

While I am incredibly eager to finally get this computer system running, it has been over two years that I have been planning it, so if it takes a few more weeks to get it built right I have to be patient.

In the mean time rumors are the Intel will soon release a Xeon 5590 processor, which will likely be faster than the 5570 processors I bought. I have not opened the boxes my processors are in, so if Intel releases the new ones soon enough, I am hoping I can exchange my 5570s for a couple of 5590s.

Cheers, Eric

Friday, June 12, 2009

Obsolete the Day After You Buy It

So I've been waiting many many months for word on an Intel Skulltrail II motherboard. It figures that the week after I buy the Intel S5520SC motherboard I hear about the Skulltrail II
Of course there are no real specifications out yet, but it's interesting that they are planning it with the new 8-Core Nehalem-EX - that's 32 threads folks! We'll be lucky to see the Nehalem-EX before 2010.

I'm really torn because the Skulltrail II was what I really wanted, but then do I want to wait another 6 months? Also, the Skulltrail I was a terrible motherboard - I don't know what Intel was smoking when they came up with that. They got so much criticism I can only hope they learned their lesson and won't be so stupid next time. I know deep down in my heart I could design a really cool Skulltrail II - probably better than Intel.

So where does that leave me? If the Skulltrail II incorporates an ICH10 compatible RAID controller I would be able to swap out my S5520SC with a Skulltrail II and preserve my RAID file system. Hopefully there would be a spare 4/8 lane PCI Express slot for my FusionIO ioBoard. Of course I would have to by new processors - the EX ones. I suspect the EX processors will not be socket compatible with the Xeon 5580s, so I can't just drop them into my S5520SC motherboard.

What else does Skulltrail II get you? Well probably the ability to overclock the processors. It is well known the Nehalem processors can easily handle 4 GHz or better.

Anyway - so many if's right now. My current plan is to proceed with building Gemini and 6 months to a year from now if the Skulltrail II is appropriate, maybe we'll see Gemini on steroids :-)

Getting it all together




Last Friday I started receiving the parts for Gemini. Pictured here from top left to right is
  1. Enermax Galaxy 1250 Watt power supply
  2. Intel S5520SC motherboard
  3. ATI Radeon 4870 graphics card (temporary)
  4. LG 50 GB Blu-ray reader/writer
  5. two Corsair Dominator 6 GB 1600 MHz memory kits
  6. two Intel Xeon 5580 processors
  7. Intel RAID 5 activation key for the S5520SC
  8. 250 GB HD (temporary) for testing
  9. ArctiClean Thermal Material Remover
  10. Arctic Silver Ceramique - thermal paste
  11. ArctiClean Thermal Surface Purifier
  12. Sun Microsystems keyboard and mouse
I was able to get all these parts from NCIX locally (except for the keyboard) and they gave me a nice discount too.

I could not find any keyboards I liked anywhere, but I have an old Sun Workstation that still has one of the better keyboards I have ever used. However it's not compatible with personal computers. So I ordered one of Sun's newer keyboard kits that is compatible with personal computers. Now if only I could find some way to get all the keys to work with Windows.

The last piece I'm waiting for - the biggie - is my Silverstone TJ-07 case with a CoolIT Systems Boreas and Domino WS 240 water cooling for the graphics cards and CPUs. Then I can finally assemble the first phase of Gemini.

On back-order I have 6 Western Digital Enterprise 2 terabyte disk drives coming. They are so new they are still a month or two away, and in the mean time I have a smaller 250 GB drive I can use for testing.

I've already got a copy of 64-bit Windows 7 Ultimate Release Candidate. When Microsoft finally release Windows 7 in October, I'll go get a legitimate copy then.

I'm also planning to get a Dell UltraSharp 3008WFP 30'' Widescreen LCD Monitor - but I can get that just about any time. I may as well spread out my spending over a few pay cheques.

In the next phases I plan to add a FusionIO ioDrive, but I'm still waiting for them to announce when you can boot from the device. That's going to be my boot drive and it's going to be blazing fast.

In the final phase I plan to get two ATI Radeon 5870 X2 graphics cards, and two Koolance water blocks to connect to the Boreas water chiller. Hopefully these will be ready sometime this fall. I will be ready for some intense GPU overclocking. Also, these cards will be the first to support DirectX-11, the new graphics standard in Windows 7.

We plan to move in about a month to a slightly larger place. One of the things I intend to do is have a dedicated 15 Amp, 240 Volt circuit added to the second bedroom just to power Gemini. It will be a great way to warm the room in the winter. At any rate, it will be interesting to see if I finally get Gemini powered up before we have to move.

When I get things working relatively well I will probably have a coming out party for Gemini.

Friday, June 5, 2009

Recipe for a Well Baked Computer

When most of us buy a computer, generally some bright person somewhere has designed the components to all work well together - but this is not strictly true, I've seen some pretty half-baked computer systems the came off the store shelves.

Designing a computer system is really an exercise in compromise. A good system will have the fewest compromises possible, and all the components will work well together as a whole. Some of the main factors I didn't want to compromise on were: motherboard, graphics cards, file system, power supply, and cooling system.

Power Supply - I really did not want to some day add another component to my computer system and find out there was not enough power available. In my case I ordered an Enermax Galaxy EVO 1250 Watt. This is about the most powerful power supply you can get for a tower PC system. In particular it it has a 24-pin connector for a high-end motherboard like mine, and two 8-pin connectors for each CPU, again for a motherboard like mine. Additionally it has more than enough PCI Express 8-pin connectors for two top-end graphics cards, and the cooling system I want. It has way more disk drive connectors than I will ever need. Finally, this power supply has a really large fan, which means it is relatively quite.

A funny thing I discovered. The power supply I really wanted was the Enermax Evolution 85+ 1250, but it is not sold in North America. This is one of the most efficient power supplies available - over 85% efficient (i.e. wastes less power). For some reason they could not get it approved in North America, so they took the very same power supply, and tuned it down to about 82% and then they were able to get it approved in North America. Go figure? I actually could have gotten the Evolution 85+ from Australia, but it only supports 220 - 240 Volts, and that can be hard to find in Canada in some places. On the other hand the Galaxy will run from 115 - 240 Volts which gives me more options. I still plan to run with 240 Volts, because that is more efficient than 110 Volts, but who knows where I will end up or where I will want to take my computer to.

File System - Most PCs these days have one disk drive, generally with a C: and a D: partition. Historically the C: partition is for your operating system, and the D: partition is for your data files. In some computers C and D are actually separate disk drives. In general you want your C drive to be as fast as possible because that is where the system boots from - and I hate waiting for my system to boot, or reboot. Also, that is typically where you run all your applications from, so again you want it to be fast. Finally, often people run their page-file on the C: partition, and that needs to be fast too.

One thing I have noticed recently is that some system builders use a really fast drive for their C, like a Western Digital VelociRaptor or an Intel X25-A SSD. These drives sacrifice storage space for speed. Then people will use a slower but much larger disk for their D drive. This seems like a good strategy. Some extremests will actually run a RAID 0 array of SSD for some intense speed.

More recently a new technology is becoming popular, sold state memory on a PCI-Express card. The beauty of this technology is that you can get the same performance as a RAID 0 array of SSD (or better), but all on one PCI card. Currently my favorite is something like the ioXtreme from Fusion IO. My strategy is that I would use this for my C drive, and then use a big RAID 5 array for my D drive. This would give me the best of both worlds - honking fast boot, reboot, paging, and application start-up; and massive storage for music, pictures, videos, etc. The only draw back is currently you cannot boot from a Fusion IO board, but they are working on it.

As I plan to build my system in phases I will build the RAID 5 array first and boot from it. When I get a bootable Fusion IO board I will then switch to booting from that. Additionally, I plan to backup my Fusion IO board to my RAID 5 D drive - so everything fits together nicely. I would even keep my RAID 5 array bootable, for emergencies.

Graphics Cards - 4 Graphics Processing Units (GPUs) is about the maximum you can put in a computer. Fortunaly ATI/AMD make some graphics cards with 2 GPU per card. In particular I'm waiting for the new Radeon 5870 X2 to become available (they were just announced recently). These cards use a lot of electrical power - which is why I ordered the power supply I did. All that power has to go somewhere so these cards generate a lot of heat. My plan is to water cool the cards using a CoolIT Systems Boreas chiller. This thing is actually like a mini refrigerator because it uses thermocouples to make the water very cold, consequently removing even more heat from the GPUs. This will come in very handy if I want to over-clock my GPUs. Since the GPUs I want are not for sale yet, I've decided to go with a more modest GPU during phase one of building Gemini.

Motherboard - I've already talked about the Intel S520Sc motherboard I've ordered so I won't go into to much more detail except to say finding a way to cool the CPUs was tricky. Originally I was going to use the Boreas to cool the CPUs, but this motherboard does not support over-clocking, so the Boreas would sort of be wasted. Lucky for me CoolIT Systems just came out with a new water-cooled radiator, the Domino WS 240. The advantage of this is that it will give the CPU better cooling than stock fans, and it fits in the top of the computer case, and leaves the Boreas for some hot GPUs.

Friday, May 29, 2009

The Need for Speed

If computers get faster and faster every year, why do we seem to spend more and more time waiting for them to do things?

The problem is software. People have an insatiable need for more and more features - bells and whistles. Software companies are driven to add more and more features, more and more cool things. Each new software application, or each new version of the same application tends to get bigger and bigger, and bloated with more features the slow down the computer.

For example, web browsers! When the web first started the first web browser, Mosaic, was fairly simple, it could display text and pictures and it didn't require a lot of computer power to do that. Over time people have added other multimedia such as videos (i.e. You Tube) and scripts. These take up more and more computer power. Now that there are tabbed browsers it is common to have many tabs open, and these may all be running scripts or playing media. Increasingly more and more web sites use scripts and media to add the cool factor, or get people's attention (i.e. advertising). When I start up my web browser now, it puts an awful load on my computer slowing it down. All those tabs, media and scripts cause the browser to use more and more threads and processes - so you need a computer that can run a lot of threads and processes at one time.

Another thing people tend to do, especially me, is have lots of applications running and windows open. The more windows you have open, the more memory is used and the more load there is on the computer. The more software you install the more chance there is that the software starts up automatically at boot time, so whenever you reboot your computer it can take longer to finish booting. My current computer takes about 15 to 20 minutes to actually finish booting. Sure I can login a minute after booting, but everything runs incredibly slow until it's finished booting. Finally, a sad fact about Microsoft Windows is that for some reason we seem to always have to be rebooting it.

The bottom line is when the computer gets too slow it becomes more frustrating to use it. The only way to reduce the frustration is to get a faster more powerful computer. In my case my home computer is for my own personal enjoyment - that's the worst time to be frustrated.

Thursday, May 28, 2009

A Tapestry of Threads

In the early days computers could only execute one instruction after another, there was a single CPU and a single Thread of execution. Computers give the illusion of doing many things at once by a technique called Time-Sharing: the work is divided up into many Processes, and the Operating System runs each process for a few thousandths of a second, switching from one process to another. Several people could be using a computer at the same time, each working under the illusion that they had the computer all to themselves - except the more users and processes there were the slower the computer seems to get.

For a long time computers have gotten faster and faster, but at every moment in time computers were just as fast as they could go. The only way to make a more powerful computer was to tie two or more Central Processing Units (CPUs) together in one system. In most cases all CPUs shared the same memory, and the Operating System could take any process and run it on any CPU, making the whole system more powerful because now more than one process could be running at the same time. This was especially useful on systems with lots of users. These were the haydays of mainframe computers.

When personal computers became popular there was never a big need for more than one CPU because each person had the whole system to themselves. For a long time CPUs just got faster and faster every year and were able to do more work, keeping up with increasingly sophisticated and demanding software. About 5 years ago a terrible thing started happening, CPUs stopped getting fasters, primarly because we reached certain limits in the laws of physics. For at least 5 years the fastest CPUs are about 3 to 4 GHz and that's just not likely to change with current electronic computer circuits. The fastest a computer has run to date is just over 7 GHz, but that requires liquid helium and is very expensive and fragile.

But people still demand ever more powerful computers every year. They only way computer makers have been able to make systems more powerful is by adding more CPUs. Now the terminology gets a little crazy. In a single chip computer hardware people refer to the chip as the CPU. Chip makers actually put two or more CPUs on one chip, but they call them Cores. If a CPU has 4 cores the operating system views this as 4 separate CPUs, and software people call them logical CPUs. Some CPUs use a technique called Hyperthreading where each CPU or core is able to run two or more separate threads of execution at the same time. Hyperthreading is not as powerful as adding more cores, but it is an economical way to run more than one process at a time. So if you have a chip like Intel's Core i7 or Xeon 5500, Intel calls this a Hyperthreaded 4-core CPU - but to Windows this looks like 8 separate CPUs. In fact if you open Windows Task Manager you will see 8 CPUs.

Now the system I am building is a Dual Xeon 5580, to Intel that means two CPUs, 8 cores, and 16 threads. To Windows that means 16 CPUs.

Saturday, May 23, 2009

Motherboard and Apple Pie...

Probably the most important part of any computer system is the motherboard, often called the mainboard in today's politically correct climate. The motherboard is like the skeleton in a body, it connects everything together - the CPUs, the memory, the expansion cards, the back-plate connectors, the internal connectors (i.e. disk, USB, firewire, fans, etc.).

Years ago I had my heart set on a dual-CPU AMD system, and Asus made pretty much the perfect motherboard for this. This was the basis of the AMD 4 x 4 I mentioned before. Performance with the Opteron CPUs of the day was pretty good for a 4 core system. Mind you this was no gamer system - most games in those days could not handle more than one core. Even today, most games cannot utilize more than 3 cores. But this system was targeted at the extreme enthusiast consumer. You could be ripping CDs, video editing, web surfing, playing a computer game, etc. - all at the same time. Also, the board has some great overclocking capabilities. Overclocking means running the CPU and other parts faster than factory specifications. So far the world record for overclocking is running an AMD Phemon II at 7.127 GHz - but that requires liquid helium or liquid nitrogen - and a lot of hassles.

Intel must have felt threatened or something, probably because AMD had the hearts and minds of most of the computer enthusiasts. Anyway, Intel released a motherboard called Skulltrail that was a dual-CPU enthusiast board. It was popular with a few people, but the board was sort of an abomination - Intel took parts from some of its server products, and threw them together (badly). It even ran faster than AMD's board - but will no elegance, and less performance than had they taken the time to do it properly.

About this time AMD's quad-core Phenom was out, but it's performance was much less than AMD had promoted. Intel had quad-core CPUs too, but they were the last gasp of a dying Front Side Bus (FSB) architecture. Finally, word was already out about Intel's Nehalem - almost an exact copy of the AMD architecture I respected so much. So I decided to wait.

Nehalem, or Core i7 parts started shipping in the last half of 2008, and while Nehalem was designed for dual and quad CPU systems, the Core i7 could not run dual-CPU. In the first half of 2009 Intel finally released the Xeon 5500 series - finally a Nehalem that could run dual-CPU.

There has long been rumored a Skulltrail II that would be a dual-CPU Nehalem enthusiast-class motherboard. It was even hoped that Intel might even do it properly this time. But we're in the deepest recession of our generation and there is even less incentive for Intel to come out with something so exotic for a niche market.

For weeks I checked the internet for dual-CPU Xeon 5500 motherboards. There were a lot of them out there, but nothing seemed to have the right combination of features I was looking for. Finally I stumbled on the Intel S5520SC workstation motherboard. This was probably the closest I was going to get to a Skulltrail II - and it's only real downside is that it does not support overclocking

S55520SC Features
  • Dual CPU Mother Board.
  • Extended ATX - larger than a standard motherboard but still fits in to a desktop case.
  • 12 memory slots, capable of holding 24 GB of RAM.
  • 2 16-lane PCI Express (v2) slots - for Crossfire dual-video cards.
  • 1 4-lane PCI Express slot (in an 8-lane connector) capable of handling a FusionIO SSD board.
  • ICH10 RAID controller
  • Extensible Firmware Interface - the successor to the ancient BIOS.
There are many other features, but these are the ones I care about most. It's not the perfect motherboard, but I'm not going to hold out hope that anyone, even Intel, will come out with a better one.

eHarmony.com...

Most of us choose consumer electronics the way we choose mates - we stumble upon something/someone - there are sparks - and we're hooked! How many of us actually write down a list of everything we want and then go out and shop for it? Whether or not you are in Futureshop or a singles bar we tend to act on impulse.

Years ago when I decided that I was going to spoil myself with the best computer system I could find I realized that here was a relationship I could create on my own terms - the relationship between me and my computer. I mean - how many of us just sit at the computers we have - at work - at home - and just curse and swear because out computer is too slow, doesn't do what we want, doesn't live up to our expectations, etc.

I mean with people you can't just go out and order - nice face, nice body, good conversationalist, good sense of humor, great in bed ;-) outgoing/adventurous, likes porn, happy/cheerful, great cook, loves to do dishes and housework, lets you control the TV remote, hates chick flicks, blah, blah, blah.

But --- with a computer you can get almost whatever you want on your own terms - you just have to think about it! Resist the temptation to drop by the nearest bordello (i.e. Futureshop) and pick up the the hottest turn-on of the moment.

I've thought long and hard about what I do with my computer, and realized I should really want what I do most:
  • Surf the web. Increasingly web pages are more complicated - have animation, sound, videos, scripts, etc. This all puts a toll on the computer. And each tab an window in your web browser does all these this - sometimes when you are not even looking at it. Sometimes my Firefox uses 50% or more of my CPU. Modern web browsers launch a new process for every tab/window you have open.
  • Download Media. If you have ever tried Vuze you will realize there is an increadible world of media out there to expore - mostly video - and I don't mean You Tube! The worst thing about rich media is waiting for it. Rich media puts a huge load on the computer - and waiting for it is bad.
  • Run Security Software. A sad fact of running Windows is that 99% of all malware is targeted at Windows. This requires sophisticated security software that is often worse than the problem it tries to address. Fortunately modern security software works well on systems with lots of threads/cores - so the more threads/cores you have the better.
  • Playing Games. I'm not a hard core gamer - but I do enjoy my game time. My first eye-opening experience was when the love of my life bought me a game for Christmas - and it wouldn't run on my computer. I solved that problem by going out and buying the best video card my computer could handle. Sadly even that video card can no longer keep up with modern games. I haven't played a computer game in almost two years now because my computer is too slow.
  • Second Life. If you don't know Second Life you can't know what I'm talking about. SL is a 3D virtual reality environment which puts just as much load on your computer as any modern computer game. Now in SL I'm also a Disc Jockey - which means I have to stream music and search for song requests on the network, in addition to running SL. This puts a huge load on your computer - not to mention the stupid security software always running in the background. Of course you often need to run a web browser at the same time to look up links you find in SL. Second Life taxes human capabilities of multi-tasking, and the environment of Second Life taxes the computer's capabilities of multi-taking.
  • Software Developer. I create software for a living and for a life's purpose. I spend a lot of time experimenting with work related stuff and personal diversions. I want a computer that can let me play with ideas with minimal constraints. NUMA, OpenCL, Concurrent Programming, tec., are all research pet projects of mine I would like to be able to enjoy my explorations at home - cause heaven knows my employer can afford to give me such stuff.
So what am I? I'm not a gamer, I'm not a surfer - I'm a hard core computer enthusiast with particular needs I want to satisfy, and I've taken the time to think about what I really want most and define them in a computer system I really want most.

If you were to go out and find a life partner the same way as finding a computer you might go somewhere like eHarmony and create a profile and wait for a match. But, you never know if someone else is completely truthful about their profile as you are (or not). At least with computer technology it's harder to lie about your profile, but you have to take more responsibility for what you choose.

When Inspirations Strikes...

Early on I became a big fan of AMD (Adanced Micro Devices) for a number of reasons: they were the underdog and Intel needs competition; for a long time they were way more innovative than Intel (and may still be); their computers ran faster than Intel's on less GHz (which was really cool); they were the golden child of overclocking (sort of like a hot rod car).

My first dream system was what AMD called the 4 x 4 - it was two dual-core CPUs (4 cores) and two dual-GPU graphics cards (4 GPUs). This was pretty much the maximum you could pack in a desktop box.

There were a lot of different things I wanted to do with this system - but mostly I wanted to build it because it could be built.

AMD were the first to have an Intel compatible NUMA architecture. That stands for Non-Uniform Memory Architecture. What it means is that each CPU had it's own bank of memory. This was dramatically different than Intel's conservative FSB (Front Side Bus) where each CPU had to fight the others for access to memory. In a nutshell this doubles the bits-per-second you could access memory. The hitch is that the Operating System needs to know how to schedule the work most efficiently amongst all the CPUs, but newer operating systems, like Windows 7, are getting better at that. I have no direct experience with NUMA systems and I wanted to get some more experience which was my biggest inspiration. Note: to create a NUMA system you need at least two separate CPUs - which is why I plan to call my new computer system Gemini.

AMD invented HyperTransport. This is basically how the CPUs talk to each other and to the other devices like disk, network, etc. In Intel's FSB each CPU had to share the FSB with all the other CPUs, the memory, and all the devices. Basically the FSB becomes a bottle neck for transmitting data - sort of like the weakest chain in the link - or like when there is only one cashier on duty at the bank. With HyperTransport each CPU has it's own dedicated path to every other CPU and to the other devices.

AMD developed a brand new CPU called the Phenom - it was 4 cores on one chip - or a quad-processor. Intel had quad-processors too, but they did this by sticking two separate dual-core chips together. Less elegant, but it worked. Unfortunately for some reason AMD's new star-child, the Phenom, did not perform as well as Intel's quad-cores - mostly because Intel had better 45nm chip technology, whereas AMD were still using 90 nm.

For many years AMD had faster processors than Intel, that cost less money to buy. At first this didn't affect Intel because people just bought Intel because of the brand recognition - sort of like why people buy PCs rather than Macs. Eventually enough businesses clued into the fact they could save more money and get more work done using AMD processors, and AMD's market share began to increase - especially in the server market. To add insult to injury everyone just knew AMD just had better more innovative technology than Intel.

For a while Intel also had an advantage because they offered many computer manufacturers deep discounts if they didn't use or delayed using AMD parts. Consequently AMD is suing Intel successfully for breaking anti-competition laws.

Now Intel are no dummies and they are 10 times larger than AMD - their pride was seriously hurt. Intel used its substantial resources to create a completely new computer architecture - well new for Intel. Actually what they did was copy most of the design of AMD's technology, but they were able to do a better job of it. The result is called the Nehalem - or Core i7 which is still faster than AMD's second generation Phenom - or Phenom II.

While I still root mostly for AMD, I'm as selfish as the next person, so I waited until Intel finally had what I wanted - the AMD Phenom architecture - only faster. Recently Intel have finally released the Xeon 5500 series of computers - which lets you run dual-CPUs, utilize NUMA, and otherwise create a two-CPU computer that I was dreaming of.

AMD have unquestionably proved that competition helps the consumer - because if it wasn't for AMD Intel would still be making the same mediocre computers they did years ago.

So my bottom line inspiration for Gemini is that it has to have two CPUs.

In the Beginning...


I've been programming computers since I was 12 years old, back in 1970, so I've been at it a long time. Most of that time I wasn't really big on hardware, I knew how the technology worked and all the theory, but I wasn't really a nuts and bolts hands-on type.

For much of my life people always ask me computer questions, but it was embarrassing how little I knew about hardware, PC hardware details in particular. About 5 years ago I decided I was going to make it a hobby to learn as much as I could about personal computer hardware - how everything went together and what it all means. It has been a satisfying hobby as there is so much easily accessible information on the internet.

My current computer is about 7 or 8 years old now - a Sony PCV-RX660 - and it's barely able to keep up with today's software because everything is designed now for much more powerful computers. About 3 years ago I decided I wanted to have my next computer custom made rather than buying something off the shelf. One of the interesting things about personal computers now is that there are multifarious options to custom designing and building a system. This would be the next phase of my hobby, and I had promised myself that on my 50th birthday I would splurge and get myself the best system I could think of. Well that ship has sailed, but I am getting close to getting what I want, so I thought I would create this blog to document the process I've been through and how everything turns out.