My new, humble computer based on Intel's Atom CPU was a great little project at a low cost. It benchmarked at about half the performance of my older Athlon XP 2000+ on a per-thread basis, and it provided two hyperthread "processors" for Linux to use. All for about $64 for the board and CPU. (And it is 64-bit capable, but the value of a 64-bit OS is unclear in such a small system.)
Then, for larks, I set it up to run as a member of my World Community Grid effort. That had it running two threads for 24 hours a day. This was somewhat pointless, given that the new Intel Core i7 system is so much more powerful*, but it did manage to churn out some work-units for the Cause.
All was well for about 4 days. Then ping!, the Atom froze. I could reboot into BIOS sometimes, but couldn't load Linux or even memtest86+. An actual hardware failure -- I haven't seen many of these in recent years.
Over a period of days, I got more acquainted with my UPS driver, as I tried substituting various parts. Suspecting the hard drive or CD/DVD drive (old IDE technology). Tried a substitute 1 GB DDR2 RAM. No help.
So the fault was either in the Intel D945GCLF motherboard or the power supply. The motherboard has about 10 million times more transistors, so that seemed the likely culprit.
Using Amazon.com's amazingly efficient returns/exchange process, I had a new mobo in quick order, and all now seems well.
Do I dare run the WCG application any more?
As to ham radio, this system is my logging and digital modes computer for AA6E. We were dead in the water. I could have fallen back to my mic or key and used paper logging, but I wasn't quite that desperate!
--
* Both in absolute (45,232 MIPS vs 3,060 MIPS) and in power-specific terms (302 MIPS/W vs 64 MIPS/W).
Friday, August 21, 2009
Thursday, August 13, 2009
Comparative Blogging
I thought I'd try setting up a blog using the new WordPress facility at the famous Open Source Software facility - SourceForge.net. So far, the format is a little disappointing. What do you think?
Update 8/21/09: I see that the SourceForge.net blog (above) now sports a reasonable (if unimaginative) blueish skin. SF has now provided us with two (count them, two) themes!
Update 8/21/09: I see that the SourceForge.net blog (above) now sports a reasonable (if unimaginative) blueish skin. SF has now provided us with two (count them, two) themes!
Tuesday, August 11, 2009
Grid Progress
The big application for Gimli (Intel Core i7 system, described earlier) has been participation in the World Community Grid, which is an IBM-sponsored project for channeling volunteer computer systems into a "grid" that can apply supercomputer-level power to selected scientific problems, mostly in life sciences. WCG uses the BOINC framework from UC Berkeley. There are many other grid projects using BOINC, and that's where most of the physical sciences and math projects seem to be. (And where my sympathies really lie. I may have to jump off the WCG ship eventually.)My desktop system is "competing" against zillions of computers (1,328,064 "devices" under control of 468,410 "members"). On the one hand, many members have tried the project but have not actively contributed. On the other, many of the members command fleets of computers in academic or industrial settings, and are able to direct much of their otherwise wasted CPU cycles to the WCG.
In my case, my one computer, running 8 parallel threads, delivers about 8 days of "computing" for every calendar day. My rank in the WCG project is improving on a daily basis. About 30,000 members have provided more processing power (over the lifetime of the project) than Gimli has in about 6 weeks. We'll never be #1, but we should be able to climb the ladder for some time to come.
Remarkably, Gimli is able to run 8 CPU-bound jobs around the clock (at low "niced" priority) without significantly affecting interactive work - - browsing, email, office applications, etc. Only in a few cases is there a noticeable slowdown, e.g., firing up a large VMware image to run Windows XP.
Readers of this blog may ask what all this has to do with Amateur Radio - our raison d'ĂȘtre. That's a good one. I am looking for ham applications that can profit from high-power desktop computing. You might think that Software Defined Radio would be one, but the SDR work I know of really works well in smaller-scale systems. Digital video would be a candidate. Do you have suggestions?
Friday, August 07, 2009
Gimli Perfected
If you read my earlier post, we left this new Gimli system (Intel Core i7 920) on the edge in terms of operating temperatures and cooling. We experimented with ducting and undervolting and got almost to the point of running at an acceptable temperature at full CPU load. Almost, but not quite.
The problem was Intel's default stock chip cooler system, which is marginal if you want to run full out for an extended period. Marginal, at least, if you don't implement their recommended side ducting system.
I wanted to get this problem solved so that I will not have to watch my operating temperatures so closely while running BOINC or other intensive applications. After some research, I ordered the Cooler Master V8, a large heat pipe / radiator / fan system that fills up my computer case very nicely. (Leaving a little room, but not much, for hooking up the wiring afterward. This kind of assembly is not for everyone.)
The following photo gives an idea of the scale and airflow. The flow from the cooler's embedded fan conveniently goes directly to the case's rear exhaust fan.
The bulk of the radiator system really does take up nearly all the volume above the CPU, but fortunately there were no mechanical interferences on my Gigabyte EX58-UD4P motherboard or RAM. The whole thing just fits in the Antec case without trouble. It does weigh almost 900 g (about 2 pounds). While the motherboard mounting seems fairly secure, I am sure that my computer will not fare too well if dropped on a concrete floor.
Results
The quick before and after comparison, with my undervolted i7 (Vcore=1.01250 V):
Temperatures are (Tgpu, Tcore, Tamb, Tchip in deg. C)
8 threads of BOINC code (Proteome Folding Project)
The final (chip) number is the best one to focus on. An improvement of 30C is a lot more than I had expected, but I will accept it! This is all with the cooler fan running at 1767 rpm. It will run up to about 1970 rpm, but that noticeably adds to the noise level. The higher speed does not lower the operating temperature by much. We might need to speed up the case's exhaust fan if we care about cooling more than noise. (I don't!)
I should emphasize that "normal" interactive computer operations would be much less than the 100% load we are discussing here, so that even the stock Intel cooler would be fine. On the other hand, if you are spending the money for the i7 system, why wouldn't you want to run it full blast?
According to my (perplexed) intuition, having read much of the Intel literature, it should be fine to run at a chip temperature of 60 C, at least. So there is a lot of headroom to explore overclocking with higher core voltages.
The problem was Intel's default stock chip cooler system, which is marginal if you want to run full out for an extended period. Marginal, at least, if you don't implement their recommended side ducting system.
I wanted to get this problem solved so that I will not have to watch my operating temperatures so closely while running BOINC or other intensive applications. After some research, I ordered the Cooler Master V8, a large heat pipe / radiator / fan system that fills up my computer case very nicely. (Leaving a little room, but not much, for hooking up the wiring afterward. This kind of assembly is not for everyone.)
The following photo gives an idea of the scale and airflow. The flow from the cooler's embedded fan conveniently goes directly to the case's rear exhaust fan.
The bulk of the radiator system really does take up nearly all the volume above the CPU, but fortunately there were no mechanical interferences on my Gigabyte EX58-UD4P motherboard or RAM. The whole thing just fits in the Antec case without trouble. It does weigh almost 900 g (about 2 pounds). While the motherboard mounting seems fairly secure, I am sure that my computer will not fare too well if dropped on a concrete floor.Results
The quick before and after comparison, with my undervolted i7 (Vcore=1.01250 V):
Temperatures are (Tgpu, Tcore, Tamb, Tchip in deg. C)
8 threads of BOINC code (Proteome Folding Project)
Before: 48, 80, 39, 75
After: 45, 52, 36, 45
The final (chip) number is the best one to focus on. An improvement of 30C is a lot more than I had expected, but I will accept it! This is all with the cooler fan running at 1767 rpm. It will run up to about 1970 rpm, but that noticeably adds to the noise level. The higher speed does not lower the operating temperature by much. We might need to speed up the case's exhaust fan if we care about cooling more than noise. (I don't!)
I should emphasize that "normal" interactive computer operations would be much less than the 100% load we are discussing here, so that even the stock Intel cooler would be fine. On the other hand, if you are spending the money for the i7 system, why wouldn't you want to run it full blast?
According to my (perplexed) intuition, having read much of the Intel literature, it should be fine to run at a chip temperature of 60 C, at least. So there is a lot of headroom to explore overclocking with higher core voltages.
Sunday, August 02, 2009
New Atom System
The latest computer system to come to life here at AA6E is based on the Intel Atom 230 processor. The Atom (out for a year now) uses the latest 45 nm fab technology for a chip that is optimized for low power consumption, but it supports either 32- or 64-bit operating systems and hyperthreading, giving the appearance of a dual-core system to the OS.
I bought the Intel D945GCLF board, which has the mini-ITX format -- it's really small compared to my other ATX and mini-ATX systems.
The board mounts nicely in a spare Mini-ATX computer case, with all kinds of room to spare. I attached an older 20 GB hard drive and DVD to the legacy IDE port. Eventually, I may repackage the system into a smaller case, with more modern IO devices. But one of the nice features of the motherboard is its support for ancient interfaces -- Serial, Parallel, PS/2 Mouse, keyboard, and IDE, along with newer SATA, USB, etc.
The focus for me was low power consumption and low out-of-pocket cost. The CPU is supposed to require only 4 W and the basic board was $64 at Amazon, including CPU but no RAM. The major glitch building the system was that my numerous old PC power supplies did not supply the ATX12V connector (the 4 pin 12 V CPU power connector) or any SATA-style connectors. So, while I might have been able to wire up some connectors to use with an older supply, I sprang for a new unit. Selecting one was not as easy as it might have been. The power demand is minimal (under 100 W), but if you want "quality" (efficiency, power factor, noise filtering), those features are promoted for larger supplies. I ended up with a 500 W, $35 unit.
Performance
A thorough review of an Atom 230 system is available at Tom's Hardware. I did some testing that is more specific to my environment, comparing it with other systems here.
A favorite benchmark, which works with multi-threaded systems, is to "make" the hamlib system from source. (I am a Hamlib developer.) The make "-j" switch lets you specify how many parallel threads to divide the workload into. This is a useful test for some kinds of programming work, but it is hardly representative of all possible applications.
Pentium III 800 MHz
(This is the one that the new Atom system will replace.)
Athlon XP 2000+
Core i7 920 (See prior article here and here.)
Atom 230
Conclusion
The Atom-based system works very nicely for my application: running all my ham radio operations - digital modes (fldigi), logging (xlog), transceiver control, etc. The system has a responsive "feel" under Ubuntu that is equal to anything I was using before my Core i7 system came along. The low operating power and silent operation are pluses, and the small board size would be handy if I put it into a smaller case. Cheap is good, too.
Update:
BOINC benchmarks, Atom 230 (40 W)
612 floating point MIPS (Whetstone) per CPU
1530 integer MIPS (Dhrystone) per CPU
BOINC benchmarks, i7 920 (150 W)
2450 floating point MIPS (Whetstone) per CPU
5654 integer MIPS (Dhrystone) per CPU
Since the i7 920 has 8 "processors" (4 cores) and the Atom 230 has 2 "processors" (1 core), the i7 is much better in CPU MIPS per Watt.
I bought the Intel D945GCLF board, which has the mini-ITX format -- it's really small compared to my other ATX and mini-ATX systems.
Intel D945GCLF Motherboard and Atom 230 Processor
The board mounts nicely in a spare Mini-ATX computer case, with all kinds of room to spare. I attached an older 20 GB hard drive and DVD to the legacy IDE port. Eventually, I may repackage the system into a smaller case, with more modern IO devices. But one of the nice features of the motherboard is its support for ancient interfaces -- Serial, Parallel, PS/2 Mouse, keyboard, and IDE, along with newer SATA, USB, etc.
The focus for me was low power consumption and low out-of-pocket cost. The CPU is supposed to require only 4 W and the basic board was $64 at Amazon, including CPU but no RAM. The major glitch building the system was that my numerous old PC power supplies did not supply the ATX12V connector (the 4 pin 12 V CPU power connector) or any SATA-style connectors. So, while I might have been able to wire up some connectors to use with an older supply, I sprang for a new unit. Selecting one was not as easy as it might have been. The power demand is minimal (under 100 W), but if you want "quality" (efficiency, power factor, noise filtering), those features are promoted for larger supplies. I ended up with a 500 W, $35 unit.
Performance
A thorough review of an Atom 230 system is available at Tom's Hardware. I did some testing that is more specific to my environment, comparing it with other systems here.
A favorite benchmark, which works with multi-threaded systems, is to "make" the hamlib system from source. (I am a Hamlib developer.) The make "-j" switch lets you specify how many parallel threads to divide the workload into. This is a useful test for some kinds of programming work, but it is hardly representative of all possible applications.
Pentium III 800 MHz
(This is the one that the new Atom system will replace.)
- Idle power: 112 W (AC at wall plug)
- Make (single thread) : 483 sec.
Athlon XP 2000+
- Make (single): 239 sec
Core i7 920 (See prior article here and here.)
- Idle power: 100 W
- Full CPU load: 150 W
- Make (-j 1): 41.8 sec
- Make (-j 8): 17.3 sec
- Make (-j inf.): 16.1 sec
Atom 230
- Idle power: 40 W
- Make (-j 1): 276 sec
- Make (-j 2): 229 sec (showing improvement by hyperthreading)
- Make (-j inf.): requires excessive virtual memory, never completes
Conclusion
The Atom-based system works very nicely for my application: running all my ham radio operations - digital modes (fldigi), logging (xlog), transceiver control, etc. The system has a responsive "feel" under Ubuntu that is equal to anything I was using before my Core i7 system came along. The low operating power and silent operation are pluses, and the small board size would be handy if I put it into a smaller case. Cheap is good, too.
Update:
BOINC benchmarks, Atom 230 (40 W)
612 floating point MIPS (Whetstone) per CPU
1530 integer MIPS (Dhrystone) per CPU
BOINC benchmarks, i7 920 (150 W)
2450 floating point MIPS (Whetstone) per CPU
5654 integer MIPS (Dhrystone) per CPU
Since the i7 920 has 8 "processors" (4 cores) and the Atom 230 has 2 "processors" (1 core), the i7 is much better in CPU MIPS per Watt.
KY Amateur Radio in the NY Times
In Kentucky, Officials See Ham Radio as a Backup
Full article...
Thursday, July 09, 2009
Bing!

Try Bing.com, the new Microsoft search site, on "ham radio". Interesting results, especially the videos at the bottom.
http://www.bing.com/search?q=ham+radio
Saturday, July 04, 2009
Cooling, Undervolting, and Greening Gimli
So here's the best answer so far. I don't want to make an unsightly hole in my computer case's side wall (see prior post), but I need to get air flow under control for best cooling my Core i7 920 chip. The solution is to use some 4-inch plastic air hose with wire reinforcing to direct supply air from one of the two front air inlet fans (lower right on photo) to the CPU cooler fan. This minimizes the "blow back" of hot air from the CPU cooler outlet to the cooler inlet. This solution still works well when the case is buttoned up. We don't have to worry about the acoustic and radio frequency noise that would leak out through any new holes.The hose is available at hardware stores for clothes dryer connections.
So, the airflow and CPU cooling is about as good as it is going to get without moving to a more exotic chip cooler scheme. The next step toward controlling operating temperature is to minimize CPU power consumption. My philosophy is to keep the specified CPU performance (i.e., clock rate), but to reduce operating voltage to a safe minimum. This is called "undervolting".
(Many computer tinkerers want to get the highest performance possible from their chips, e.g., by "overclocking". This generally requires operating at higher voltage which in turn means more power dissipation, bigger and noisier cooling systems, etc.)
I devised a simple Python program that loads all 8 "processors" (4 cores x 2 hyperthreads/core) for a specific interval and measures the temperature rise. This is a good test of the cooling system and the power level of the CPU (as a function of core Voltage, clock rate, etc.) It is not meant to be a typical application program, just a source of heat. (Actually, it is such a trivial program -- a tight loop -- that it causes more power drain than typical real programs.)
The standard CPU core Voltage (Vcore) is 1.29375 V. Our Gigabyte GA-EX58-UD4P motherboard provides great flexibility in selecting all kinds of CPU parameters, but I am mainly varying Vcore. Running the test program, I observe a final case temperature (Tc) of 65 C and mean junction temperature (Tj) of 75 C. The AC supply power is about 204 W under load, and 98 W at idle.
I tried successively lower Vcore settings. At Vcore = 0.91250 V, the computer would begin the BIOS display at boot, but would fail before it completed. At Vcore = 0.95000 V, it booted partly into Linux, but it failed before getting to the Ubuntu login. At Vcore = 0.97500 V, we had a successful boot. The supply power was 150 W under load, 97 W at idle. Final temperature was Tc = 53 C, Tj = 57 C.
It is not clear how stable the system would be at 0.975 V under all conditions (room temperature, computing loads, etc.), so I raised the voltage a couple of steps to Vc = 1.01250 V. At this voltage, we ended with Tc = 53 C and Tj = 58 C. AC power under load was 155 W; at idle, 97 W.
From Intel's data, it is not clear what the ultimate "safe" operating temperature of the i7 920 chip is. As we said earlier, it comes down to a subjective judgement about how much stress is acceptable. Less is always better from the standpoint of system stability and longevity. Some of Intel's charts suggest that Tc = 68 C is an acceptable maximum. In that case, our operating maximum of 53 C should be fine. (Note that we must allow for ambient temperature changes. Our measurements here are at Tamb ~ 20 C, but our ambient could rise to ~ 30 C on a hot day.)
For now, the engineering is "done", and we can go back to BOINC running all day without fear. We have also trimmed about 25% from our power bill.
Subscribe to:
Posts (Atom)
