Tech Team Supercharges Agent-Based Modeling with Video-Game Technology
by Marcia Goodrich, senior writer
An unlikely team of Michigan Tech researchers is harnessing the computing muscle behind the most popular video games to understand the most intricate of real-life systems.
Led by Roshan D'Souza, an assistant professor of mechanical engineering–engineering mechanics, the group has devised a way to supercharge agent-based modeling, a powerful but computationally massive forecasting technique. In particular, they are focusing on computer models of complex biological systems.
Their breakthrough transforms an off-the-shelf desktop PC into a supercomputer by using graphic processing units (GPUs), which drive the spectacular 3-D imagery of video games.
GPUs have evolved into powerful processors capable of billions of color calculations every second.
Agent-based modeling simulates the behaviors of complex systems. It can be used to predict the outcomes of anything from pandemics to the price of pork bellies. It is, as the name suggests, based on agents: e.g., sick people and well people, bullish and bearish investors, predators and prey, etc. It applies rules that govern how those agents behave under various conditions, sets them loose, and tracks how the system changes over time. The outcomes are unpredictable and can be as surprising as real life.
Agent-based modeling has been around since the 1950s, but the process has always been handicapped by a shortage of computing power. Until recently, the only way to run large models quickly was on multi-million-dollar supercomputers, such as IBM's Blue Gene.
In a closet-sized lab in the MEEM, however, all that is changing. Under the direction of D'Souza, a team of Michigan Tech computer science students has been programming GPUs to run models with tens of millions of agents—and to do it with blazing speed.
"With a $1,400 desktop, we can beat a computing cluster," says D'Souza. "We are effectively democratizing supercomputing and putting these powerful tools into the hands of any researcher who desires them. Every time I present this research, I make it a point to thank the millions of video gamers who have inadvertently made this research possible."
Computer science senior Mikola Lysenko demonstrates on his computer, running a model of the human immune response to a tuberculosis bacterium. On the monitor, a swarm of bright green immune cells surrounds and eventually contains a yellow TB germ. These busy specks look like 3D-animations from a PBS documentary, but they are actually virtual T-cells and macrophages—the visual reflection of millions of real-time calculations.
"I've been asked if we ran this on a supercomputer or if it's a movie," says D'Souza. In fact, their model is several orders of magnitude faster than state-of-the art agent modeling toolkits. According to the researchers, however, their current effort is small potatoes.
"We can do it much bigger," says D'Souza. "This is nowhere near as complex as real life." Next, he aims to model how an infection could spread from the lung to the patient's lymphatic system, blood and vital organs.
Dr. Denise Kirschner, of the University of Michigan in Ann Arbor, developed the TB model and gave it to D'Souza's team, which programmed it into a graphic processing unit. Agent-based modeling hasn't replaced test tubes, but it is providing a powerful new tool for medical research.
"Our raison d'etre is this," Kirschner explains. "A lot of scientists look at the immune response to TB in Petri dishes or in monkeys. We build a computer model to test a hypothesis."
Computers offer significant advantages. "You can create a mouse that's missing a gene and see how important that gene is," she says. "Using agent-based modeling, we can knock out two or three genes at once." In particular, agent-based modeling allows researchers to do something other methodologies can't: virtually test the human response to serious insults, such as injury and infection.
While agent-based modeling may never replace the laboratory entirely, it could reduce the number of dead-end experiments. "It really helps scientists focus their thinking," Kirschner said. "We can recapitulate what the scientists are doing and then address questions they can't ask."
By programming GPUs, D'Souza's team is helping to overcome the field's primary stumbling block, she said. "The limiting factor has been that these models take a long time to run, and his method works very quickly and efficiently," she said.
"It has a lot of potential," she added. "I hope he can get some funding and do more work on it, because this area is becoming so hot—it's just blooming."
Dr. Gary An, a surgeon specializing in trauma and critical care in Northwestern University's Feinberg School of Medicine, is a pioneer in the use of agent-based modeling to understand another matter of life and death: sepsis. Virulent microorganisms sometimes spread from an infection site and provoke massive, fatal inflammation. But with billions of agents, including a variety of cells and bacteria, sepsis has been too complex to model economically on a large scale, at least until now.
"The GPU technology may make this possible," said An. "This is very interesting stuff, and I'm excited about it."
The Tech team also looks forward to applying their model in other ways. "We can do very complex ecosystems right now," said team member Ryan Richards, a computer science senior. "If you're looking at epidemiology, we could easily simulate an epidemic in the US, Canada and Mexico," Richards said.
Mechanical engineer D'Souza recruited his team of computer-savvy wunderkinder when he was investigating realtime techniques to determine if parts designed on a computer could actually be manufactured in real life.
Because the research is computer science—intensive, he approached Lysenko, Richards and senior Nick Smolinske. The trio has since competed in the ACM International Collegiate Programming Contest, known as the Battle of the Brains, where they finished 47th in a field of the top 100 college computer-programming teams in the world and tied for sixth among the US teams.
The team stumbled across agent-based modeling when D'Souza came upon a research paper that described an agent-based model of a bacteria colony. When the team tried to replicate the results on existing software systems, they found that any model having more than a few thousand agents took an inordinately large amount of time to compute. Lysenko had the idea to use video cards to speed up these computations and figured out how to program them for the task.
"GPUs are very difficult to program. It is completely different from regular programming," said D'Souza, who deflects credit to the students. "All of this work was done by CS undergrads, and they are all from Michigan Tech. I've had phenomenal success with these guys—you can't put a price tag on it."
In particular, he recognizes Lysenko's contribution. "Without Mik, this wouldn't be possible," D'Souza said. " It's been a pleasure working with him for the last two years."