Memory-manager/Scheduler Co-design: Optimizing Event-driven Programs to Improve Cache Behavior

Sapan Bhatia 1 Charles Consel 1, 2 Julia Lawall 3
1 PHOENIX - Programming Language Technology For Communication Services
INRIA Futurs, Université Sciences et Technologies - Bordeaux 1, École Nationale Supérieure d'Électronique, Informatique et Radiocommunications de Bordeaux (ENSEIRB)
Abstract : Event-driven programming has emerged as a standard to implement high-performance servers due to its flexibility and low OS overhead. Still, memory access remains a bottleneck. Generic optimization techniques yield only small improvements in the memory access behavior of event-driven servers, as such techniques do not exploit their specific structure and behavior. This paper presents an optimization framework dedicated to event-driven servers, based on a strategy to eliminate data-cache misses. We propose a novel memory manager combined with a tailored scheduling strategy to restrict the working data set of the program to a memory region mapped directly into the data cache. Our approach exploits the flexible scheduling and deterministic execution of event-driven servers. We have applied our framework to industry-standard web servers including TUX and thttpd, as well as to the Squid proxy server and the Cactus QoS framework. Testing TUX and thttpd using a standard HTTP benchmark tool shows that our optimizations applied to the TUX web server reduce L2 data cache misses under heavy load by up to 75% and increase the throughput of the server by up to 38%.
Document type :
Conference papers
Complete list of metadatas

https://hal.inria.fr/inria-00353566
Contributor : Nicolas Loriant <>
Submitted on : Thursday, January 15, 2009 - 4:48:23 PM
Last modification on : Tuesday, April 2, 2019 - 1:45:38 AM
Long-term archiving on : Tuesday, June 8, 2010 - 8:19:50 PM

File

bhatia-ismm-06.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : inria-00353566, version 1

Collections

Citation

Sapan Bhatia, Charles Consel, Julia Lawall. Memory-manager/Scheduler Co-design: Optimizing Event-driven Programs to Improve Cache Behavior. International Symposium on Memory Management, Jun 2006, Ottawa, Canada. ⟨inria-00353566⟩

Share

Metrics

Record views

287

Files downloads

305