Architectural Support for Server-Side PHP Processing
- 24 June 2017
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM) in Proceedings of the 44th Annual International Symposium on Computer Architecture
- p. 507-520
- https://doi.org/10.1145/3079856.3080234
Abstract
PHP is the dominant server-side scripting language used to implement dynamic web content. Just-in-time compilation, as implemented in Facebook's state-of-the-art HipHopVM, helps mitigate the poor performance of PHP, but substantial overheads remain, especially for realistic, large-scale PHP applications. This paper analyzes such applications and shows that there is little opportunity for conventional microarchitectural enhancements. Furthermore, prior approaches for function-level hardware acceleration present many challenges due to the extremely flat distribution of execution time across a large number of functions in these complex applications. In-depth analysis reveals a more promising alternative: targeted acceleration of four fine-grained PHP activities: hash table accesses, heap management, string manipulation, and regular expression handling. We highlight a set of guiding principles and then propose and evaluate inexpensive hardware accelerators for these activities that accrue substantial performance and energy gains across dozens of functions. Our results reflect an average 17.93% improvement in performance and 21.01% reduction in energy while executing these complex PHP workloads on a state-of-the-art software and hardware platform.Keywords
This publication has 45 references indexed in Scilit:
- Architecting to achieve a billion requests per second throughput on a single key-value store server platformPublished by Association for Computing Machinery (ACM) ,2015
- Accelerating asynchronous programs through event sneak peekPublished by Association for Computing Machinery (ACM) ,2015
- Profiling a warehouse-scale computerPublished by Association for Computing Machinery (ACM) ,2015
- BigDataBench: A big data benchmark suite from internet servicesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2014
- Improved type specialization for dynamic scripting languagesPublished by Association for Computing Machinery (ACM) ,2013
- An FPGA memcached appliancePublished by Association for Computing Machinery (ACM) ,2013
- The HipHop compiler for PHPPublished by Association for Computing Machinery (ACM) ,2012
- Fast and precise hybrid type inference for JavaScriptPublished by Association for Computing Machinery (ACM) ,2012
- Clearing the cloudsPublished by Association for Computing Machinery (ACM) ,2012
- A new case for the TAGE branch predictorPublished by Association for Computing Machinery (ACM) ,2011