Return to search

Enhancing Quality of Service metrics for high fan-in Node.js applications by optimising the network stack : Leveraging IX: The Dataplane Operating System / Förbättran av Quality of Service för högbelastade Node.js-webbapplikationer genom effektivare operativsystem

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. / Detta exjobb undersöker möjligheterna till att använda IX, ett specialiserat dataplansoperativsystem avsett för högpresterande datacentertillämpningar, för att köra Node.js, ett webapplikationramverk för JavaScript-applikationer. För att porta Node.js till IX krävs att vi utvidgar IX med funktionalitet för samtidig pollning av Unix Domain Sockets och nätverksflöden, vilket visas samt genomförs. Vidare utvecklas en distribuerad lastgenerator för att utvärdera applikationsramverket under IX jämfört baslinje som utgörs av en omodifierad Linuxdistribution. Resultaten visar att throughput förbättras med upp till 20.6\%, latens upp till 5.23× och tail latency upp till 5.68×. Sedermera undersöker vi huruvida latensvariansen ökat på grund av request-omordningar på serversidan, vilket tycks vara fallet vid hög serverbelastning, även om andra faktorer tycks ha större inverkan vid låg serverbelastning. Slutligen, även om alla storheter förbättrats vid alla observerade mätpunkter, kan ännu inte vidspredd adoption av IX för att köra Node.js applikationer rekommenderas, främst på grund av problem med horisontal skalning samt problem att ingå som frontend-server i en klassisk tiered-datacentre arkitektur.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-176504
Date January 2015
CreatorsLilkaer, Fredrik Peter
PublisherKTH, Skolan för datavetenskap och kommunikation (CSC)
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageSwedish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0017 seconds