Complex Concepts That Really Add Up

By Leyla Ezdinli -- An annual outreach program run by USC’s Collaboratory for Advanced Computing and Simulations is helping shape the future of computational science by encouraging members of underrepresented groups to pursue graduate work and research in scientific computing.

For the past eight years, the Computational Science Workshop for Underrepresented Groups has offered participants an opportunity to learn about complex research concepts in a hands-on and interdisciplinary environment. # USC graduate student Amy Yuan and Roderick Brown, a participant at the Computational Science Workshop for Underrepresented Groups # Photo/Hikmet Dursun

The majority of participants are students and faculty members from small historically black colleges and universities with limited resources for research computing and curriculum development. For students, the workshop can have a profound influence on their choice of majors and careers. For faculty, the workshop offers the resources necessary to develop new courses and advance their research.

“The goal of the workshop is, in one week, to break the participants’ fear of computing and their ideas of parallel computing,” said Priya Vashishta, professor of materials science at the USC Viterbi School of Engineering, professor of physics at USC College and director of the Collaboratory for Advanced Computing and Simulations.

“We do not ask that people know about computing before they arrive — all we ask is that they have a good head on their shoulders,” he said.

Teaching parallel computing in a way that is comprehensible to those without a solid foundation in computer science and advanced mathematics is no small feat.

Parallel computing is a sophisticated form of computation in which a complex problem is divided into smaller problems that are then distributed to a cluster of networked computers for simultaneous processing. Parallel computing allows researchers to solve problems involving extremely large data sets much faster than would serial computation, in which operations are performed in a linear manner.

The workshop takes a novel and ambitious approach to teaching parallel computing. On the first day, each student assembles his or her own computer from components and installs the Linux operating system. All the computers in the workshop are then networked together to form a cluster.

Over the course of the week, students learn to write and compile code, write parallel codes, run programs on the cluster and analyze the cluster’s performance metrics.

The workshop was designed and developed by Rajiv Kalia, Aiichiro Nakano and Vashishta, the founders of the collaboratory, all of whom hold joint appointments in USC’s departments of physics and astronomy, chemical engineering and materials science, and computer science.

“This is an extremely intense workshop,” Nakano said. “It was Priya’s vision to have students build a supercomputer cluster from personal computers. He trained all of us,” said Nakano, referring to the collaboratory faculty and graduate students who organize and teach the workshop each year.