My latest project has resulted in an unexpected education in extreme computing - bleeding edge hardware and ways to use it that had previously been just a vague concepts on the fringe of my awareness. At this point I'm uncertain whether the experience has on balance been positive or negative.
The prosaic purpose of my labors is to test the various hardware and software combinations that will be offered by an on-line store (www.OpenBoxBuilder.com). I've been building custom servers and workstations for years, so the basic concept is just an extension of what I've already been doing.
The gotcha is the target market niche for the products on offer - users with a particular need for bleeding edge graphics and audio capabilities. A few of the most obvious applications are graphics-intensive gaming, animation rendering, simulators, home theaters, and music recording. As a consequence, I'm having to deal with far more powerful machines than anything I've worked with before.
I've got all this new hardware because the available information about each component claimed it would work with the other components. My task is to confirm those claims - or determine the hard way which are "less than accurate". The basic concept is familiar - mount various components in a case and connect them with cables. The rest I'm having to learn on the job - or perhaps more accurately having to discover on the job. Most of this hardware is so new that there isn't much documentation - and what there is is often more an expression of the marketing department's wishful thinking than the hard reality of the technician.
I've spent days trying to get a single component to work at all - let alone live up to its advance billing. And getting one component to work all by itself is no guarantee that it will get along with all the other whizzbang gadgets and gizmos a customer might want to stuff into the same box.
It isn't obvious at the moment how these new capabilities would be useful within my current personal digital environment and perspectives. However, if the historical trends are any guide, what appears to be extreme today will become the basic minimum requirements tomorrow.
I was originally drawn into this project because over the years I've acquired a fairly intimate knowledge of at least three different Linux distributions (variations/brands). Of course, this project is based on a Linux distribution (Ubuntu) that I've never worked with before.
The real fun started when I got to the point of having to test the various combinations of hardware with the special adaptation of Ubuntu I'd assembled. Suddenly my workspace was filled with piles of shiny new hardware - video cards that cost more than an entire office computer, exotic sound cards capable of reproducing everything from the exquisite delicacy of a fine concert hall to the bone rattling cacophony of a virtual battlefield, monster power supplies with wattages more commonly associated with space heaters, expansive sculptures of heat pipes and aluminum fins to keep the quad core CPUs from melting, lots of case fans to blow all the heat somewhere else, and four cases ranging in size from "how am I going to fit all this stuff in there" to "the cables aren't long enough to reach that far".
The basic computers are pretty impressive by themselves. They're far more powerful than the machines I'm currently using - while my current computers are capable of doing more than I can currently think of for them to do...
As I write these words in Open Office, I also have an email client and web browser running. A half dozen terminal windows extend my local desktop to the various remote computers that I administer, while the magic of NFS expands my local filesystem to include content physically located on various other computers connected to my private network.
The screen and keyboard I'm using to type these words are technically connected to a diskless workstation that is networked to my primary computer where the word processing program is actually running. I'm using a diskless workstation to provide a second monitor, keyboard, and mouse because I use the ones that are directly connected to my main computer as a virtual high-def TV - typically playing back a previously recorded video while recording another. While I've found various ways to keep my current computer pretty busy, I rarely manage to put enough load on it to max out its processing power.
Its graphic card doesn't even work hard enough to need a cooling fan.
The least powerful among the machines I'm testing has more than twice the processing power of my current most powerful machine, with the most powerful test machine more than doubling again that difference.
I have no doubt that what seems like massive overkill today will become the norm tomorrow. Demand for processing power always seems to find ways to use up any available capacity even if it's only to add a bit of gloss and glitter to existing functions. The software I'm using to type these words requires orders of magnitude more processing power than WordStar running on my first 2MHz Kaypro. This display is prettier and has lots of eye-candy icons and buttons, but I'm still just typing words on a screen.
While I admittedly have gotten accustomed to the expansion of my screen real estate beyond the old 25 lines of 80 characters, at the moment all I'm doing is typing words. I somehow managed to type hundreds of thousands of words using Wordstar on a much less powerful computer than is now "required" for the same task.
The CPU of my first computer generated so little heat that it didn't even need a passive heat-sink let alone a noisy fan. The CPUs in the test machines would burn out in seconds if run without their elaborate add-on cooling systems. But the heat generated by the test machine CPUs is trivial compared to the BTUs generated by the graphics cards.
The most impressive graphics card has two GPUs (graphics processing units), each of which contain several hundred cores. The card's dual graphics engines can perform 2.4 teraFLOPS (1012 floating-point operations/second) while streaming 230GB/sec of data. That's a whole lot of calculating and bit shuffling, so I guess it shouldn't be a surprise that they generate a whole lot of heat.
These new graphics cards certainly give new meaning to the term "hot chips". They can draw over 300W under load, and all that power eventually becomes heat. Just firing up the card the first time was more than a little alarming. I tried to measure the exhaust air blowing out of the card's vent with a mechanical thermometer that could measure up to 130F and it pegged the needle.
My first thought was that the fan control was malfunctioning, and I searched the web for ways to manually control the card's fan. In the process I discovered that the card was working normally - it's designed to run at temperatures that would quickly burn out conventional chips.
The card's internal sensors reported the chips were running at 85C/185F just idling. A typical CPU chip would have failed before even reaching the graphics chip's idle temps let alone the 105C they're designed to operate at. The idle fan speed was 33%. Manually increasing the fan speed to 100% turned the faint whisper into a pronounced howl, but only reduced the chip temps to 51C/124F - still unusually hot.
It would take a powerful sound system to drown out the fan noise of this card running under heavy load. Included in the boxes of test hardware is a 500W 7.1 sound system, but consideration for my neighbors and my own hearing will substantially limit my explorations of relative decibel levels.
As over the top as one of these cards sounds, it's literally only half as extreme as is now possible. The latest trick is called "CrossFireX" which allows two of these monsters to be tied together for double the processing power - which also doubles the power consumed and heat generated. And because it's possible for a customer to do it, I have to build one and then figure out how to test it.
Glad I'm not doing this project in the middle of summer.
The point of this digression into the arcana of extreme computing is to illustrate how far this new hardware is from my normal context. I have to figure out how to put a meaningful load on these machines, and nothing I normally do with computers comes anywhere close. However, the reason I have to do this testing is because there are people finding ways to use this kind of power. Ways I'm now obliged to explore.
In the olden days they'd mark these areas on the map as "here be dragons"...
(When I wrote the above my intention was a reference to venturing into unknown/uncharged territory. Considering that graphics intensive gaming is one of the most obvious uses for these machines, the reference to dragons may have multiple meanings...)
The components I'm working with are often purchased for their entertainment value. For example for use in gaming and home theaters. However, the nature of my interactions with the machine converts what is fun for others into a form of work. My involvement pretty much ends where the typical user's involvement begins. Put another way, while the focus of most users is on what they do with their computers, my involvement pretty much ends at the point the machine is able to do it.
Online forums discussing these components are largely populated by consumers taking about how to use new features to enhance the ways they are using their computers. I read the same forums seeking hints on how to solve the functional problems caused by those new features. Where someone else might use one of these graphics cards to display high definition video or a finely detailed gaming environment, my attention isn't on the spectacular images on the screen, but rather on the utilitarian display of the digital thermometer measuring how hot the graphics card(s) get creating those images...
This dichotomy where what is fun for some becomes a form of work for others isn't unique to me. For example, playing with toys involves a different perspective than running a toy store. The people who operate amusement parks have a different perspective than those being amused.
I'd like to claim the role of martyr in my labors - suffering endless frustration so that customers won't have to experience a similar ordeal, and working to make sure their entertainment will work. But there are certainly worse things to do. I've did several of them before I got involved with computers, and from that perspective my current digital martyrdom doesn't seem so bad after all...