Piglet: An operating system for network appliances

Stephen James Muir, University of Pennsylvania


Advances in the performance of commodity hardware and acceptance of open-source software have recently led to the increased use of systems based upon a combination thereof as network appliances. The principal thesis of this dissertation is that such appliances can operate more efficiently if their operating system is designed specifically for that task. I present Piglet as a novel design for such an operating system, and describe its implementation and evaluation in such a context. The core of the Piglet architecture is the Active Kernel. A dedicated kernel processor provides concurrency between kernel and applications and enables asynchronous shared-memory communication. The use of shared objects for all communication between applications and the kernel permits Piglet to offer much more efficient mechanisms for the invocation of system services than a conventional kernel. The experimental results presented herein demonstrate how these fundamental kernel features make Piglet a more efficient operating system for network appliances: reduced latency for individual operations and increased aggregate data throughput. In addition to detailing microbenchmark results to support those claims, I show how an existing web server application can readily make use of those enhancements to achieve a performance boost over standard operating systems. Finally, this dissertation examines, both quantitatively and qualitatively, some of the challenges and problems presented by the implementation of the Piglet architecture, and proposes solutions and/or architectural changes to address those concerns.

Subject Area

Computer science

Recommended Citation

Muir, Stephen James, "Piglet: An operating system for network appliances" (2001). Dissertations available from ProQuest. AAI3003667.