Section: New Results
System support
Participants : Renaud Lachaize, Vivien Quéma, Alan Schmitt, Jean-Bernard Stefani, Fabien Gaud, Sylvain Geneves, Willy Malvaud, Alessio Pace, Quentin Sabah, Valerio Schiavoni.
Support for event-based programming in multicore systems
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. First, it allows programmers to simply and progressively inject support for the safe, parallel execution of multiple event handlers through the use of annotations. Second, it relies on a workstealing algorithm to dynamically balance the execution of event handlers on the available cores. We have studied the impact of the workstealing algorithm on the overall system performance. We have showed 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 introduced several enhancements to improve the workstealing behavior. An evaluation using both microbenchmarks and real applications, a Web server and the Secure File Server (SFS), shows that our system consistently outperforms a state-of-the-art runtime (Libasync-smp), with or without workstealing. In particular, our new workstealing improves performance by up to +25% compared to Libasync-smp without workstealing and by up to +73% compared to the Libasync-smp workstealing algorithm, in the Web server case. This work is described in the research report [47] .
Gossip-based protocols
Gossip-based information dissemination protocols are considered easy to deploy, scalable and resilient to network dynamics. They are also considered highly ßexible, namely tunable at will to increase their robustness and adapt to churn. So far however, they have mainly been evaluated through simulation, very often assuming ideal settings. In collaboration with Rachid Guerroui's group at EPFL and the INRIA ASAP team, we have developed variants of gossip protocols better suited to real-world settings. We have obtained results in two directions:
-
Heterogeneity: we have proposed a new gossip protocol, called HEAP, where nodes dynamically adapt their contribution to the gossip dissemination according to their bandwidth capabilities. Using a continuous, itself gossip-based, approximation of relative bandwidth capabilities, HEAP dynamically leverages the most capable nodes by increasing their fanout, while decreasing by the same proportion those of less capable nodes. HEAP preserves the simplicity and proactive (churn adaptation) nature of gossip, while significantly improving its effectiveness. HEAP has been extensively evaluated in the context of a video streaming application. HEAP significantly improves the perceived quality of the streaming over standard gossip protocols. This work has been presented at the DSN and Middleware conferences [26] , [25] .
-
NAT resilience: gossip peer sampling protocols typically ignore the fact that in a real wide-area setting a significant proportion of peers sit beind Network Address Translation (NAT) devices, preenting direct communication without specific NAT-traversal mechanisms such as hole-punching. Our experiments demonstrate that the presence of NATs, introducing some restrictions on the communication between peers, significantly hurts both the randomness of the provided samples and the connectivity of the p2p overlay network, in particular in the presence of high rate of peers arrivals, departures and failures. In collaboration with the INRIA ASAP team, we have proposed a NAT-resilient gossip peer sampling protocol, called Nylon, that accounts for the presence of NATs. Nylon is fully decentralized and spreads evenly the extra load caused by the presence of NATs, between peers. Nylon ensures that a peer can always establish a communication, and therefore initiates a gossip, with any peer in its sample. This is achieved through a simple, yet efficient mechanism, establishing a path of relays between peers. Our results show that the randomness of the generated samples is preserved, that the connectivity is not impacted even in the presence of high churn and a high ratio of peers sitting behind NAT devices. This work has been presented at the ICDCS conference [27] .