Bill Scherer, who recently completed his doctoral degree in computer science at the University of Rochester, has written code that so dramatically increases the efficiency of aspects of the popular programming platform Java Standard Edition that it will be incorporated into that software's next generation.
"Using an idea we call 'nonblocking dual data structures,' Bill was able to re-design the mechanism that manages Java tasks, giving it ten times the throughput of the older version," says Michael L. Scott, professor of computer science and mentor to Scherer. Better task management means better performance for parallel Java applications, which form the backbone of many Internet servers, and will power the next generation of PCs and laptops.
Scherer's task manager was designed together with Scott and with the chief architect of Java's parallel processing library, Doug Lea, professor of computer science at the State University of New York at Oswego. Their code will be installed as part of standard software upgrades, on most desktop, laptop, and server computers worldwide.
Personal computer processors ceased getting much faster about two years ago. To continue to improve their power, designers have switched to multi-processor configurationsórecent "dual core" PCs are the most popular example. This change dramatically increases the importance of programming languages like Java, which are designed for multiprocessors.
Scherer, who is now a research assistant professor at Rice University, has been made one of the seven permanent members of the Expert Group on Concurrency of the Java Community Process, the consortium charged with guiding the evolution of the Java language, in recognition of his contributions.
Scott leads Rochester's synchronization and concurrency research group. In recognition of the influence of his research on modern multiprocessor computing, the Association for Computing Machinery (ACM) awarded him the 2006 Edsger W. Dijkstra Prize in Distributed Computing.