Skip to content
wittrock edited this page Apr 4, 2013 · 8 revisions

Cluster Usage

Note that in the below, I am not publishing the name or IP of the cluster. Please do not post this information publicly.

There are 8 cluster nodes, composite1 through composite8. composite8 is the head node, and everyone should have an account on there. The other nodes are assigned to researchers as follows:

  • composite1 - Qi. John, Yang in coordination with Qi. Large machine for multicore scalability experiments.

  • composite2 - John, Yang. Medium machine for some multicore scalability experiments.

  • composite3 - Jakob.

  • composite4 - Yang.

  • composite5 - John.

  • composite6 - Andrew.

  • composite7 - Workload generation. This machine is reserved for a generator of web traffic to other nodes. In some cases, we'll need more than one node for workload generation. In these cases, coordinate with others to get more nodes.

  • composite8 - Head node. Do not use this for anything. It is there to tunnel through to the other nodes.

Node Power Control

The power control for each node can be accessed via ssh from within the cluster. The power control can be accessed at the IP address of the node (retrieved using e.g. ifconfig on the node or cat /etc/hosts on the head) plus 50.

  • ssh root@pduip
  • $ cd system1
  • $ reset

Building a Kernel on coscluster

Note that you will probably not need to do this. John was nice enough to already set up all of the nodes with patched kernels. You only need to do this if you make Linux kernel changes.

  • Grab the source of 2.6.36: wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.gz

  • You're going to make a .deb of the kernel images, so make sure you have the following installed:

    • sudo apt-get install fakeroot kernel-wedge build-essential makedumpfile kernel-package libncurses5 libncurses5-dev
  • If you don't know if you have all the dependencies for this version of the kernel (you probably already do, I DID NOT have to do this step):

    sudo apt-get build-dep --no-install-recommends linux-image-$(uname -r)

  • Make sure that you've patched the kernel with the appropriate patch from the Composite repo:

    $ wget https://raw.github.com/gparmer/Composite/master/src/platform/linux/patch/linux-2.6.36-cos.patch $ patch -p1 < linux-2.6.36-cos.patch

  • Assuming that you're using the dot_config file from the Composite repo, you'll need to make sure the kernel config contains the drivers you're going to need (DOUBLE CHECK YOUR NETWORK CARD MODEL AND THAT THE DRIVERS FOR IT ARE GOING TO BE INSTALLED):

    $ cp dot_config-linux-2.6.36.config.old .config $ make menuconfig $ #...check that your appropriate drivers will be built

  • Set your concurrency level: $ export CONCURRENCY_LEVEL=N, where N is approximately your number of processor cores + 1

  • Now you're going to actually build the kernel:

    $ make-kpkg clean

    $ fakeroot make-kpkg --initrd --append-to-version=-some-string-here kernel-image kernel-headers where -some-string-here is probably something like -composite3 or -composite<Some_version_number>

  • ...wait a while.

  • $ cd ..

  • Install your .debs:

    $ sudo dpkg -i linux-image-2.6.36<some_version_string_here>10.00.Custom_i386.deb $ sudo dpkg -i linux-headers-2.6.36<some_version_string_here>10.00.Custom_i386.deb

  • And finally, MAKE SURE you install an initramfs:

    $ sudo update-initramfs -c -k 2.6.36-<your_composite_version_string>

    where your version string is the same as the argument --append-to-version=<some_string_here> when you built the kernel.

  • $ sudo update-grub

  • Now reboot and hope that nothing broke!

Building Composite on Coscluster (work-in-progress)

You may also have some other dependencies that you need to install. I'll list them out here. The way to install them on coscluster is sudo apt-get install <name_of_dependency>.

  • binutils-dev