Team sardes

Overall Objectives
Scientific Foundations
New Results
Contracts and Grants with Industry

Section: New Results

System support: Support for efficient multicore programming

Participants : Vivien Quéma, Renaud Lachaize, Fabien Gaud, Baptiste Lepers, Sylvain Genevès, Fabien Mottet.

The goal of this work is to develop efficient run-time support for multicore programming. We have targeted this year two main aspects: efficient support for multicore event-driven systems, and a general study to improve the scalability of servers deployed on multicore hardware. Both topics are at the core of the PhD thesis of Fabien Gaud (defended in December 2010 [15] ) and are described below.

Many high-performance communicating systems are designed using the event-driven paradigm. As multicore platforms are now pervasive, it becomes crucial for such systems to take advantage of the available hardware parallelism. Event-coloring is a promising approach in this regard: it allows programmers to simply and progressively inject support for the safe, parallel execution of multiple event handlers through the use of annotations. In order to balance the load on available cores, the event-coloring runtimes rely on a workstealing algorithm in charge of dynamically balancing the execution of event handlers on the available cores. We have studied the impact of the workstealing algorithm on the overall system performance. We observed that the only existing workstealing algorithm designed for event-coloring runtimes is not always efficient: for instance, it causes a 33% performance degradation on a Web server. We have thus introduced several enhancements to improve the workstealing behavior : (i) a set of heuristics to improve the selection of stolen events, and (ii) an improved runtime design minimizing the inherent costs of workstealing. An evaluation using both microbenchmarks and real applications, a Web server and the Secure File Server (SFS), shows that our system consistently outperforms the state-of-the-art event-coloring runtime (Libasync-smp), with and without workstealing. In particular, our new workstealing improves performance by up to +25% compared to MIT's Libasync-smp without workstealing, and by up to +73% compared to the Libasync-smp workstealing algorithm, in the Web server case. This work has been presented at the ICDCS conference in June 2010 [34] .

We have also considered the scalability of the popular Apache-PHP web server on NUMA multicore architectures. Our study has revealed a number of performance issues with this software as the number of cores increases. We have developed a detailed methodology and extended some state-of-the-art tools in order to precisely pinpoint the major bottlenecks at various levels of the software stack. We have proposed solutions to remove most of these bottleneck and we are currently investigating the few remaining ones.


Logo Inria