Vishkin’s Supercomputer Enables Ph.D.-Level Parallel Programming in High School
Today, the majority of home computers use multiple processor cores (known as multi-cores) which rely on a technology called parallel processing. This technology allows the computer to perform many different tasks simultaneously, a sharp contrast to the serial approach employed by traditional desktop computers. The main stumbling block in programming multi-core processor machines for effective use is that programming the cores to operate in parallel is too difficult. In fact, such programming is rarely taught to undergraduate students.
With his research team, ECE Professor Uzi Vishkin has built XMT, a desktop supercomputer aiming to resolve these parallel programming pains once and for all. The prototype developed by Vishkin and his colleagues uses a circuit board about the size of a license plate on which the researchers have mounted 64 parallel processors. To control those processors, they have developed a crucial parallel computer organization that allows the processors to work together and make programming practical and simple for software developers.
The analysis of genomic sequencing, a key tool in biomedical research, is computing intensive. Next Generation Sequencing technology has drastically reduced the cost of sequencing further increasing the need for computer analysis. A k-mer is a substring of length k, and counting the occurrences of all such substrings is a central step in many analyses of genomic sequence. One popular approach to programming today’s commercial computer for solving the k-mer problem is a highly-cited software program developed as Ph.D. work at the University of Maryland. This tool, JELLYFISH, is for fast, memory-efficient counting of k-mers in DNA. JELLYFISH can count k-mers using an order of magnitude less memory and an order of magnitude faster than other k-mer counting packages by using an efficient encoding of a hash table and by exploiting the "compare-and-swap" CPU instruction to increase parallelism.
Professor Vishkin claims that parallel programming for the same k-mer problem, but on XMT, his supercomputer, is easier and requires a lesser skill-level.
Mr. Shane Torbert, a computer science teacher at Thomas Jefferson High School in Alexandria, Virginia has been teaching an annual course on parallel programming. Professor Vishkin has been collaborating with Mr. Torbert for 5 years, and asked him to test this claim on a class of 40 high-school students by implementing a k-mer algorithm, which Vishkin provided.
Torbert reported “fantastic success”. He said, “The main XMT programming construct (the spawn block construct) is so transparent that I think students "forgot" about the fact that they were implementing massively parallel algorithms, which is great.”
The students described the key partitioning aspect of the parallel k-mer program as ‘easy’. Torbert found that the students had much higher retention rates while using this method in comparison to MPI. Taking this alternative approach in the classroom, with the help and support of a University of Maryland professor provided an extremely productive educational experience for my students.”
For more information on Professor Vishkin's Desktop Supercomputer, see: http://www.ece.umd.edu/News/news_story.php?id=2289
May 9, 2012