Abstract

This thesis investigates the feasibility of porting Node.js, a JavaScript web application framework and server, to IX, a dataplane operating system specifically developed to meet the needs of high performance microsecond-computing type of applications in a datacentre setting. We show that porting requires extensions to the IX kernel to support UDS polling, which we implement. We develop a distributed load generator to benchmark the framework. The results show that running Node.js on IX improves throughput by up to 20.6\%, latency by up to 5.23×, and tail latency by up to 5.68× compared to a Linux baseline. We show how server side request level reordering affect the latency distribution, predominantly in cases where the server is load saturated. Finally, due to various limitations of IX, we are unable at this time to recommend running Node.js on IX in a production environment, despite improved metrics in all test cases. However, the limitations are not fundamental, and could be resolved in future work.

Details

Actions