Microarchitectural implications of event-driven server-side web applications

Yuhao Zhu, Daniel Richins, Matthew Halpern, Vijay Janapa Reddi
2015 Proceedings of the 48th International Symposium on Microarchitecture - MICRO-48  
Enterprise Web applications are moving towards serverside 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
more » ... server-workloads such as CloudSuite and BigDataBench that are based on the conventional threadbased execution model, event-driven applications are heavily single-threaded, and as such they require significant singlethread 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-languagebased event-driven execution via a combination of instruction cache insertion policy and prefetcher.
doi:10.1145/2830772.2830792 dblp:conf/micro/ZhuRHR15 fatcat:2sgy5uiisvfgvoymunks5gnlla