Software boffins have come up with a method of using multi-core processors to speed up software by 20 per cent.
According to a paper to be presented later this month at the IEEE International Parallel and Distributed Processing Symposium in Atlanta, Georgia, if you tinker with the memory management you can speed up software so that it is faster than a well-greased leopard on its way to a zebra convention.
The paper with the catch title “MMT: Exploiting Fine-Grained Parallelism in Dynamic Memory Management," was penned by North Carolina State University (NCSU) researchers Devesh Tiwari, Sanghoon Lee, James Tuck, and Yan Solihin. It calls for a "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)."
It points out that while there are more multi-core processors out there than you can point a stick at, programmers have not got a clue how to write code for them. This is because to write a nice bit of multi-core code you have to process data in parallel using all of the processor cores at once.
This means that programmers have to wear special hats to cool their brains down and this can be expensive. The paper suggests moving memory allocation to a separate thread. We call that the memory management thread which can be encapsulated into a library.
The developer links to the library from his or her program and it accelerates both client-side and server-side applications, such as Web servers and parsers. All up this adds to a 20 per cent gain on the software speed. More here