Archive for the 'Hard Hacks' Category

Building and Benchmarking a New Beowulf Cluster for Grid Computing and Other Applications

I presented last Feb 23 a paper documenting the commissioning of our new Beowulf cluster. The 8th Philippine Computing Congress was held in University of the Philippines–Diliman. My presentation was held at the new Computer Science building (beside the EEE building).
Here is a short description of the paper:

Title: Building and Benchmarking a New Beowulf Cluster for Grid Computing and Other Applications
Authors: Allan Espinosa and Rafael Saldana

Abstract

In this paper, we report our upgrade of our AGILA Beowulf cluster. Commodity desktop computers were used for the compute nodes. The server node was set-up as a high-end server class machine to house terabytes of data from the university’s scientific computing applications such as cellular automata, molecular dynamics, mesoscale climate modeling, and computational models requiring high performance computing infrastructures.

Embedded below is my presentation. Enjoy!

Technorati tags: , ,

LEGO Brick’s 50th anniversay!

I was in the department this morning when something caught my attention: one of the workstations display the Google webpage.  Their logo was made up of LEGO bricks!  Later on, Slashdot posted the article about the 50th Anniversary of the LEGO brick.  So that was the occassion.  LEGO made a significant contribution in my life.  Aside from having the toy bricks during childhood, my research career came from a LEGO related project:

  • Robotag: The Implementation of a Robotic Kit that Combines Primitive Behavior to Promote Higher Levels of Competence - this was the title of my senior research project in Philippine Science High School.  It brought me to places like the Intel Philippine Science Fair.  I enjoyed meeting from around the Philippines and some of which I met during college.
  • My project gave me enough experience to be a facilitator for PSHS-SEI (Science Education Institute) robotics workshop.  It was a summer workshop for science teachers around the Philippine to prepare them for teaching a robotics elective in their respective high schools.  The government gave away LEGO Mindstorms kits to each school. This was also my first paycheck as a “professional”!
  • I was invited to give a talk on mechanical design of robots using LEGO bricks. It was an introductory workshop for high school teachers to prepare for the Philippine Robot Olympiad. The event was sponsored by Felta, Inc. the distributor of LEGO Dacta, the educational kit version of the Mindstorms system.  The PSHS-SEI robotics program on the other hand used the commercial editions of the set distributed by Giftgate.

Here is my presentation on mechanical design a few years back. I discussed different types of joints and elaborated on the weakness and stress of the different types. It was basically a vector mechanics lecture using LEGO bricks for visualization. Additional slides are included elaborating on documenting your creations using LEGO cad software like MLCad and ldraw.

Technorati Tags: , ,

Powered by ScribeFire.

Multimeter recordings with the Prologix GPIB-USB controller

Prologix GPIB-USB controller

The department has quite a number of GPIB-interfaceable intstruments but the problem is that we no longer have a workstation with the legacy ISA card slots. We conducted an archaeology expedition in one of our laboratories and found cards in mint condition! Deniz Wong of the Chemistry department showed me some of their toys and their only workstation with the interface card. Even though this machine is very old, it still has great value to their lab because of its capability to instrument with their equipment.

We recently bought two Prologix v4.2 GPIB-USB controllers. This removed the need to find legacy workstations to be able to log data. All we need now are USB ports. The controller is basically an IEEE 488 to USB B adapter. Version 2.6 of the Linux kernel has a built in driver for it (ftd_sio). In my Gutsy workstation, it creates a serial device name “ttyUSB0″. Using serial communications software, I was able to talk to the device.

Test setup

To test the controller, I tried to record voltage readings from a 5-18 volt power supply as shown in the Figure above. The numerical reading below is the current DC level of one of the power supplies made by students in the ECE 21 Workshop class. The controller was setup in device mode or listen mode which as activated using the “++mode 0″ command in the serial terminal. The HP 34401A multimeter was then set to talk mode to send data to the device controller. According to the manual, the HP-IB address should be set to address 31 to activate talk mode. HP-IB was also selected as the interface in the settings instead of the default RS-232. To simulate fluctuating voltage reading, I swung the resistance knob to vary the data recordings. Below is a plot of the terminal session:

Sample HP 34401A log

The next would be to consider the sampling time in obtaining the data to incorporate a voltage versus time reading. These recordings will be useful in obtaining the natural response of the circuits.

What to do with a broken Rubik’s Cube: make a fused cube

This is a relatively overdue post. I will use this to introduce myself in the Philippine Cubers Association (PCA) forum.

I bought a Rubik’s Cube a few months ago from national bookstore. It was too late when I found a factory defect. The center face cube was broken and is not attached firmly into the kernel (the internal piece that makes the cube work). Gluing it was not an option since it will immobilize a face on the cube. Thinking on the constraints made me think of an idea: a fused cube!

There are already a lot of fused versions of the Rubik’s cube. A simple Google search will gives you Rubik’s Fusion, Rubik’s Fusion+, Siamese Cubes. Some of these “cube mods” are actually available online. I also found DIY sites on how to make them. And the easiest to build was called a “Fused Cube” in TwistyPuzzles.com.

Constructing the cube was fairly simple. As seen in Ton’s Puzzle Building Corner, One has to first create quarter circle grooves on the 3 center faces of each cube. Here is a picture of the kernel found on his site:

I made the grooves as found in the picture by drilling the initial cuts on the center faces. The final sculpturing for finishing the quarter circle cut was made using a grinder and a file. The image below shows both modded kernels pre-assembled with the other cube pieces.

fused cube internals

Both cubes were attached together using Mighty Bond (superglue). Solving this cube was more challenging and requires more thinking because of you cannot move the center pies. I will make another post regarding my solution for solving this fused cube.

fused cube

Technorati Tags: , , , ,

Building a 1.2 Terabyte server

At last after several months of processing paperwork through the Purchasing Office, our 1.2 terabyte Beowulf cluster server has finally arrived! This will be used to replace our recently decommissioned Beowulf cluster deployed last 2001. It will serve the scientific community of Ateneo de Manila for various numerically intensive problems like bioinformatics, climate modeling, gellation of natural products, coding theory, etc. The server uses Promise FastTrak SX8300 raid controller to be able to create a RAID 5 image of the 6 320 Gb hard disks. The picture below shows the 6 channel hot swap bay:

6 driver hotswap bay

We were having problems in creating the RAID image during the first few days of our installation. I called the vendor’s supplier, PC Trends for basic troubleshooting and support. They were very responsive with our concerns and replaced our controller with a new one in their site visit. Now I was able to succesfully create a RAID array (called an LD device in the FastTrak manual).

The next step is installing the operating system itself. We used the Rocksclusters system [1] developed at the San Diego Supercomputing Center. I downloaded their latest version, v. 4.3 Mars Hill. Their solution based based on CentOS 4.4 which in turn is a rebuild of Redhat EL 4 update 4. In order for the OS to recognize the images, drivers from RAID cd must be installed. Unfortunately they only built disk drivers (dd images) for the first release of Redhat EL. Issuing a “frontend dd” on the isolinux boot prompt was not able to successfully recognized this driver disk since they have different update version of the 2.6.9 kernel. Thus I have to first install the OS without recognizing the RAID device, and then build a disk driver from it using the Partial Linux source code driver.

Building the driver was very straightforward since the README file describes how to build the modules. Their partial source code generates the modules napa.ko. Then the next step is to integrate it with the disk driver image to create a new one dedicated for Rocksclusters. The first is to create the modules.cgz file inside the image. Assume that we are building for kernel version 2.6.9-xxEL

DRIVER_ROOT$mkdir -p`uname -r`/i686
DRIVER_ROOT$cp napa.ko `uname -r`/i686
DRIVER_ROOT$ls -1 `uname -r`*/i686/* | cpio -Hcrc -o | gzip -9 > modules.cgz

Mount the pre-built image found on the FastTrak driver CD and copy modules.cgz. Also edit the install file to update the base_ver variable with the kernel version. Notice I also built a driver for the SMP version of the kernel.

#!/bin/sh
drv_basename=napa
remove_module=
base_ver=”2.6.9-5.EL 2.6.9-5.ELsmp”
drvname=”${drv_basename}.ko”

Using the install script from the driver image, I installed the kernel module after installing the OS. I am having a bit of trouble integrating the disk driver during the OS installation itself. After loading the module at the start of the installation process, the machine restarts. It is not any of my concern as of the moment to get the disk driver working during the installation. Now I am able to recognize our RAID controller. Just take a look at that 1.2 Tb of disk space

df -h

Here are my modules.cgz builds both for Rocksclusters 4.2.1 and Rocks 4.3.

Technorati Tags: , , , , ,