<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="static/style.xsl"?><OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"><responseDate>2026-09-21T01:03:49Z</responseDate><request verb="GetRecord" identifier="oai:www.repository.cam.ac.uk:1810/288228" metadataPrefix="uketd_dc">https://api.repository.cam.ac.uk/server/oai/request</request><GetRecord><record><header><identifier>oai:www.repository.cam.ac.uk:1810/288228</identifier><datestamp>2022-10-20T16:39:30Z</datestamp><setSpec>com_1810_219481</setSpec><setSpec>com_1810_256065</setSpec><setSpec>col_1810_219482</setSpec></header><metadata><uketd_dc:uketddc xmlns:uketd_dc="http://naca.central.cranfield.ac.uk/ethos-oai/2.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:uketdterms="http://naca.central.cranfield.ac.uk/ethos-oai/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:doc="http://www.lyncode.com/xoai" xsi:schemaLocation="http://naca.central.cranfield.ac.uk/ethos-oai/2.0/ http://naca.central.cranfield.ac.uk/ethos-oai/2.0/uketd_dc.xsd">
   <dc:title>Network and storage stack specialisation for performance</dc:title>
   <dc:identifier xsi:type="dcterms:DOI">10.17863/CAM.35541</dc:identifier>
   <dc:creator>Marinos, Ilias</dc:creator>
   <uketdterms:advisor>Watson, Robert</uketdterms:advisor>
   <dcterms:abstract>In order to serve hundreds of millions of users, contemporary content providers employ&#xd;
tens of thousands of servers to scale their systems. The system software in these&#xd;
environments, however, is struggling to keep up with the increase in demand:&#xd;
contemporary network and storage stacks, as well as related APIs (e.g., BSD&#xd;
socket API) follow a `one-size-fits-all' design, heavily emphasising&#xd;
generality and feature richness at the cost of performance, leaving crucial&#xd;
hardware resources unexploited. Despite considerable prior research in improving&#xd;
I/O performance for conventional stacks, substantial hardware potential still&#xd;
remains unexploited because most of these proposals are fundamentally limited in&#xd;
their scope and effectiveness, as they still have to fit in a general-purpose&#xd;
design.&#xd;
&#xd;
In this dissertation, I argue that specialisation and microarchitectural awareness are necessary in system software design to effectively exploit hardware capabilities, and scale I/O performance. In&#xd;
particular, I argue that trading off generality and compatibility, allows us to radically re-architect the stack emphasising application-specific optimisations and efficient data movement throughout the hardware to improve performance.&#xd;
&#xd;
I first demonstrate that conventional general-purpose stacks fail to effectively&#xd;
utilise contemporary hardware while serving critical Internet workloads, and&#xd;
show why modern microarchitectural properties play a critical role in scaling&#xd;
I/O performance. I then identify core decisions in Operating Systems design that,&#xd;
although they were originally introduced to optimise performance, are now&#xd;
proven redundant or even detrimental. I propose clean-slate, specialised&#xd;
architectures for network and storage stacks designed to exploit modern&#xd;
hardware properties, and application domain-specific knowledge in order to&#xd;
sidestep historical bottlenecks in systems I/O performance, and achieve great&#xd;
scalability. With thorough evaluation of my systems, I illustrate how&#xd;
specialisation and greater microarchitectural awareness could lead to dramatic&#xd;
performance improvements, which could ultimately translate to improved&#xd;
scalability and reduced capital expenditure simultaneously.</dcterms:abstract>
   <uketdterms:institution>University of Cambridge</uketdterms:institution>
   <dcterms:issued>2018-12</dcterms:issued>
   <dc:type>Thesis</dc:type>
   <uketdterms:qualificationlevel>Doctoral</uketdterms:qualificationlevel>
   <uketdterms:qualificationname>Doctor of Philosophy (PhD)</uketdterms:qualificationname>
   <dc:language>en</dc:language>
   <uketdterms:sponsor>- Google PhD Fellowship in Systems and Networking.&#xd;
- NetApp NFF research grant.</uketdterms:sponsor>
   <dcterms:isReferencedBy xsi:type="dcterms:URI">https://www.repository.cam.ac.uk/handle/1810/288228</dcterms:isReferencedBy>
   <dc:identifier xsi:type="dcterms:URI">https://apollo8-f-pro.lib.cam.ac.uk/bitstreams/9ab6a37f-d5fa-4702-ad54-93561baefdaf/download</dc:identifier>
   <uketdterms:checksum xsi:type="uketdterms:MD5">3979ce3fd8a04970e1e54e0badf9d5dc</uketdterms:checksum>
   <dcterms:license>https://apollo8-f-pro.lib.cam.ac.uk/bitstreams/760469ef-08fd-4fe2-8769-1dfaef7bd634/download</dcterms:license>
   <uketdterms:checksum xsi:type="uketdterms:MD5">87eda9de84448d1f82354d60eee3eb5f</uketdterms:checksum>
   <dc:rights>https://www.rioxx.net/licenses/all-rights-reserved/</dc:rights>
   <dc:subject>Operating Systems</dc:subject>
   <dc:subject>Network Stacks</dc:subject>
   <dc:subject>Storage Stacks</dc:subject>
   <dc:subject>Kernel-bypass</dc:subject>
   <dc:subject>Performance</dc:subject>
   <dc:subject>Networking</dc:subject>
   <dc:subject>TCP/IP</dc:subject>
   <dc:subject>NVME</dc:subject>
   <dc:subject>Library OS</dc:subject>
   <dc:subject>Exokernel</dc:subject>
</uketd_dc:uketddc>
</metadata></record></GetRecord></OAI-PMH>