The Human Code: Researcher's Handcrafted Work Makes Fastest Computers Faster

By Tim Green, The University of Texas at Austin -- In at least one battle between man and machine, the man is winning. He is Kazushige Goto, a research associate at the Texas Advanced Computing Center (TACC) at The University of Texas at Austin. Goto can make supercomputers run faster and more efficiently and he can do it better than complex programs developed for that purpose. Four of the 11 fastest supercomputers in the world use Goto’s code to benchmark their performance. Scientific and engineering research programs run as much as 50 percent faster using his code. It was a coup for TACC when it lured Goto from his job as a patent examiner in the Japan Patent Office to work in Texas full time. Kazushige Goto, a research associate at the Texas Advanced Computing Center, left his job as a patent examiner in the Japan Patent Office to help supercomputers perform better with his handwritten code. Photo: Geno Esponda
“He is a world-class resource, and TACC is extremely lucky and privileged to have him as a member of the technical staff,” Dr. Mark Seager of Lawrence Livermore National Laboratory said when Goto’s TACC appointment was announced in August 2004. What Goto does is considered esoteric by most standards, but in the world of high-performance computing it’s hot stuff. So hot that he has become a legend in the supercomputing community. Supercomputers, also called high performance computers, are those big machines that simulate the world in bits and bytes. They do things like help predict weather patterns and enable scientists and engineers to visualize models of experiments. In one case, a supercomputer beat the world’s best chess player at his own game. To do all this, the computers perform trillions of mathematical calculations per second and this is where Goto’s expertise comes in. He has developed methods for optimizing the way the chips that power the computers perform certain groups of calculations, called math kernels. He painstakingly programs the chips to schedule the desired mathematical calculations in the most efficient order. That allows the computer to scoop up the results and keep crunching numbers without missing a beat.
Goto rearranges the order in which crucial algebraic functions are done to make them more efficient. These are basic linear algebra subroutines, called BLAS. The companies who design and build the computers generally provide their own BLAS software, but Goto’s version, called GotoBLAS, is usually even better. He assembles his version into a portable BLAS library, which scientific programmers can use to make their applications run faster. In fact, several high performance computing centers use his libraries to help their machines run faster for the Linpack benchmark, which determines the world’s fastest computers. It’s like television networks running special programming during sweeps rating period to increase their ratings. “Some (programs) are highly dependent on the performance of BLAS so those folks want the absolute fastest library available,” said Dr. Karl Schulz, a research associate at TACC. The major benefit is that researchers can use Goto’s BLAS without making any changes to their own application and reduce the overall execution time. “In a production environment supporting as many users as we have at TACC, if we can save even a few percent on every run, that savings amortized over the life cycle of such a large machine provides a large number of compute cycles for other researchers,” Schulz said. Goto’s BLAS can increase the Linpack performance by several percent. In some scientific applications, performance increases as much as 50 percent. Goto starts by sketching his ideas on paper. He found it convenient to work with pencil and paper while riding on the commuter train to the job he had in Tokyo.
Here’s one way to look at what Goto does: If Goto were in charge of speeding up highway traffic, he would schedule merging cars so they can get into traffic at the right time, without slowing down the other cars on the highway. The new cars would merge smoothly into traffic and it would continue to flow. Fewer backups, less congestion, faster travel. What’s more, the way he codes the chips would be like him directing cars onto the highway by standing on the on-ramp and using hand signals. He starts with pencil and paper and then turns to computers to write the code that puts his plan into action. “I write down the code on the paper and try to find the best way for the specific architecture,” he said. It is a rigorous process. To optimize the chips, Goto writes 2,000-3,000 lines of code to replace a handful of lines. Dr. Robert van de Geijn, a professor of computer sciences at The University of Texas at Austin, has worked with Goto. He said Goto combines a scientific understanding of the problem and an engineer’s acumen in implementing his solution. “On one hand, he had a key insight into how to restructure these kernels to inherently allow that to be done better and that’s what I would call the scientific insight he had,” Van De Geijn said. “And then on the other hand, he’s just very, very good at looking at the machine instructions for a particular processor and figuring out instructions just so that the machine really hums. That’s more the engineering side of it.” He’s been instrumental in finding some hardware inefficiencies in new architectures using his library and TACC has talked to a hardware vendor who wants to use his library because it exposes specific processor problems. “It’s an interesting byproduct of him understanding what the hardware is doing to such a degree that he can find problems that other people can’t,” Schulz said. Goto started working on the optimization problem about 10 years ago as a hobby. He worked on it during his train rides to and from work at the patent office in Tokyo. It was a hobby that had the makings of an obsession.
Goto, his wife, Natsumi, and young son, Hibiki, now 3, shared their tiny apartment with nine large computers. “I never turned on everything at once,” he said, “because it would become dark due to power failure.” He worked six years to crack the code on the Alpha chip, made by Digital Equipment Corp., now a part of Hewlett-Packard Co. Today at TACC, he has eight workstations—all plugged in and humming—under his desk. “I’m pretty happy during winter, but it’s horrible in summer,” Goto said. Goto shared his work by posting it on the Web and had started to become known in the supercomputing world. After conquering the Alpha, he wanted to see if he could extend his method to other chips. He thought it was an opportunity to use a sabbatical offered by the patent office to help its examiners keep up with current technology and improve their English. Goto’s e-mail seeking a place to take his sabbatical arrived in the inbox of van de Geijn, who studies linear algebra libraries. “On a hunch, I decided to check him out with people I knew in industry,” van de Geijn said, “and it came back that he really was quite an artist at this particular problem.” Ensconced at the university’s Computer Sciences Department, Goto delved into the Pentium 4 chip from Intel Corp. and the Itanium chip, a joint effort by Intel and Hewlett-Packard. “Within a month or so he had managed to squeeze out an extra 10 percent performance,” van de Geijn said. “He took the insight he had had on one machine and generalized it to every current microprocessor out there and therefore really demonstrated the superiority of his fundamental insight.” Van de Geijn said Goto’s sabbatical year might be considered the equivalent of Ph.D. work.
“What he demonstrated while he was here for that year was exactly what we would expect from a Ph.D. student, which is you identify an interesting problem, you come up with an innovative solution to it and you demonstrate the benefit of that in whatever way you can,” Van de Geijn said. “And he certainly went through all of those steps during that year. Now he didn’t get a piece of paper at the end of the year giving him a Ph.D., but he certainly established himself as the foremost authority in his field, which, in my mind, is worth a lot more.” When the sabbatical was up on June 30, 2003, Goto returned to the patent office in Japan. But van de Geijn and others at the university sought to bring him back. “The sabbatical was successful, but by no means is one year enough to do ‘everything’ there is to do in high performance linear algebra,” said Dr. Jay Boisseau, director of TACC. “We want him at TACC to pursue many further developments in this important area, which is a ‘foundation’ for many real-world high performance computing applications.” After 18 months of negotiating and coaxing, Goto accepted the research job at TACC. Van de Geijn said the move to Texas was a leap for Goto. He left a respected and secure job in Japan for something much different in another country. “Patent examiner is a very secure job and I can work until retirement age if I wish,” Goto said. “Yes, my action is really risky, but I just wanted to try the new job.” Now that his former hobby is his full-time job, Goto has another problem to solve. “I have to find a new hobby,” he said.