The Design and Performance of a Bare PC Web Server.
Long He, Ramesh K. Karne, Alexander L. Wijesinha · 2008
There is an increasing need for new Web server architectures that are application-centric, simple, small, and pervasive in nature. In this paper, we present a novel architecture for a bare PC Web server that meets most of these requirements. A bare PC Web server runs on any Intel 386 (or above) based architecture with no operating system in the machine. The application object or program contains all the necessary code to run in the bare machine including its boot and load programs. This approach to building Web servers has many notable features including optimized task scheduling, zero copy memory buffering, minimal interrupt intervention, concurrency control avoidance, minimal resource dependence, and potential scalability via a cluster of bare PC Web servers. The bare PC Web server executable is small, self-contained, and fits on a single floppy disk. The server does not use a local hard disk and the resource files are located on the network. We compare performance measurements for the bare PC Web server with three other optimized commercial Web servers: Microsoft IIS, Apache, and Tux. It is found that the bare PC Web server achieves an average first response time that is 3.9 – 5.4 times better, and a connection time that is 1.4 – 2.8 times better than the other servers. We also discuss alternative designs for bare PC Web servers and compare their performance.