Focus: High Performance Computing Compiler Optimization
Compilers turn a computer’s coding into executable programs. So, the faster a compiler works, the faster a program runs. Compilers, though, have to work within a computer’s constraints. The number of processors, the amount of memory, even the programming language all influence a compiler’s effectiveness. So, engineers like Rei Odaira develop ways to optimize them.
Rei joined IBM Research-Tokyo 10 years ago to optimize System z mainframe compilers. The team he joined invented the technology in the mid-1990s, for the High Performance FORTRANcompilers. And in 1995 – while Rei was still at the University of Tokyo – they built the Java virtual machine, and the Java just-in-time compiler, that has been embedded in every IBM software product that uses Java, including WebSphere. Rei took notice of the world-famous work happening only 20 kilometers away from campus, and wanted to be a part of the group.
“College students at the University of Tokyo cannot declare a major for the first two years of school. They can only choose ‘sciences’ or ‘liberal arts’ as a general areas of study. I originally wanted to study mathematics and physics when I entered the university. But this was also the time of the Internet boom of mid- and late-1990s. So, I began learning about things like Linux. And also, IBM’s just-in-time compiler was the fastest in the world at that time. And because that team was in Tokyo, my classmates and I knew their work very well – from papers they published, to conferences they attended.
Power 8’s greatest advancement is in its CAPI interface. It allows others to build new systems on top of Power 8. For example, CAPI can be made to quickly access and analyze unstructured NoSQL data stored in Flash memory. – Making Power Open to the Enterprising Masses
System z, though, is an interesting challenge. It has 16 registers (places on a computer processor where data is kept), while other machine architectures, like our Power systems have several more (so, have more ways to spread out and execute a workload). But our algorithms improved z’s middleware efficiency by 3 percent – a major breakthrough in 2005, considering how fast the mainframe already was, and the limited ways to optimize it.
On OpenPower and moving to the US
“Now in Austin, my scope broadened from System z compilers and run time programs like Java and Ruby, to developing ways to exploit CAPI Flash – an accelerator that can access and analyze unstructured data stored in Flash memory. This means it can optimize workloads on the Bluemix cloud platform and the SoftLayer infrastructure it runs on, to do things like process genome sequence data in a few hours, versus the day or so it takes, now.”
Tips on the transition from school to industry
“At first, I had these ideas of how to change a product. They didn’t go over too well because it meant implementing a completely new thing, like an algorithm or function, in the development and maintenance of that product. I had to learn how to work in the industry, balancing business needs – and the many parts that come together to make a product work – with how my own ideas could make an impact.