Researchers at North Carolina State University have developed a new technique for using multi-core chips more efficiently, significantly enhancing a computer's ability to build computer models of biological systems. The technique improved the efficiency of algorithms used to build models of biological systems more than seven-fold, creating more realistic models that can account for uncertainty and biological variation. This could impact research areas ranging from drug development to the engineering of biofuels.
Computer models of biological systems have many uses, from predicting potential side-effects of new drugs to understanding the ability of plants to adjust to climate change. But developing models for living things is challenging because, unlike machines, biological systems can have a significant amount of uncertainty and variation.
"When developing a model of a biological system, you have to use techniques that account for that uncertainty, and those techniques require a lot of computational power," says Dr. Cranos Williams, an assistant professor of electrical engineering at NC State and co-author of a paper describing the research. "That means using powerful computers. Those computers are expensive, and access to them can be limited.
"Our goal was to develop software that enables scientists to run biological models on conventional computers by utilizing their multi-core chips more efficiently."
The brain of a computer chip is its central processing unit, or "core." Most personal computers now use chips that have between four and eight cores. However, most programs only operate in one core at a time. For a program to utilize all of these cores, it has to be broken down into separate "threads" so that each core can execute a different part of the program simultaneously. The process of breaking down a program into threads is called parallelization, and allows computers to run programs very quickly.
In order to "parallelize" algorithms for building models of biological systems, Williams' research team created a way for information to pass back and forth between the cores on a single chip. Specifically, Williams explains, "we used threads to create 'locks' that control access to shared data. This allows all of the cores on the chip to work together to solve a unified problem."
The researchers tested the approach by running three models through chips that utilized one core, as well as chips that used the new technique to utilize two, four and eight cores. In all three models, the chip that utilized eight cores ran at least 7.5 times faster than the chip that utilized only one core.
"This approach allows us to build complex models that better reflect the true characteristics of the biological process, and do it in a more computationally efficient way," says Williams. "This is important. In order to understand biological systems, we will need to use increasingly complex models to address the uncertainty and variation inherent in those systems."
Ultimately, Williams and his team hope to see if this approach can be scaled up for use on supercomputers, and whether it can be modified to take advantage of the many cores that are available on graphics processing units used in many machines.
|Contact: Matt Shipman|
North Carolina State University