Introduction

The GPU (Graphics Processing Unit) is now the preferred computing tool for a host of applications ranging from engineering and medical applications, to oil and gas exploration, 3D games and even hacking passwords using brute force.  Even if you have only a modest desktop or notebook computer you may find that you’re already equipped with a capable GPU. With the right software and/or some serious programming skills you can take advantage of it to do certain types of calculations quicker than they can be done on even the fastest available CPUs. In the future, as GPU technology and the associated software tools improve, you will likely see GPUs take on more and more of the computing tasks normally associated with CPU technology.

In a previous post I made mention of the fact that I rely heavily on GPUs to perform the trillions of floating point calculations required in my antenna simulation and design work.  In the world of Computational ElectroMagnetics (CEM) you can always use more computing power. As a result, I’ve spent considerable time over the last few months configuring a new GPU workstation to bring all the compute power I could reasonably afford to bear on some really challenging problems.

The goal of this post is to relay some the things I’ve learned in this process in the hope that it will save some of you time and money should you try to build your own GPU workstation.

Software Requirements

If you’re looking to build a GPU workstation your first consideration should be the requirements of the software you’re going to be using. In my case, I’m already heavily invested in the Remcom X-FDTD simulator. This program implements a Finite-Difference-Time-Domain (FDTD) solution to the Maxwell equations and is capable of providing accurate answers to very complicated electromagnetic problems. Originally developed for the X-windows system, X-FDTD now runs on Windows, Mac and Linux computers. Interestingly, the company recommends Linux as the best platform for taking advantage of GPU acceleration. For that and other reasons, my operating system of choice is Ubuntu Linux.

CEM software of this sort is very expensive to develop and the number of users is relatively few so it isn’t the kind of thing you’ll find shrink wrapped at Best Buy or sale at Amazon. Indeed, Remcom, like most other companies in this niche market, goes to great lengths to make sure that their software is not pirated. That means that license management software and yearly support fees are a fact of life as is the notion that you have to pay extra to enable certain advanced features in the software.

Case in point, I have a license of the “Pro” level X-FDTD software. The base license allows the solver to be operated in multiple threads on multi-core and multi-CPU architectures. It also allows the use of a single nVidia CUDA capable GPU to accelerate certain portions of the algorithms. If you have more than one GPU in your computer you have to buy extra license “tokens” to enable the software to use the added GPUs. GPU tokens cost on the order of $5,000 each so the software investment quickly exceeds any hardware costs.

At this time, X-FDTD only works with nVidia CUDA capable cards. This means that no matter how good an AMD Radeon might be it has no value with this software. My discussion is therefore limited to nVidia GPUs.

Consumer versus Pro Grade GPUs

You probably already know about the nVidia’s GeForce consumer grade graphics cards. They are great for gaming and home/office needs, but if you look under the hood you will find that they are not suitable for engineering simulation work. If you’re going to build a machine capable of solving real world CEM problems you will need a card that can run full throttle for days or even weeks at time. To handle loads like that you’re going to be looking at high dollar Quadro and Tesla cards. Only these models offer the reliability you need to push simulations through 24/7 month after month.

CEM problems also need a lot of RAM. The Quadro and Tesla have between 3 and 6 GB of ECC (Error-correcting code) memory. GeForce cards however usually offer only about 1 GB and ECC is not an option. Tesla and Quadro cards also offer substantially better double precision throughput than the comparable GeForce models. Double precision and ECC is critical in engineering but is of no consequence in a 3D game. As a result, the GeForce cards are substantially cheaper.

Just to clarify, the Quadro and Tesla cards generally share the same architectures but the Quadro cards are enhanced with additional rendering capabilities and video output options. The Quadro cards are aimed at visualization for CAD and imaging while Tesla cards are aimed at pure number smashing. Depending on model, Tesla cards have minimal or no graphics outputs. Tesla cards are thus less expensive than their Quadro cousins.

The first GPU that I purchased with the intent of doing simulation work was the Quadro FX 5800. This card has 240 CUDA cores and 4 GB of DDR RAM. This card generally gives me a 10x to 50x speed up on X-FDTD calculations as compared to a dual quad-core Xeon machine running at 2.5 GHz. This is a tremendous improvement and makes the added investment in GPUs and license tokens a good investment.

To be able to take on larger problems I later purchased a Tesla C2070 card. These cards have 440 CUDA cores, 6 GB of DDR5 RAM and is a single DVI video output port. Due to limitations of my existing workstation and licensing I could only use either the Quadro or the Tesla but not both at the same time and in the same machine. The possibility of combining them to do even bigger problems lead me to investigate building a new GPU workstation and purchasing more license tokens and GPUs.

CPU Requirements

One of the first things most people think about when buying or building a new computer is the CPU. In the case of a GPU workstation however I have found that the CPU is a secondary consideration since the majority of the calculations are done on the GPU. I tested this assertion by running X-FDTD benchmarks with the Quadro FX5800 card in the above mentioned Xeon based workstation and again on a system with a low-end 2.1 GHz AMD Phenom X4 (quad-core) CPU. I discovered that run times were nearly identical. This suggested to me that each CPU was providing enough power to fully use the Quadro GPU. Extra cores did not impact simulations but offered a noticeable improvement in responsiveness when simulations were actually being run.

Given this data I decided that money was better spent on license tokens and additional GPUs rather than high end Intel Xeon CPUs. I determined that the best course of action was to build a system around one of the relatively cheap AMD Phenom X6 CPUs.

Motherboard Selection Criteria

ECC Memory

There are several factors that I considered important when looking for a motherboard. One of the biggest was the need to have ECC memory support. While consumers and gamers never consider ECC to be an issue, I feel it’s important to have some control on the inevitable memory errors that will occur during lengthy engineering simulations. Most consumer grade motherboards don’t offer ECC support for either the Intel or AMD processors. Intel’s i series processors (e.g. i5 and i7) do NOT support ECC period. If you want ECC and Intel you must be in the Xeon camp with a server grade motherboard. Strike 2 for Intel. AMD chips supports ECC provided the motherboard has the required chips.

nVidia Support

Since AMD acquired ATI the number of AMD motherboard offerings that support nVidia has decreased substantially. My research suggests that there may be a renaissance of AMD/nVidia boards offerings to coincide with the release of the new AMD FX “Bulldozer” based chips from AMD.  At the time I was working on this I found several AMD based motherboards that supported nVidia boards and provided ECC memory support.

PCIe Slot Configuration – physical size, speed and spacing

All of the nVidia Tesla or Quadro cards require what is known as a PCI Express (PCIe X16 slot). The X16 denotes the physical size of the connector. Most modern motherboards offer at least one of X16 slot so a single GPU workstation is usually no problem.

Note that there are different revisions of the PCIe slot. The Quadro and Tesla cards are backward compatible with version 1.0 PCIe slots but will work best in version 2.0 slots.

You will discover that motherboards with more than one PCIe X16 slot will have some slots run faster than others depending on what is plugged into them. How this will effect total run time will depend on the software you are using. I have done some informal testing with Quadro and Tesla cards and the X-FDTD simulator. It appears that there is little difference between using a slot running at 8X speed (known as 8 lanes) as compared to one running at X16 speed (16 lanes). I believe that is due to the fact that the simulator essentially pushes the problem onto the GPU and keeps it there until the iterations are done. If you are using software that needs to keep pushing data into our out of the GPU then there may be a bigger effect.

In my case, I knew I needed to have support for at least two GPUs and preferably 3 or more so I had to dig through motherboard manuals to see what configurations were supported. For example, a motherboard may have 3 slots. Slots 1 and 2 may run at up to X16 if used singly or together. If you plug something into slot 3 however the speeds of slot 2 and 3 will throttle back to say X8. If the motherboard has four slots and you added a fourth card you may see the speed in all slots drop to X8. Ultimately, you will want to find a motherboard that offers the highest total throughput to the PCIe slots subject to the other considerations I discuss here.

Besides speed, you will also need to consider the spacing and arrangement of the various slots. The Quadro and Tesla cards are double width cards so you will have to be careful in assessing which slots can be used with a full complement of GPUs in the system. You can easily find that a needed PCI slot will be buried by a double width GPU in an adjacent slot or that the fourth PCIe slot is disabled once you’ve got cards in the previous 3 slots. Read the manuals carefully and plan accordingly!

Power Supply Considerations

High end GPUs suck power like crazy. The Quadro FX 5800 pulls some 185 Watts under full load. The Tesla C2070s are around 235 Watts. Throw three or four of these in a box along with a 6 or 8 core CPU, a bundle of RAM chips and a few disk drives and you’re going to be looking at power supplies in the Kilowatt range. To be sure of what you’re doing here I recommend using an online power supply calculator to be sure that you’ve got enough capacity. When in doubt get a bigger one!

When looking at power supplies you will see some that are listed as modular supplies. This means that you can add cables as needed between the power supply and the various components (e.g. motherboard, GPU, disk drives, etc.) in the system. Non-modular supplies have all or most of the cables hard soldered to the boards inside the power supply housing. In principle the soldered non-modular connections should be more reliable. The trouble is that the wires are all bundled and it’s much harder to wire up the system neatly. As a result, I prefer power supplies with modular wiring. Just be sure to double-check your wires to make sure they are well seated in the connectors and you should be fine.

Case and Cooling

Given the amount of heat generated by a GPU workstation you will want to think carefully when choosing a case. My suggestion is to err on the side of BIG! A big case will give room for big video cards and all the associated wiring while allowing for good air flow. It will also allow you to make full use of all available slots on your motherboard. I made a mistake the first time in choosing a moderate sized tower case only to discover that I couldn’t use a double width video card in the bottom edge PCIe slot due to conflict with the power supply location. I eventually got a larger case that had more slots and space between the lower PCIe slot and the top of the power supply that allowed the double width card to fit. The larger case also had wheels which I found quite handy when needing to move the machine with my sometimes creaky back.

Hard Drive

The slowest part of a GPU workstation is going to be the disk subsystem. I already had a nice RAID based file server so I did not feel the need to duplicate that functionality within the GPU workstation. Instead I opted for a modest sized Solid State Drive (SSD) that was just large enough to hold the OS, the simulator software and a modest number of good-sized simulation runs. I added a cheap SATA Terabyte Hard Drive to hold archived data locally so I didn’t have to go out over the network every time I need to pull up some older files. I believe this cost-effective approach of getting both size and speed makes good sense for the majority of people.

Over the last year I have tried out several different models of SSD. I had nothing but troubles with the OCZ Vertex and Kingston models that are based on the SandForce controllers so I decided to try out some of the SSDs from  Intel. I settled on a 510 Series for the GPU workstation since it operated at the full 6 GB/s SATA speed. I also purchased some of the 320 Series for my older desktop computers and found them to be very fast. So far I believe the Intel SSDs offer the best combination of speed, reliability and compatibility.

The Build

  • Asus Sabertooth 990FX Motherboard
    • Phenom II X6 and FX “Bulldozer” CPU support
    • 4 PCIe X16 slots in X16, X8, X8, X4 maximum configuration
    • Specs say it can accept up to 32 GB ECC RAM. To date I have been unable to use more than 16 GB. Thus far that has been enough for my needs but I keep checking the Asus website for a BIOS update to enable the higher density RAMs.
  • Two each of 8 GB Kingston ValueRAM DDR3 1333 MHz Server Memory Kits
  • AMD Phenom X6 1055T 6-core CPU
    • The link above is for the 125 Watt model. I could not find a link to the 95 Watt model I used on Amazon.
  • 120 GB Intel 510 Series SSD
  • 1 TB Western Digital SATA HD
  • Dual nVidia Tesla C2070 GPU
    • The C2070 has been replaced by the C2075 but I believe they are functionally very nearly the same GPU.
  • nVidia Quadro FX5800 GPU
    • The FX5800 is an older architecture but it is still remarkably fast. If you want a new card get the Quadro 6000 to take advantage of even more memory and higher speeds.
  •  Cooler Master HAF X nVidia Edition Case
    • The nVidia Edition of HAF X has the nVidia green motif with matching green LED fans. I could not find a link to that one on Amazon so the above link points to the standard HAF X case.
    • HAF X will accept the largest motherboards made today and has extra slots beyond the ATX standard to enable you to make full use of all motherboard slots with double width cards.
    • It uses large fans that are remarkably quiet. You will find that the GPU fans however are quite noisy when heavily loaded so that will set the threshold for noise and not the case fans.
  • Corsair 1200 Watt Gold Professional Series Modular Power Supply
    • I don’t think you will find a finer power supply for the money.

Performance and Usage Notes

Scaling

So far the system has performed well but I am still learning how to use it optimally. It seems that throughput varies depending on the simulation configuration – primarily memory requirements – and the type of outputs requested. If a job fits within the RAM of one GPU then I have found it slightly  more efficient to allow one GPU per simulation. I believe this is because splitting a job between GPUs inherently requires more traffic across the PCIe bus. If I have a very large job that requires two or more GPUs however the software manages that well with a near linear scaling in speed.

Tesla Temperature Concerns

I highly recommend that you use some temperature monitoring software / widgets to keep an eye on your GPUs; especially when you first get the system running to make sure that you don’t have an over heating situation. I was greatly concerned to see temperatures on the Tesla GPUs hover at around 80C during idle and approaching 90C on load. These temperatures are higher than I had experienced with the Quadro series and left me doing a lot of tests with various fan configurations in an attempt to lower them. Ultimately, I determined that high temperatures are normal for the Tesla cards. If you are concerned you can manually override the fan settings (see here) but I think you’re about as well off leaving that at default to enjoy the quieter workstation.

BIOS and Primary Display Concerns

I discovered that even though a system may have 3 different video cards installed that there is no way to select which one should be used for the primary display in BIOS. This means that the card in the first slot is always assumed to be the one connected to the monitor and displayed at POST.  This kind of thing may be a consideration if you are using Tesla cards without a video output or if you wanted a particular card to be in a particular slot while using a different card for video display due to slot speed or card spacing issues.

Summary

Above I have outlined some of the many of the factors you will need to consider when building a GPU workstation. My build was aimed at solely at getting good throughput with the Remcom X-FDTD EM solver. Your needs may vary depending on what software you intend to use.

Alternative Route

If you already have a capable desktop computer or workstation with at least one PCIe X16 Version 2.0 slot you may want to consider the option of adding multiple GPUs using the Cubix GPU-Expander approach.  The models shown here offer a housing, backplane, power supply and connecting cables so that you can add up to four GPUs to an existing computer. I have not had my hands on these but it seems like a nice option. I went the route of building the dedicated GPU workstation because all of my existing machines were old and did not have the required slot.

 

 

 

Tagged with:
 

A friend sent me a link to a video that describes how you may be putting you and your kids at risk by taking photos using a smart phone. As you probably know most smart phones have a GPS (Global Positioning System) receiver to track the phone’s location. This can be very helpful if you’re lost and need a map to find your way around an unfamiliar town. It also allows the phone to give you location-based services such as directions to things like hotels, restaurants and nearby businesses.

The downside to GPS is that if others get access to your phone along with its location data they can use that information against you. In particular, the GPS coördinates of the phone are often automatically embedded in the metadata of photos you take. This can be a good thing if you need to know exactly where a photo was taken. It can be a potentially bad thing if you are reposting your photos on social networking sites such as Facebook or Twitter. The main worry here is that photos you take of your children or other sensitive subjects can then automatically be mapped with very high accuracy by anyone with access to the photo. Indeed, the video linked below shows how the photos of one woman’s child could be used to map the child’s bedroom, school, day care and even the area of the local park where she played. I’m sure most parents would agree that this isn’t information you’d want posted on-line.

My suggestion is to turn off GPS services entirely unless you suddenly find that you need directions in which case you can turn them back on. I also suggest that you review the photos you’ve already posted on-line and make sure that they are free of embedded GPS information. Tools to remove this information are available on the web. I hope to take up that subject in a future post. For now however, take a look at the video and pass the information along to your family and friends. You can view the video here:

http://www.youtube.com/watch?v=N2vARzvWxwY

Tagged with:
 

This week I helped a friend make the jump from Windows Vista to Ubuntu Linux. She had been battling one issue after another on her 5-year-old Gateway notebook computer since nearly the day she got it. Despite the problems the machine was generally in good shape. It had 2 GB of RAM and a dual core Intel CPU running at 1.6 GHz so it should have been enough to meet her needs of e-mail, web surfing, photos and document editing. As near a I could discern the biggest problem with the machine was that it simply wasn’t powerful enough to run the Windows Vista OS that came with it when she bought it. Since she wasn’t ready to plunk down for a whole new computer she expressed interest in having me help her make the switch to Linux.

My first step was to clone the existing internal drive to an external USB hard drive using PartedMagic. After that I checked the SMART data on the internal 160 GB Western Digital Scorpio hard drive and saw that it was having some sector problems. This is not unusual on an older drive but also a sign that it’s time to start thinking of a replacement. I recommended that she replace it with a new drive before installing Linux. Because she did not have a tremendous amount of data I recommended that she consider switching to a SSD (Solid State Drive) instead of a traditional but much cheaper mechanical drive. I had recently had good success with an Intel 510 Series SSD as a boot / OS drive in a GPU workstation and I thought the added speed of the SSD would make the system substantially more responsive. Since her machine didn’t have the latest 6 GB/s SATA controller I ordered a 120 GB Intel 320 Series drive from Amazon and saved nearly $100 as compared to the 510 series drive.

After installing the Intel SSD in the machine I proceeded to install Ubuntu 10.04.3 (also known as Lucid Lynx) from a USB flash drive. My friend is concerned about security so I took the time to configure full disk encryption. After installing the base system and a few commonly used additional packages I migrated her data from the cloned drive to her home directory on  the SSD.  In earlier work I had done for this friend I had installed Thunderbird, Firefox and Open Office under Vista. This made it a very simple matter to migrate her files to Linux. It was smooth sailing all the way; even the dual band 801.11abg wireless card worked straight out of the box.

And now for the good part…

With Lucid Lynx and an Intel 320 SSD the 5-year-old Gateway notebook just screams! Boot time measured between entering the disk passphrase and getting a login prompt was about 9 seconds. The desktop and WiFi connection are fully operational about 4 seconds after keying in the user password! Applications like Firefox and Thunderbird start almost instantly. This clearly dispels the notion that Full Disk Encryption is too much overhead for most machines.

Needless to say, my friend could hardly believe her eyes. With Vista and her old hard drive she routinely saw boot times of 5 minutes or more. It was so slow she would go make coffee and sometimes breakfast before the machine even presented a login prompt. Now she barely has time to take a sip of coffee before the machine is fully up and ready to go.

Even though my friend knows little of Linux she’s very excited by what she’s already seen. She left with my Ubuntu Linux Bible in hand so I expect her conversion will stick.

Meanwhile, if you’re running Vista and your computer seems slow you may want to consider that it’s not your hardware that needs replacing.

 

See more details here:

Jan 7, 2012 BBC News – Israel vows to retaliate after credit cards are hacked

The key part of this story is:

Such cyber-attacks are “a breach of sovereignty comparable to a terrorist operation, and must be treated as such”, Deputy Foreign Minister Danny Ayalon has said.

“Israel has active capabilities for striking at those who are trying to harm it, and no agency or hacker will be immune from retaliatory action,” he added, without giving further details.

Roughly translated, Israel has elevated cyber attacks against its citizens to an act of terrorism. By making this equivalence the door is now wide open to escalating a cyber conflict into a full blown shooting war.

While the US says that it takes seriously the threat of cyber attacks,  they (to the best of my knowledge) have not publicly placed cyber attack against citizens and domestic business at the same level as say a terrorist attack like 9/11.  There are likely many reasons for this ambivalence. Indeed, there are so many attacks from so many places every day that it would be impossible for our government or military to respond to even a tiny fraction of them. Moreover, it is often impossible to determine the entities or persons responsible for such attacks so there would be no way to direct a response.

Whatever the reasons, the net effect is that the US government is failing to act to protect its citizens and businesses. This leaves you and I with the daunting task of protecting ourselves from both national and international threats that are arriving at our virtual doorsteps 24/7.  Like it or not, this means that cyber security has now become everyone’s business and responsibility.

Update January 12, 2012

Well, it didn’t take long for an Israeli to strike back:

Jan 10, 2012 – msnbc – Hacker war between Israeli, Saudi escalates

It’s unclear whether these hackers are tied to their respective governments or whether their governments are approving of their actions. The only thing that is sure is that just like a conventional war there will be collateral damage.

Update January 19, 2012

Attack and counter attack this week. On Monday the websites for the Tel Aviv Stock Exchange and El Al airline were attacked.

Jan 17, 2012 – CNN – Hackers attack two Israeli websites

Today (Thursday) Israeli hackers have taken out the websites for the Saudi and UAE stock exchanges.

Jan 19, 2012 – Harrettz.com – Israeli hackers bring down Saudi, UAE stock exchange websites

I’m sure this won’t be the last round in this evolving conflict.

 

 

I joined Facebook several years ago at the request of a friend and business partner who is well-known for being an early adopter of technology.  I was skeptical at first but quickly got lured in by the chance to easily reconnect with people I hadn’t seen in decades. I even met some people on Facebook that I had never known anywhere else because we shared the same interests and opinions. There are no doubt many very cool things about Facebook and I can definitely understand the attraction.

On the other hand, Facebook also has its share of negatives. A constant stream of posts about silly games like Farmville and Mafia Wars drove me crazy at first. Eventually, I adopted the approach of blocking all “apps” of any sort. The only things I really wanted to see were some meaningful posts from friends. After a while I determined that very few of the posts were really that all that meaningful.

My wife joined Facebook about the same time I did. After a few weekends of blowing hours she didn’t really have, she declared that Facebook is a time sink and never went back. She thought the time was better spent with family or outdoors getting some exercise. I think this was a very wise decision on her part.

All along I was concerned about security and I tried to keep up with the ever-changing interface and privacy settings. Despite years of complaints, headlines, and countless changes we still see that there are big problems at Facebook.

Sept 25, 2011 – Mashable – Facebook’s New Features Might Not Be As Private AS You Think (Updated)

After a while it finally dawned on me that Facebook is not and never will be about preserving anyone’s privacy. If Zuckerberg’s photos could be hacked how safe are mine or yours?

Dec 7, 2011 – National Post – Facebook embarrassed as founder Mark Zuckerberg’s private photos are leaked

The more I read, the more I realized that even if I considered the things I put on Facebook unimportant they may eventually be used against me in ways that I might not be able to envision today.

Aug 9, 2011 – Forbes – Facebook’s Privacy Issues Are Even Deeper Than We Knew

During my time on Facebook I observed many instances of my friend’s accounts being compromised. If one of your friends suddenly starts spamming everyone about blue wonder pills or how they just won an iPad you can bet they’ve been hacked. The less obvious cases may be even more worrisome however!

Eventually, I determined that even if I limited my feeds and photos to “friends only”, I had to trust that all my friends were smart enough to avoid being hacked; otherwise any and all of my stuff could be open to the world. If you think about that for a minute you will realize that the words “Facebook Privacy Settings”  are destined to become one of the great oxymorons of our time.

One of my other pet peeves about Facebook was the incessant reposting of hoaxes about viruses that will destroy everything on your hard drive. Indeed, Facebook is a great place to get mixed up with viruses and malware, but there are so many fake posts most people will never know or care about the real thing until it’s too late. Today’s headlines give us a hint of how things will spread:

Jan 7, 2012 – Telegraph – Facebook locks down 45,000 accounts to stop ‘worm’ spreading

On the whole I can say that I enjoyed my time on Facebook but in the end I concluded that the risks outweighed the rewards. Sure, I’ll miss some of those friends but the important ones still know how to find me. Meanwhile I’m looking forward to having more time with my family, more time on my bike, and yes even more time to learn and write about security issues. Happy New Year!

BTW:

If you find yourself asking these same questions about Facebook you should be aware that Facebook doesn’t make it easy to completely remove your account and everything in it. While it’s easy to “deactivate” an account your posts and photos remain indefinitely on the Facebook servers. If you try to delete your account permanently which removes the content you must avoid any logins to your account for two weeks after requesting deletion or the deletion request will be cancelled. There are other sites that discuss this so I won’t reproduce all the details here.

 

Tagged with:
 

I just finished reading Joel Brenner’s book “AMERICA THE VULNERABLE – Inside the New Threat Matrix of Digital Espionage, Crime and warfare”.

Wow!  Be prepared to be amazed as a guy who used to be senior counsel and inspector general at NSA (National Security Agency) and the executive in charge of Counterintelligence in the office of the director of National Intelligence lays it all out. He describes how the nation’s critical networks and infrastructure are at risk from attack from not only our global competitors (e.g. China, Russia) but terrorists and criminals world-wide. He describes in detail how the country is bleeding money and technology under a constant barrage of cyber attacks from both outside and inside our own borders. He makes it clear that the attacks are not only against military computer systems but also against big corporations, small businesses, and even individuals. He makes the case that America’s lack of focus on cyber security is costing us dearly, eroding our technological lead, and ultimately may limit our influence around the globe.

The first several chapters should be enough to scare nearly any home user or small business owner into taking steps to clean up and secure their computers and networks. He then digresses into possible and very realistic scenarios that show how the US might one day be held hostage by foreign powers due to a lack of security in key infrastructure such as power plants, water systems and even key military systems. Indeed some of the things he cites have already happened so it is not like he is writing Hollywood fiction. Later, he goes on to discuss how America must come to grips with the new world order and makes specific recommendations that could help government begin getting control of the current cyber mess. He continually emphasizes that the cyber war is not just against our government but also against our homes and businesses, and that unlike in conventional wars, the government is incapable of doing anything to protect its citizens. Since we are on our own, he provides a list of eight specific steps that those in the private sector can take to help mitigate risk. The book ends with acknowledgements to a who’s who of computer security, intelligence and policy experts, a very extensive section of end notes, and a limited bibliography of on electronic warfare, physical and networks security.

Overall, I found this book an excellent read that addresses issues critical to every one of us. In my mind the topics in this book are second only to the ballooning national debt in terms of relevance in the upcoming elections. Hopefully the media and the candidates will begin to take these issues seriously and do something to stem the tide.