|
|
From Supercomputers to PDAs: Cactus on an iPAQ
August 27th, 2002
|
Horst Beyer (left) and Denis Pollney (right) take a break from black holes.
|
Cactus was originally designed as a framework for
physicists with largescale applications which, to
model complex natural phenomena with adequate
fidelity, need the kind of computational resources
only supplied by the world's largest supercomputers.
One important design requirement has been to ensure that
the physicists developing and running their simulations
had a common working environment. Their codes should
be able to be developed and debugged on local laptops and
workstations, and then be immediately run on any final
production machine ... whether it be a Linux cluster,
a Cray T3E or any other supercomputer.
|
The Lemieux Terascale Computing System
at PSC is equivalent to 100,000 iPAQ Pocket PCs.
|
Other of our recent news items describe how Cactus
has been used for simulations
running across thousands of processors
distributed across several machines ... here we go
to the other end of the spectrum ... and describe
how Cactus can be run on a iPAQ Pocket PC from HP, one of the
latest generations of PDAs.
Physicists Horst Beyer
and Denis
Pollney, from the Numerical Relativity Group at
the Max Planck Institute for Gravitational Physics in
Germany, are more used to working with machines at the
other end of the Compaq product line. One of the
groups main resources is the 3000 processor Compaq
Alphaserver "Terascale Computing System" called
Lemieux at the Pittsburg omputing Center in the
USA, currently the 3rd
fastest computer in the world.
|
xgraph showing data from the simulation (click for fullsize image)
|
Swapping this 6 Teraflop, 3 TeraByte monster machine
for a pocket sized 206 Megaflop, 32 MegaByte iPAQ 3630
Pocket PC, the duo compiled and ran a Cactus
application, using the Intimate Linux Distribution,
graphing the output data also on the handheld with the
xgraph graphics package.
To compare this to Lemieux, 100000 iPAQ Pocket PCs would be
needed to provide the same amount of computing power as
the supercomputer. At todays prices buying these would
cost around $50 Million.
Using a Linux distribution on the iPAQ Pocket PC meant that
porting the the Cactus code and the xgraph graphics
package was relatively straightforward. Although they
used a simple WaveToy
application for this example, most of Cactus thorns
written in C, C++, or F77 could have been used. (As
yet there is no F90 compiler).
While it certainly isn't planned yet to start running black
hole simulations on handhelds, physicists do want to
start using such devices to complement their
high-performance computing work.
|
The Cactus WaveToy application
(click for fullsize image)
|
With the monitoring and
steering web interfaces which can be used with any
remotely running Cactus simulation, physicists can use
their handhelds, connected wireless to the internet,
to interact with their simulations whereever they
happen to be. From a web browser on the handheld, they
can check on all their simulations, visualize output
data, change parameters, and stop and restart them as
necessary.
Running Cactus on an iPAQ Pocket PC also demonstrates the
emerging Grid-orientated view for HPC ... portable
applications can make effective use of all of the
computing resources available to their
users. Intelligent resource brokers and schedulers can
send tasks to the most appropriate machines for
execution, taking into account factors such as cost,
efficiency, and time to completion. Grid-enabled
applications can migrate from resource to resource,
spawning subtasks to smaller machines. In this picture
a users iPAQ Pocket PC is just another, albeit small, available
resource.
Cactus is a main application for the European GridLab project,
which contains a whole workpackage on mobile computing
using on a range of devices including laptops and
iPAQ Pocket PCs.
|
How It Was Done:
Hardware Used:
iPAQ 3630 Pocket PC from HP
Compaq dual-slot PC card expansion pack
IBM Microdrive 340MB
|
Software Used:
Bootldr 2.18.44 (www.handhelds.org)
Familiar 0.52 (familiar.handhelds.org)
Cactus 4.0 Beta 12 (www.cactuscode.org
xgraph (jean-luc.aei.mpg.de/Codes/xgraph)
|
|
Initimate Linux Installation:
On the Microdrive:
Using some Linux distribution on a notebook make two partitions
on the microdrive using fdisk. The first should be an ext2 partition
(83) and the second a swap partition (82) of about 30 MB. (< 32 MB
for stability reasons)
fdisk /dev/hde
Format the first partition using reiserfs and make swap on the second:
mkreiserfs /dev/hde1 mkswap /dev/hde2
Boot into familiar.
Install the reiserfs modules:
ipkd install reiserfs-modules-2.4.18-rmk3
Download and install the package intimateboot_0.5-1_arm.ipk from intimate
at http://intimate.handhelds.org/install.shtml
ipkg install intimateboot_0.5-1_arm.ipk
cp /linuxrc /linuxrc.familiar
cp /linuxrc.intimate /linuxrc
To enable detection of the Microdrive during startup add the line
sleep 10
in /linuxrc below the line where cardmgr is called (in two places).
Run the command
mkdir -p /tmp/intimate && cd /tmp/intimate && wget
http://intimate.handhelds.org/installer/installer && sh installer
in a terminal window and follow the install instructions on
http://intimate.handhelds.org/install.shtml
Then, finally, you should have a working dual boot
system. The Familiar Linux Distribution on the iPAQ Pocket PC
and the Linux Intimate Distribution on the
Microdrive. Reboot and follow the on screen
instructions on your iPAQ Pocket PC to boot into intimate or
familiar.
|
|
Cactus and xgraph Installations:
To build cactus and xgraph you may need to install
g++ and a couple of the X libraries.
It is also useful to have CVS for easy downloading.
These were installed using
apt-get install g++ xlibs xlibs-dev cvs
Cactus and xgraph can then be downloaded using CVS (or
use a tarfile with the distribution described here).
The executables are built in the usual way. For Cactus,
this means changing into the Cactus directory and
typing
gmake wave-config gmake wave
To run the created executable, type
cp arrangements/CactusWave/WaveToyC/par/wavetoyc_rad.par exe cd exe
./cactus_test wavetoyc_rad.par
This will create output in the wavetoyc_rad subdirectory. To visualize this output, compile xgraph in its source directory
xmkmf make
The executable will be called xgraph. It's useful to put it in a visible place, like /usr/local/bin
Finally, you can plot your data using for example
xgraph wavetoyc_rad/phi.xl
|
|
|
|