Comparing and Measuring Network Event Dispatch Mechanisms in Virtual Hosts
Permanent address of the item is
Virtualization technology provides the foundation for building and managing reliable virtualized IT infrastructure by abstracting processors, memory, storage and networking resources into multiple virtual machines. As a result, modern servers are rarely deployed over hardware dedicated to a single software environment. The single physical server is split into number of virtual web servers, where each virtual server is completely isolated from each other and has its own operating system. Event dispatch mechanisms such as select and poll are common approaches that are often implemented on servers to retrieve events from file descriptors. However, there are various other high performance event mechanisms, such as epoll for Linux, kqueue of FreeBSD and event ports for Solaris 10, available. The research conducted in this thesis focuses on measuring and comparing the performance of network event dispatch mechanisms, for TCP and UDP traffic, deployed by different virtual hosts under the same physical hardware specification. From the web server benchmark result, we observed that in the absence of idle connections, the event mechanisms select and poll performed comparatively well as regards to the high performance event mechanisms (epoll, kqueue,/dev/poll) in all the platforms. This is due to the fact that in this experiment the number of socket descriptors tracked by each event mechanism is not very high. However, the performance of select and poll degrades rapidly in all the system as the number of idle connections is increased. The results obtained from the UDP server benchmark show the similar pattern, as the number of ports opened increased, the response time for select and poll increased rapidly in all the platforms.