Computer science student Mikola Lysenko, who wrote the software, demonstrates. On his computer monitor, a swarm of bright green immune cells surrounds and 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", stated Roshan D'Souza, an assistant professor of mechanical engineering - engineering mechanics. He noted that their model is several orders of magnitude faster than state-of-the art agent modelling toolkits. According to the researchers, however, this current effort is small potatoes.
"We can do it much bigger", stated Roshan D'Souza. "This is nowhere near as complex as real life." Next, he hopes to model how a TB 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 Roshan D'Souza's team, which programmed it into a graphic processing unit. Agent-based modelling hasn't replaced test tubes, she said, but it is providing a powerful new tool for medical research.
Computer models offer significant advantages. "You can create a mouse that's missing a gene and see how important that gene is", stated Dr. Kirschner. "But with agent-based modelling, we can knock out two or three genes at once." In particular, agent-based modelling 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 modelling may never replace the laboratory entirely, it could reduce the number of dead-end experiments. "It really helps scientists focus their thinking", Dr. Kirschner stated. "The limiting factor has been that these models take a long time to run, and Roshan D'Souza's method works very quickly and efficiently", she stated.
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 modelling to understand another matter of life and death: sepsis. With billions of agents, including a variety of cells and bacteria, these massive, often fatal infections have been too complex to model economically on a large scale, at least until now. "The GPU technology may make this possible", stated Dr. An. "This is very interesting stuff, and I'm excited about it."
Agent-based modelling simulates the behaviours 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 individual agents: e.g., sick people and well people, 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 modelling 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, a costly proposition.
Roshan D'Souza's team sidestepped the problem by using GPUs, which can run models with tens of millions of agents with blazing speed. "With a $1400 desktop, we can beat a computing cluster", stated Roshan D'Souza. "We are effectively democratizing supercomputing and putting these powerful tools into the hands of any researcher. Every time I present this research, I make it a point to thank the millions of video gamers who have inadvertently made this possible."
The Tech team also looks forward to applying their model in other ways. "We can do very complex ecosystems right now", stated Ryan Richards, a computer science senior. "If you're looking at epidemiology, we could easily simulate an epidemic in the United States, Canada and Mexico."
"GPUs are very difficult to program. It is completely different from regular programming", stated Roshan 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."
Roshan D'Souza's work was supported by a grant from the National Science Foundation. In addition to Mikola Lysenko and Ryan Richards, computer science undergraduate Nick Smolinske also contributed to the research.