A $600k NSF grant to teach parallel computing
Today’s computers are as powerful as supercomputers were 20 years ago, said computer science professor Joel Adams. And 20 years from now, the average desktop may be as powerful as the supercomputers of today.
That’s why Adams, along with colleagues from Macalester and St. Olaf colleges, has pursued and landed a $600,000 grant from the National Science Foundation: They want to ensure that their students will have the skills to handle the computers of the future.
Adams, Elizabeth Shoop and Dick Brown, (computer science professors from Macalester and Saint Olaf colleges, respectively) propose to teach parallel computing—supercomputing—not to their students, but to their CS colleagues from around the country. “That’s the way you can attack this problem on a national level,” he said. “You train the trainers, not just your own students.”
The programming gap
Many college-age students don’t have parallel-programming skills, nor do the professors who are teaching them, Adams said: “Most people who got advanced degrees in computing got little of this.” That knowledge gap came about not just because computers became more powerful but because of the way they became more powerful.
Prior to 2006, computers worked increasingly faster because they were equipped with more and more powerful processors. Though they were speedier, each of these single-core machines could only perform one task. In 2006, various computer companies introduced the first computers with dual-core processors, and the number of cores in the average computer has roughly doubled every year. And each core in a multi-core unit can perform a different task.
Adams has a favorite analogy to explain the benefits of a multi-core computer: “Suppose you have a 12-slice pizza, and the problem is to consume it. A single core computer is like you eating that pizza yourself. A quadruple-core computer is like you and three friends eating the pizza. It will take you one-quarter the time.”
That’s if you know how to take advantage of the multiple cores, Adams said: “The problem is, you don’t program these the way you did before 2006 … .The thought process you use to write the software becomes kind of a design process.”
The NSF grant, (of which Calvin’s portion is $125,307), will equip Adams, Shoop and Brown to host parallel computing workshops for computer science professors from many institutions next summer at either Macalester or St. Olaf and at the Navajo Technical College in New Mexico.
The parallel challenge
A grant Adams earned 18 months ago from the Technical Committee on Parallel Computing, part of the IEEE computer society, allowed three Calvin professors (Harry Plantinga, Serita Nelesen and Patrick Bailey) to build parallel computing components into their computer science classes. Students in Plantinga’s “Data Structures and Algorithms” class are writing a parallel program to play a game called Mankalah. “You have to learn some new programming and design techniques, and the algorithms change as well … . It’s always fun to learn new things, but it adds a level of challenge,” Plantinga said.
Calvin and its colleagues are ahead of the curve on teaching parallel computing, said Adams, who constructed the college’s first supercomputer, Ohm, in 2001, its second, Dahl, in 2007 and a portable supercomputer named Microwulf the same year. “We’re ahead of a lot of schools in this,” Adams conceded. “It used to be that in order to get any kind of parallel program going and get any speed up, you had to have a Beowulf cluster: a supercomputer.”
With parallel computing becoming the norm, students will need the skill to do it in today’s job market, Adams said: “If they go to work for a company, they should be able to write software that runs faster on today’s computers rather than slower. They could solve bigger problems, like the kind of things the government is interested in.”
Some of the most compelling reasons for learning parallel programming are closer to home, he added: “If you’re going to spend $1,500 for a computer, you want software that takes advantage of it. You can’t buy a single-core computer. Your iPhone doesn’t have one core,” Adams emphasized. “It has four.”