Software Research Promises Faster Apps
A new approach to memory management allows computer code to operate more efficiently on multicore processors and can reduce the overhead of security checks.
A paper to be presented later this month at the IEEE International Parallel and Distributed Processing Symposium in Atlanta, Georgia, describes a new approach to memory management that allows software applications to run up to 20% faster on multicore processors.
"MMT: Exploiting Fine-Grained Parallelism in Dynamic Memory Management," co-authored by North Carolina State University (NCSU) researchers Devesh Tiwari, Sanghoon Lee, James Tuck, and Yan Solihin, proposes "a new approach for accelerating dynamic memory management on multicore architecture, by offloading dynamic management functions to a separate thread that we refer to as memory management thread (MMT)."
More Security Insights
- How Attackers Identify and Exploit Software and Network Vulnerabilities
- Getting a Grip on Mobile Malware
- Case Study: LivePerson Secures Robust Static Code Analysis Security Solution
- Advanced Protection Against Advanced Threats
Multicore processors are now the norm in the computer industry, but many programmers have yet to learn how best to write programs that process data in parallel using all of the processor cores at once.
In a move that suggests the extent of the problem, Microsoft and Intel two years ago said they'd spend $20 million over the next five years to advance academic research on parallel computing.
Yan Solihin, associate professor of electrical and computer engineering at NCSU and a co-author of the paper, explained in a phone interview that MMT offers a way to make applications more efficient by moving memory management to a separate thread. This allows the application and its memory management code to execute at the same time.
"We noticed that there's a large group of software that's difficult to paralellize," he said. "A lot of these applications are also memory allocation intensive, meaning that that call
free frequently. So our idea is to move this memory allocation to a separate thread. We call that the memory management thread, or MMT"
Solihin says the technique has been encapsulated into a library. To use it, a programmer merely needs to link to the library from his or her program. It can accelerate both client-side and server-side applications, such as Web servers and parsers, he said.
Used with memory management library called PHKmalloc, for example, MMT can limit the slowdown imposed by some of the library's security features. "Our focus is that these security checks and features are very expensive, slowing down our benchmarks by 21% on average, and by 44% in the worst case," the paper states. "The figure shows that MMT can hide the overheads almost completely, with an average slowdown of only 1%."
The paper is scheduled to be presented on April 21, 2010.
InformationWeek has published a report on virtualization management. Download the report here (registration required).