ShaRE: run-time system for high-performance virtualized routers

dc.contributor.advisorVin, Harrick M.en
dc.creatorKokku, Ravindranathen
dc.description.abstractThe enormous size and scope of today’s Internet make the deployment of new network technologies and advanced services difficult. One strategy to address such ossification is to combine two evolving trends in building network services—overlay networks and network virtualization. The combination allows multiple overlay networks providing alternate end-to-end services to co-exist on a shared virtualized substrate. The building blocks of such a substrate—termed virtualized routers— utilize programmable multi-processor hardware to provide the flexibility of hosting diverse services simultaneously, and process packets at high rates. In this dissertation, we describe the design and implementation of ShaRE, the first run-time system for such high-performance, multi-service virtualized routers. ShaRE provides two functionalities. First, ShaRE multiplexes hardware resources among multiple services while preventing damaging interactions and instabilities. Second, ShaRE exposes a packet-processing-oriented resource abstraction layer and includes a set of adaptation mechanisms to simplify the programmability and portability of high-performance network services. Virtualized routers exhibit several unique characteristics that make the above functionalities challenging. First, network services are required to process packets within a small delay from their arrivals. Second, at these time-scales, network traffic is bursty and often hard-to-predict. Third, the overhead of reallocating processors from one service to another in current router hardware is larger than the packet processing time. Finally, to achieve high performance, router hardware (unlike conventional systems) includes a complex array of resources such as multi-core processors, fixed-function co-processors, and inter-processor communication mechanisms. In designing ShaRE, we make three contributions. First, we design Everest, an agile and wary scheduler for allocating processors to services in high-performance routers. Everest’s agility and wariness help cope with stringent delay tolerance, and difficult-to-predict and significant fluctuations in packet arrival rates, and large context-switch overheads. Second, we demonstrate that the efficacy of a scheduler depends on various system, workload and service characteristics, and design variants of Everest that perform the best under different characteristics. Finally, to minimize the overhead of replicating services or check-pointing and migrating services from one processor to another, we identify and exploit several unique characteristics of network services. We instantiate our contributions on Intel’s IXP2400 programmable router hardware.
dc.description.departmentComputer Sciencesen
dc.rightsCopyright is held by the author. Presentation of this material on the Libraries' web site by University Libraries, The University of Texas at Austin was made possible under a limited license grant from the author who has retained all copyrights in the works.en
dc.subject.lcshComputer networksen
dc.titleShaRE: run-time system for high-performance virtualized routersen
dc.type.genreThesisen Sciencesen Sciencesen University of Texas at Austinen of Philosophyen

Access full-text files

Original bundle

Now showing 1 - 1 of 1
Thumbnail Image
815.27 KB
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
1.65 KB
Plain Text