[Home] [Services] [Philosophy] [Experience] [Software] [Publications] [Tips] [Contact]

Topics

Which platform?
Choosing a password
Network File System (NFS) Tuning
Infiniband on FreeBSD
Running an Open Source OS on an Intel Mac

FreeBSD and InfiniBand

FreeBSD 9.0 introduced support for InfiniBand, a high-speed, low-latency network interface used primarily for distributed parallel programs using MPI and similar tools on HPC clusters.

For details and the latest news, visit the FreeBSD InfiniBand wiki.

Alternatives to InfiniBand include low-latency GigE and 10 GigE technologies. Low-latency GigE is often overlooked, but should be considered as a low-cost alternative where latency is the primary bottleneck and bandwidth is less important. This is often the case with distributed parallel programs based on MPI or other message-passing APIs.

If I/O bandwidth to a centralized RAID server is a concern, GigE will probably be inadequate, since it has only a fraction of the bandwidth of a typical RAID.

Starting with FreeBSD 10.0, Infiniband support is available through kernel modules, but you may need to build them manually. This script automates the process.

Installing InfiniBand on FreeBSD 9.x and earlier is a simple, but slow process, as it involves rebuilding the entire OS from source. The scripts below automate the process. The are tested on FreeBSD 9.1.

Run freebsd-ib-setup first, and follow the on-screen instructions.

freebsd-ib-setup
freebsd-ib-setup-finish
freebsd-ib-setup-single-user

High-speed NFS Servers

NFS is often considered a major bottleneck in the HPC world. Those looking for better shared I/O performance often turn to more complex and expensive distributed filesystems.

However, a fast RAID filesystem such as ZFS coupled with a high-throughput network interface such as InfiniBand or 10 GigE should be able to provide sufficient performance for most needs on small and medium sized HPC clusters, at very low cost. Most HPC clusters have a high-speed dedicated network for message passing already, so it's only a matter of building a file server that can utilize it well.

This can generally be done using stock hardware and open source software tools. FreeNAS, a specialized FreeBSD distribution aimed and easy deployment of Network Attached Storage (NAS) appliances, is of particular interest. FreeBSD offers stable, native support for ZFS, renowned stability and performance, and ease of setup. A typical FreeNAS server can be deployed in under an hour, and will usually provide outstanding performance with little or no tuning.