Link speeds in networks will in the near-future reach and exceed 100 Gbps. While available specialized hardware can accommodate these speeds, modern networks have adopted a new networking paradigm, also known as Network Functions Virtualization (NFV), that replaces expensive specialized hardware with open-source software running on commodity hardware. However, achieving high performance using commodity hardware is a hard problem mainly because of the processor-memory gap. This gap suggests that only the fastest memories of today’s commodity servers can achieve the desirable access latencies for high speed networks. Existing NFV systems realize chained network functions (also known as service chains) mostly using slower memories; this implies a need for multiple additional CPU cores or even multiple servers to achieve high speed packet processing. In contrast, this thesis combines four contributions to realize NFV service chains with dramatically higher performance and better efficiency than the state of the art. The first contribution is a framework that profiles NFV service chains to uncover reasons for performance degradation, while the second contribution leverages the profiler’s data to accelerate these service chains by combining multiplexing of system calls with scheduling strategies. The third contribution synthesizes input/output and processing service chain operations to increase the spatial locality of network traffic with respect to a system’s caches. The fourth contribution combines the profiler’s insights from the first contribution and the synthesis approach of the third contribution to realize NFV service chains at the speed of the underlying commodity hardware. To do so, stateless traffic classification operations are offloaded into available hardware (i.e., programmable switches and/or network cards) and a tag is associated with each traffic class. At the server side, input traffic classes are classified by the hardware based upon the values of these tags, which indicate the CPU core that should undertake their stateful processing, while ensuring zero inter-core communication. With commodity hardware, this thesis realizes Internet Service Provider-level service chains and deep packet inspection at a line-rate 40 Gbps and stateful service chains at the speed of a 100 GbE network card on a 16 core single server. This results in up to (i) 4.7x lower latency, (ii) 8.5x higher throughput, and (iii) 6.5x better efficiency than the state of the art. The techniques described in this thesis are crucial for realizing future high speed NFV deployments. Länkhastigheter i nätverk kommer inom en snar framtid att nå och överstiga 100 Gbps. Medan existerande specialiserad hårdvara numera kan tillgodose dessa hastigheter, tillämpas i moderna nätverk även ett nytt nätverksparadigm känt som funktionsvirtualisering av nätverk (NFV), som ersätter dyr specialiserad hårdvara med öppen källkodsprogramvara som körs på kostnadseffektiv, icke-specialiserad, vanlig dator (s.k. råvaru-enheter). Att uppnå hög prestanda med hjälp av standardmaskinvara är ett svårt problem, huvudsakligen på grund av prestandaskillnader mellan processor och minne. Denna skillnad medför att endast de snabbaste cache-minnena av idag måste användas för att uppnå högsta prestanda med minsta möjliga fördröjningar i höghastighetsnätverk. Sammankopplade nätverksfunktioner (s.k. tjänstekedjor) i existerande NFV-system använder mestadels långsammare minne, vilket innebär att ytterligare CPU-kärnor eller servrar behövs för att uppnå motsvarande höghastighetsprestanda vid hanteringen av datapaket. I denna avhandling kombineras fyra bidrag som möjliggör NFV-tjänstekedjor med betydligt högre prestanda och effektivitet jämfört med den senaste tekniken. Det första bidraget är ett ramverk som profilerar NFV-tjänstekedjor för att identifiera av orsaken till prestandaförsämringar, medan det andra bidraget utnyttjar profildata för att snabba upp tjänstekedjorna genom att kombinera multiplexering av systemanrop med olika schemaläggnings-strategier. Det tredje bidraget syntetiserar indata/utdata och tjänstekedje-operationer för att öka den spatiala lokaliteten av nätverkstrafiken i förhållande till systemets cacher. Det fjärde bidraget kombinerar profilerings-resultat från det första bidraget och syntetiseringsmetoden från det tredje bidraget för att möjliggöra NFV-tjänstekedjor kapabla att hantera datatrafik med samma höga överföringshastighet som den underliggande maskinvaran. För att göra detta överförs tillståndslösa trafikklassificerings-operationer till tillgänglig maskinvara (d.v.s. programmerbara switchar och/eller nätverkskort) med en indikativ märkning kopplad till varje trafikklass. På serverns sida klassificeras inkomna trafikklasser baserad på märkningen, följt av tillståndsstyrd bearbetning av paketen i tillgängliga CPU-kärnor utan inbördes kommunikation mellan kärnorna. Med användning av endast vanlig maskinvara uppnås i den här avhandlingen tjänstekedjor på Internet-leverantörsnivå och djupa paketinspektioner vid en hastighet av 40 Gbps, motsvarande den underliggande linjehastighet bearbetning, samt tillståndsstyrda tjänstekedjor med hastigheten motsvarande ett 100 GbE-nätverkskort på en server. Detta resulterar i upp till (i) 4,7x lägre latens, (ii) 8,5x högre dataöverföring och (iii) 6,5x ökad effektivitet jämfört med den senaste tekniken. Denna avhandling är avgörande för att förverkliga framtida höghastighetsnätverk. QC 20180829 European Union Horizon 2020 BEhavioural BAsed forwarding (BEBA) European Research Council (ERC) PROPHET Swedish Foundation for Strategic Research Wallenberg AI, Autonomous Systems, and Software Program (WASP)