SPEED QUEEN the Openssi Framework Rearranges Processes for Easy and Transparent
Total Page:16
File Type:pdf, Size:1020Kb
SYSADMIN OpenSSI www.sxc.hu Building high-performance clusters with OpenSSI SPEED QUEEN The OpenSSI framework rearranges processes for easy and transparent clustering. BY ALEKSANDER KORZYNSKI Single System Image (SSI) clus- source code of the program contain clus- OpenSSI constantly monitors the load ter is a collection of separate tering code – or at least that the program on the computers in the cluster, and it Acomputers that appear as a sin- be linked to a clustering library. automatically migrates processes among gle multi-processor system. SSI cluster- OpenSSI is a comprehensive, open the nodes. The OpenSSI system is capa- ing platforms are typically implemented source SSI clustering solution for Linux ble of migrating a multi-threaded appli- at the kernel level. based on HP’s NonStop clustering plat- cation, but it cannot migrate individual In SSI high-performance clusters, the form. NonStop is derived from Locus, threads. A migrated process can con- program does not even have to know it which was developed in the 1980s. tinue with the same operations it was is running in a cluster. The only require- OpenSSI can transparently spread pro- doing at the original machine. It can ment is that the program spawn multiple cesses over multiple machines – a fea- read and write to the same files or de- processes. These processes then pass ture known as load-leveling [1]. Other vices. A migrated process can even con- transparently among the computers in SSI Linux clustering platforms capable tinue Inter-Process Communication the cluster. of load-leveling include openMosix and (IPC) over a pipe or socket. Although SSI clusters are not as scal- Kerrighed. Most applications run on OpenSSI able as some of the other clustering al- OpenMosix is by far the most popular without any modifications with some ex- ternatives, they offer a significant advan- SSI clustering alternative for Linux. In ceptions, as listed in the man page for tage in that the program running on the July, however, it was announced that the the migrate command. OpenSSI also pro- system doesn’t even have to know the openMosix project will end in March vides a library that programs can use to cluster exists. Other high-performance 2008. Kerrighed is relatively new and is control the cluster. clustering platforms require that the under rapid development. In this article, I will show you how to Administrative Features Aleksander Korzynski is a Software set up load-leveling in OpenSSI, starting The view of the filesystem is the same at Developer at ClusterVision in the with an overview of relevant OpenSSI every machine; however, the contents of Netherlands. Earlier this year, he re- features, then describing the OpenSSI in- a particular file can be different at each ceived his MSc from the Warsaw stallation and configuration before using computer in the cluster. This occurs University of Technology in Poland. a cluster to compile source code on mul- through a feature known as Context- His thesis project included analyzing tiple machines at once. Dependent SymLinks (CDSL). and modifying the source code of And finally, I will demonstrate a visual A CDSL is a symbolic link that points THEAUTHOR the OpenSSI kernel. He enjoys play- monitoring and management tool for to different file contents at each ma- ing snooker. OpenSSI. chine. Devices on the local computer are 64 ISSUE 84 NOVEMBER 2007 OpenSSI SYSADMIN available under /dev as usual, and de- If you want the cluster to be accessible The first problem you could encounter vices on other machines are accessible from an outside network, it’s a good idea is that your network card might not be under special subdirectories in /dev. to configure another network card on supported. Because the Live CD is based Process management is cluster-wide. one of the machines, rather than using on the old 2.4.22 kernel, it might not rec- The whole cluster shares a single PID the interconnect for that purpose. You’ll ognize late model cards. For instance, it space, with a single naming space for be able to access any computer in the didn’t recognize my network card, IPC objects. cluster through the system with the two which was manufactured in 2007. Additionally, the /proc filesystem is network cards. The other problem is that, contrary to modified to show information about all the official documentation, the Live CD the processes in the cluster. Init and Non-Init has buggy support of Etherboot. It only Many standard system tools work with OpenSSI is difficult to install. The official supports PXE well. This problem has OpenSSI without any modifications, al- documentation calls the procedure been reported to the OpenSSI mailing though some tools are specifically “somewhat clunky.” You should be fairly list. Check whether your card supports adapted for OpenSSI. The ps or top com- familiar with the distribution you are PXE. If you’re unlucky, jump to the hard mands, for example, display processes using, so that you’ll be able investigate drive installation directly. running on all computers in the cluster. and solve potential problems. To run the Live CD, download the CD In OpenSSI, one node is special and ISO image [2]. You have to burn it to one Versions called the init node. The init node boots blank CD only. You will boot only one The OpenSSI project supports stable and directly from the root filesystem. The re- node from the CD, then you’ll boot the development release branches. The sta- maining nodes boot over the network. remaining nodes over the network. ble versions are numbered 1.2.x and the To boot the non-init nodes over the development versions inhabit the 1.9.x network, you need Etherboot or PXE. Setting up a Cluster series. The stable branch is based on the Etherboot is free software that you in- For clarity, I’ll guide you through setting 2.4.x Linux kernel and the development stall Etherboot on a bootable medium, up a cluster of two nodes. The first node branch on the 2.6.x kernel. The latest like a floppy, a CD, or the hard drive, or will be the init node, and the other node stable version is OpenSSI 1.2.2, which is flash it into the network card’s ROM. will be the non-init node. based on kernel 2.4.22. The latest devel- Almost any network card is compati- First, enter the BIOS setup of the non- opment version is 1.9.2, which is based ble with Etherboot. PXE, on the other init node and enable PXE. Next, reboot on kernel 2.6.10. hand, is already integrated onto some the node. It will display its MAC address OpenSSI is released through distribu- network cards, and you usually enable and hang waiting for the boot server. tion-specific packages. Stable series re- it in the BIOS setup. Write the MAC address down on a piece leases are available for Fedora Core 2, of paper. Debian 3.1 (Sarge), and Red Hat 9. Live CD Installation Now boot the init node from the Live Development releases are available for The easiest way to get started with CD. Wait until you are given the shell Fedora Core 3 and Debian 3.1 (Sarge). OpenSSI is by booting the Live CD; how- prompt. If you can’t boot due to hard- You can also find a Live CD version that ever, you may face two problems with ware problems, you can try the hard runs OpenSSI 1.2 and is based on Knop- the Live CD. drive installation. Using the 1.9.x pix 3.6. Development Branch Hardware The development branch is a port of The OpenSSI team has an ambitious To create an OpenSSI cluster, you’ll need the stable branch to the 2.6 kernel and road map. According to OpenSSI devel- at least two PCs and a local area net- to newer Linux distributions. The branch oper Roger Tsang, the next release will work. The network used for connecting inherits the advantages of the 2.6 kernel, be 1.9.3 in the development branch. It the machines in the cluster together is such as better I/ O schedulers, greater will be based on Linux kernel 2.6.11 and called the interconnect. The faster the scalability, more supported hardware, will include enhancements to high-avail- interconnect, the better your perfor- and an improved virtual machine. ability clustering, the cluster filesystem, The development branch adds support and the OpenSSI core. It will also add mance will be. for running OpenSSI in the Xen and experimental support for the Infiniband If you are using the OpenSSI Live CD, Linux KVM virtual machine environ- network architecture. none of the computers has to have a ments. The next release in the develop- Other plans include porting to the Linux hard drive. One computer will boot from ment branch will include even more im- 2.6.16.x stable kernel series. Ports to Red CD-ROM and the remaining computers provements. Hat Enterprise Linux 5 and the related will boot over the network. For the tradi- As of this writing, the development CentOS 5 are in the making. Support for tional hard drive installation, only one branch has a notable bug. The bug is ob- x86_64 hardware is under development computer has to have a hard drive. served when a process that has been as well. The machines that boot over the net- moved from one machine to another lis- Once the 1.9.x branch is stable, it will work can start booting from floppy, CD- tens on a TCP/ IP socket.