7/22/2019 5:01:38 PM
When Professor Laxmikant “Sanjay” Kale began developing the Charm++ adaptive runtime system, he and his colleagues saw it as a medium-term project developing a parallel programming system that also balances loads, and not much more.
It turns out Charm++ was – and still is – useful in a much broader context and has led to a decades-long research agenda pursued by Kale and his collaborators.“There is always new work to be done in adaptivity - new machines come along, new sophisticated applications are developed and all of that requires newer capabilities in a runtime system,” said Kale, the Paul and Cynthia Saylor Professor of Computer Science at the University of Illinois at Urbana-Champaign. “The programming model turned out to be very flexible.”
Kale recently hosted the 17th Annual Workshop on Charm++ and its Applications, which was held at the University of Illinois at Urbana-Champaign. Over 50 participants attended the workshop, including keynote speakers Fred Streitz, who is the chief computational scientist at Lawrence Livermore Laboratory and director of the HPC Innovation Center, and Steve Plimpton, a member of the Multiscale Science Department at Sandia National Laboratories.
Charm++ is based on the C++ programming language, and Kale started developing it nearly 20 years ago. The goal was to make it easier to develop software for supercomputers and to efficiently use the machines.
But the load-balancing Kale and his group were aiming for also opened up other avenues for runtime adaptivity.
“The foundational capabilities that were developed for the sake of application load balancing turned out to be useful for what we need for extreme scale computers,” he said.
With the computing power provided by Charm++, researchers have successfully modeled how illnesses, such as Ebola or H1N1, move through large populations by simulating their spread. These simulations also allow them to gauge the impact preventative measures, such as closing schools or access to mass transit, have on the spread of communicable diseases.
Charm++ was also pivotal to the performance of Nanoscale Molecular Dynamics (NAMD) software, used in the first simulation of the chemical structure of the HIV capsid, a collaborative effort between Kale and scientists at the Beckman Institute.
NAMD was the winner of the prestigious Gordon Bell Award in 2002, and in 2012, Kale and his collaborator, Klaus Schulten, were the recipients of the IEEE Computer Society’s prestigious Sidney Fernbach Award.
Kale and his team won the HPC Challenge award at Supercomputing 2011 for their entry based on Charm++.
“The most recent Charm++ workshop provided a look at what we can expect in the years to come,” Kale said.
“For one, the use of Charm++ on applications will continue in the quest for better performance and productivity on science, engineering, and data analytics applications,” he said. “Furthermore, much of the workshop focused on our approach towards exascale, and the significant role Charm++ has to play in this area.”
Both Streitz and Plimpton are “big players in this exascale world,” Kale said. “It is becoming more and more clear to people that the kind of tech we have, it’s time has come.”