Logging onto a desktop or laptop computer entails a few mouse clicks. But gaining access to a supercomputer is akin to paying a lengthy visit to a Swiss bank before online banking became possible, says Sandia National Laboratories computer scientist Ronald Minnich.
“If you go to such a bank to deposit money or take money out, you fill out a form and you give it to somebody and then at some point later they come back and tell you how it went,” he says. “But you’re always at least one step away from your money. And that’s like the ‘batch processing’ model of supercomputing.
“What we’ve wanted to do is make it look like the supercomputer is directly attached to your laptop so that they appear to have a common set of files, and the laptop resources, such as the display, are directly available to the supercomputer. So it puts you, in a sense, directly in touch with the money.”
A distinguished technical staff member at Sandia’s Livermore, Calif., site, Minnich is principal investigator of a small research team developing novel software to give programmers what he calls “desktop extension” supercomputer access. His five-person collaboration has 1 million processing hours on the IBM Blue Gene/P supercomputer at Argonne National Laboratory near Chicago, awarded by the U.S. Department of Energy’s competitive INCITE (Innovative and Novel Computational Impact on Theory and Experiment) program.
Beating the batch is not easy in the supercomputing world. A fixture in the mainframe community since the 1950s, batch processing is a way of sharing time on highly prized computational resources by placing programs and data in a queue, processed in order, much as customers must stand in line at a bank waiting for an available teller. If there is a problem, a client goes to the back of the line and starts over.
As with time-sharing office printers, supercomputer programs are run from start to finish without stopping midstream for corrections or other adjustments. That contrasts with interactive processing that allows programmers to intervene on the fly.
Years ago, all computer programmers had to pre-write their programs onto sheets of paper that they then took to keypunch operators to convert into holes in cards. The punch cards were run though a reader, Minnich says, and eventually the programmers got back their results in an interoffice mailing envelope.
“It usually takes anywhere from five minutes to 10 hours before your program gets on the supercomputer,” Minnich says. “If your program started going off course in a direction you didn’t plan, with a batch you have to try and figure out afterwards what happened. And then you’ve got to sit there and resubmit that batch job.”
Although keypunchers have gone the way of telephone operators, programmers still submit their work to software queue managers who control the supercomputer. “You do a lot of work ahead of time. And in the end you surrender control.”
The batch system is like forcing a director who wants to alter a film to “go though the whole process of making the movie again to make a single change.” Minnich and his collaborators saw “value in being able to make supercomputer programs be interactive so you could observe what was going on and change them while they were running.”