TitleMicroarchitectural Implications of Event-driven Server-side Web Applications
inProc. of International Symposium on Microarchitecture (MICRO)
Author(s)Yuhao Zhu, Daniel Richins, Matthew Halpern, Vijay Janapa Reddi
DateDec, 2015
LocationWaikiki, HI, USA
Download Workloads
Paper (1 MB)
3-page Summary (380 KB)
Main Talk Slide Deck
Lightning Slide Deck
Citation BibTex
Abstract Enterprise Web applications are moving towards server-side scripting using managed languages. Within this shifting context, event-driven programming is emerging as a crucial programming model to achieve scalability. In this paper, we study the microarchitectural implications of server-side scripting, JavaScript in particular, from a unique event-driven programming model perspective. Using the Node.js framework, we come to several critical microarchitectural conclusions. First, unlike traditional server-workloads such as CloudSuite and BigDataBench that are based on the conventional thread-based execution model, event-driven applications are heavily single-threaded, and as such they require significant single-thread performance. Second, the single-thread performance is severely limited by the front-end inefficiencies of today’s server processor microarchitecture, ultimately leading to overall execution inefficiencies. The front-end inefficiencies stem from the unique combination of limited intra-event code reuse and large inter-event reuse distance. Third, through a deep understanding of event-specific characteristics, architects can mitigate the front-end inefficiencies of the managed-language-based event-driven execution via a combination of instruction cache insertion policy and prefetcher.