Next XMT desktop supercomputer prototype could provide a solution to common programming difficulties
Uzi Vishkin, a professor in the Electrical and Computer Engineering Department and the University's Institute for Advanced Computer Studies (UMIACS), explains the need to invest in research and development of modern computing systems that can be easily programmed. “The production of market application that are easy to program is a huge need for the American economy,” remarked Vishkin. “Modern computers have all become multi-core parallel processors. Making such computers easier to program would be beneficial to the economy because it would enable the nation to use local talent.”
The use of parallel processors allows multiple instructions to be executed in parallel much faster than serial computing, which, in principle, could only execute a single instruction at the same time. Parallel processing technologies have been used for years to create supercomputers; however, now chipmakers are designing mainstream computers with hardware that computer programmers often find too challenging to handle. Vishkin argues that the lack of productivity derives from a low comfort level in understanding the interaction between algorithms and architecture among hardware designers. “We need to replace the current build-first figure-out-how-to-program-later approach to hardware design,” he said. “Instead, start with a simple abstraction based on a well-developed theory of parallel algorithms and then build the system,” said Vishkin.
Such hardware design may already be in place. In 2007, Vishkin and his team at the Clark School of Engineering created a parallel processing supercomputer prototype, promising computing speeds a hundred times faster than desktops at the time. The prototype's ease-of-programming has been extensively demonstrated. The school’s Explicit Multi-Threaded (XMT) prototype, or desktop supercomputer, had sixty-four processors. The National Science Foundation and the Department of Defense funded the project.
Now, using a simulator of the desktop supercomputer with a thousand processors in a single chip, students have been able to use the parallel algorithmic theory in order to solve advanced programming problems using algorithms and the Parallel Random Access Machine (PRAM) theoretical model. As explained in his Communications of the ACM article published in January, an abstraction encapsulating the parallel algorithmic theory concept makes “many instructions available for concurrent execution,” resulting in inductive step-by-step instructions for concurrent functions. When Vishkin’s students used the simulator of the new XMT supercomputer to solve different complex computing problems, the solutions turned out to be 11 to 43 times faster than using the most modern systems currently provided by vendors.
“The objective now is to take the prototype to the next level: to build the thousand processors prototype,” said Vishkin. After three decades of working in parallel computing, he is eager to deliver a prototype closer to the commercial version that would be appealing for mass-market use.
About Dr. Vishkin
Uzi Vishkin has been Professor at the University of Maryland Institute for Advanced Computer Studies (UMIACS) since 1988. Per his ACM Fellow citation, he “played a leading role in forming and shaping what thinking in parallel has come to mean in the fundamental theory of Computer Science”. He is the inventor of the explicit multi-threaded (XMT) many-core architecture, which is backed by six issued patents.
To learn more about Dr. Vishkin, click here.
To find more information on the XMT model and parallel computing, click here.
To read Vishkin’s article on the multi-core dilemma published on the NIST web site, click here.