FEATURES & COMMENTARY
Albuquerque, N.M. — John Fleck reported for the Albuquerque Journal that the greetings rolled down Rolf Riesen’s computer monitor like the cry of a baby’s birth. “Hello from compute node 0/102,” the first line of text read, a huge new computer’s announcement to the world that it was alive. “It’s born, right? The baby is born,” Riesen said, pointing to the computer screen in his Sandia National Laboratories office. One after another, nodes 0/102 through 7/102 bleated out their hello, pieces of a massive new supercomputer coming to life. It’s a computer like none ever built before.
Each “node” would be a muscular desktop computer on its own. Wired together, 600 of them could be more powerful than any other computer like it in the world. It’s called “Cplant,” which is short for “computational plant,” a sort of factory for computing. In a world where overheated computer hype has become the norm, Riesen and his colleagues knew from the beginning that this machine truly could be exceptional – if they could make it work.
Supercomputers have become a central tool for scientists today in studies ranging from climate change to genetics to, in Sandia’s case, nuclear weapons design. Keeping those scientists supplied with the computer power they crave has become a major challenge. It’s a challenge the group of Sandia computer scientists has risen to repeatedly in the last decade. “It’s fun,” Riesen said. “This is one of the reasons we work here. There’s not many places where they toss 600 nodes at you and say, ‘Here, make it work.’ ”
“Make it work” could be the slogan of the Scalable Computing Systems group.
“We build the biggest machines and we’ve always built the biggest machines,”
said University of New Mexico computer science professor Barney Maccabe, a consultant to the lab and long-time member of the team. Since 1993, Sandia has repeatedly come to the team with the same problem: Take a pile of blazing fast computer hardware and write the software plumbing to turn it into a well-oiled machine. Three times in the last decade the group has succeeded doing what few others can claim, turning those piles of hardware into the fastest computer in the world.
Ask Tramm Hudson what attracts him to computer programming: “We’re building things out of pure thought.” When it comes to making a supercomputer, the things you can see – the cabinets and cables and flashing lights – are less important than the complex architecture of software that goes inside it. Which is where Hudson, the young Wunderkind of the Scalable Computing Systems group, comes in. Hudson is a 1998 Tulane University graduate, but he began working on Sandia supercomputers when he was in high school. Until he recently left for a job in private industry, Hudson was one of the key programmers responsible for making the new Cplant computer go. Slouching in a computer-filled lair on the southern edge of Sandia, Hudson pecked away at a computer keyboard recently, “writing code” while his colleagues tried to explain the joy of programming.
Ron Brightwell, another of the young programmers on the project, had been writing reports instead of code lately, and he clearly didn’t like it. “You go through withdrawal after a while,” the 31-year-old Brightwell said. “That’s what we like doing.” Programming involves writing a series of instructions for a computer to perform, in an arcane language peppered with “if’s” and “or’s”
that demands a rare kind of precision. When you do it right, Riesen said, there is joy in seeing the computer do what you told it to. “You get a result back,” Riesen said. “It actually spits something back.” Hudson looked up from his computer to join the conversation, to explain the challenge. “With code, it really requires a level of perfection that is unmatched in any other endeavor,” he said.
Barney Maccabe remembers the day the Sandia team got started. It was January 1991, the day the bombs started dropping on Baghdad and the Persian Gulf conflict with Iraq turned from a holding action into a war. Maccabe and a bunch of other scientists gathered at Sandia to discuss a new project – making a massively parallel supercomputer work.
In the early days of supercomputers more than 20 years ago, companies like the famed Cray built big boxes. Driven primarily by the needs of nuclear weapon designers, the supercomputers did their magic by using a small number of ever-faster computer chips. But there was little commercial market for that kind of machine, making the few that were built incredibly expensive.
By the early 1990s, the cost of desktop computers was dropping fast, and supercomputer makers were looking for ways to accomplish their goal by wiring together a bunch of cheap chips and getting them to work together.
“Ultimately,” Maccabe said, “you do the best you can with whatever’s cheap.”
The job Maccabe and his colleagues faced: How do you get all those chips talking together quickly and efficiently, so computer chips aren’t sitting idle, waiting for a message they need to continue? “‘How good is your network?’ is the issue,” Maccabe explained.
In the years since, the Sandia team has solved the problem again and again, with a series of computers that were, for their time, at the pinnacle of the art. First it was nCUBE 2, then the Paragon, then a machine affectionately dubbed “the t-flops,” and now the new machine taking place behind Sandia’s security fences called Cplant.
Ask Barney Maccabe about the obscure workings of message passing in a supercomputer and his eyes light up. “I should warn you, you’re close to becoming a fly approaching the spider’s web,” he said. “This is one of the things I could spend days or weeks talking about.” Maccabe’s second-floor UNM office is remarkably barren of computers for a computer scientist’s den – just a laptop on a desk. The real action is on an erasable white board on the wall.
To illustrate a point, the 45-year-old hockey-playing professor jumps up to draw squares with lines connecting them. The squares represent pieces of a computer, and the lines are networks connecting them. Getting a message from one part of the computer to another is the key to making the machine fast enough. That’s the heart of the problem Maccabe and the other members of the Cplant team have been grappling with for the last three years.
For an idea of the practical problems of turning ideas into humming silicon, look at a little piece of hardware Rolf Riesen keeps in one of his desk drawers. It’s a computer circuit board no larger than a videocassette. Each of the supercomputer’s nodes has one of these “network cards,” which act as the node’s voice box and ears as it talks with the rest of the supercomputer. “The machine has 600 of these,” Riesen said, holding the little card in his hand.
It’s the sort of thing that has to work perfectly in the background for Sandia’s researchers using the computer to get their work done, but they don’t want to think about it. “This is the plumbing under the sink,” Riesen said.
“Most of the users don’t know this card even exists. They could care less.”
April was ugly for the team of Sandia National Labs programmers trying to make the giant Cplant supercomputer work. In a machine this big and complex, a tiny bug can be the hardest to catch. “This one was real nice,” said Ron Brightwell, sarcasm in his voice. Every so often, a researcher running one of the massive calculations that are Cplant’s bread and butter would lose one tiny bit of data. If they were lucky, their program would crash. If they were unlucky, they’d get a tiny mistake in their calculation, throwing off the results without anyone realizing it. It was maddeningly difficult to solve because it didn’t happen all the time. “It was an intermittent thing,”
In retrospect, he said, it’s clear the problem had been lurking since a very early version of their software, running on an older computer in late 1997 or early ’98. In that mass of data zipping among the machine’s many nodes, a single bit of data would occasionally arrive incorrectly, Hudson said. But it happened so rarely that it was a nightmare to diagnose. Layer by layer the team peeled down through the code, adding tests to debug the program in search of the answer.
And then one day, Hudson saw it – a piece of software touching data that it wasn’t supposed to, corrupting it in the process. A race between good data and bad data was going on, and on very rare occasions, the bad data would win.
“Many things are happening at once and the bug depends on certain, precise timing of them to occur,” Hudson explained. It was the sort of thing that was hard to see at the time, but seems obvious now. “Once I realized what the code was doing, I had a bit of an epiphany,” Hudson recalled. “It was blindingly obvious to Tramm,” Brightwell said.
Once Hudson found the blindingly obvious, it was clear that the Scalable Computing Systems group really had finally made Cplant work. The computer was placed in service this summer, made available for Sandia scientists to do their computations. But the supercomputers are a “What have you done for me lately” world. For a decade, the work of the Scalable Computing Systems group has been like Sisyphus, a character from Greek mythology condemned to forever roll a heavy stone up a hill, only to have it roll down again. Building a fast computer – Cplant is the fastest machine of its kind in the world – is never enough. Next year, a faster one is needed.