Hons/Masters project proposal:
Enhancing Communication using Xen in SMP Clusters

supervisor: Dr Peter Strazdins

suitable for project courses: COMP4005 (Honours), COMP4540, COMP6720/02, COMP8800; COMP6703, COMP8750, COMP8770; possibly COMP3750.

A Beowulf-style cluster computer is a parallel computer using Commercial-off-the-Shelf switch-based network to communicate between the processors. The ANU Beowulf cluster Bunyip is such a cluster based on Fast (100Mb) Ethernet switches. Clusters have proved a highly cost-effective high performance computer model, and have largely displaced the traditional massively parallel computers built with expensive vendor-supplied networks. Parallel programs for clusters are typically written using the MPI Message Passing Interface library.

Xen is a technology providing virtualization of operating system services, emerging as one of the hottest topic in operating systems R&D. It permits, for example, multiple hosts to run on an SMP (multiple CPU) machine, binding an independent operating system on each CPU. In the HPC context, virtualization holds many potential advantages, such as allowing easier job migration and permitting per-user OS customization. The latter is not only useful for performance, but may be critical for complex applications to run at all (as these often require a particular (Linux) distribution). However, the concern for virtualization is its potential overhead.

Linux clusters with SMP (multiple CPU) nodes with interconnects such as Gigabit Ethernet may be configured with multiple Network Interface cards (NICs). A question which naturally arises is how to optimally configure the hardware (NICs) and the software which drives them. Alternatives range from the CPUs sharing channel-bonded NICs through to dedicating a NIC to a particular CPU. In the latter case, technologies such as Xen can be utilized. In both cases TCP/IP stack overhead is a concern.

Preliminary work in 2006 with colleagues from Alexander Technology on the Jabberwocky cluster revealed that most aggregate bandwidth is achieved using dedicated NICs, with Xen hosts running on each CPU of a node slightly out-performing a single Linux OS over the whole node. This resulted in a paper presented at the Workshop on Xen in High-Performance Cluster Computing in December 2006.

A problem encountered is that communication between Xen hosts running on a node is about 5 times slower than communication between processes within a single Linux OS. This makes running real applications over clusters with multiple Xen hosts per node impractical. This project will implement in Xen a bypass mechanism to optimize communication in this case on the latest version of Xen. Time permitting (e.g. for 24 unit projects), it will evaluate application-level performance on multiple NIC communication configurations, including those utilizing Xen. The project has the potential for publishable work.

References

See the links above, and also:
Last Modified: Peter Strazdins, 03 Jan 2007