Friday, March 13, 2009

Supercomputers

Roadrunner is a BladeCenter QS22/LS21 Cluster, PowerXCell 8i 3.2 Ghz/Opteron DC 1.8 GHz, Voltaire Infiniband computer, using the linux os and the fastest today. Built by IBM, it does 1.026 pflops and serves the Alamos National Laboratory, USA. More info on it at http://www.top500.org/system/9707.

The top500 lists 8 supercomputers from India. The top three (eka, param and another) here are at Tata Sons, CDAC and IISc. Ranked 6th (436th worldwide) is a HP Cluster Platform 3000 DL160, Xeon 54xx 3.0 GHz, GigE running at Indian Institute of Technology, Madras.

I have been following the rapid progress on this front for the past five years now. I wish India could contribute more machines to the top500. It means a lot for molecular research, nuclear physics, artificial intelligence and advancement in general. My first introduction to supercomputers was by the young and energetic software engineer from Salem who built what was then the second fastest supercomputer on earth. My note on that event is reproduced here from http://www.ae.iitm.ac.in/pipermail/ilugc/2004-July/011279.html


Talk : Taste the THUNDER

Speaker : Mr Anand Babu ,
VP CDC, USA & Member, FSF-I.

Date : Sat Jul 17 17:00 IST 2004
Venue : ADI-TeNeT Seminar Hall, CSD 320, ESB, IIT-Madras.

The super-computer code named THUNDER was built was for Lawrence
Livermore National Labs (http://www.llnl.gov) by California Digital
Corporation, USA. It has 4096 Itanium2 64 bit Processors, 8TB of RAM,
Quadrics Interconnect and runs GNU/Linux. Code named "Thunder", with a
performance of 20 trillion floating point operations per second, it
has been ranked second in the TOP500 list of the worlds most powerful
supercomputers maintained at http://www.top500.org/list/2004/06
Anand Babu, a full-time free software developer is a core developer
behind THUNDER, who ensured that all the software he wrote for Thunder
was released under GNU GPL.

At the ILUGC Linux Install Festival 2004, celebrated last weekend, I
proposed that we invite Anand Babu, who happened to be in India, and
Bharathi quickly had a word with Raman, and it was decided to invite
AB for a talk on THUNDER.

Bharathi then announced about the talk on THUNDER by AB in the ILUGC
mailing list, incidentally also asking for help to arrange
transportation, and as I had been in touch with AB for quite some time
now, over legal issues connected with the Hymn project, and AB and I
were anyway due to meet, I happily offered to take the role of playing
host.

AB travelled all the way from Salem by road, along with his friend CB,
so that we could hear his THUNDER from close quarters. AB was at my
residence around 13:00 Hours as promised and I was thrilled to meet
AB, who was full of vim and vigour, sporting a disarming grin, and
within the first few moments I knew that he drew considerable strength
and power from free software philosophy. Many think of free software
philosophy in abstract terms, rather than simply living it.
Philosophy is merely an attitude that guides one's behaviour and
performance. A lot could be achieved with this clarity and all of
AB's contributions to projects that include working on Thunder, Hymn
and Hurd stand testimony to the often requested proof of utility of
free software philosophy.

Bharathi soon joined our discussion and we had a lively discussion on
free software, and the active part we could play. On our way to the
venue, we discussed about taking this high technology to everyone in
meaningful ways. Bharathi gave interesting insights into the
translation work in progress under Zha Linux Project: the mouse is not
'eli' - but 'chutti'! Click is translated as 'sodukki'. Soon we were
at the usual meeting venue for the ILUGC.

AB was briefly introduced, and immediately, AB started the talk on
THUNDER with a torrent of information about the harware and firmware
that make up the THUNDER super-computer, which is in fact an assembly
of 1000 individual interconnected computers sans screen, keyboard or
mouse. Each mother board has four Itanium2 processors, advanced bmc,
sensors and each system is connected to the other with Quadrics
interconnect. Hardware errors are handled with a great deal of
sophistication. Each of the 1000 serial ports are connected to a hub
called calypso. With FreeIPMI, and a collection of other tools, it is
possible to configure even the bios of all the 1000 computers with a
single command or even address a specific machine using its IP address
from a single node. Essentially, the network is automated, and manual
tasks are minimal that could be taken care by a single sys admin, to
whom to the super-computer appears as a single file system.

Though several applications work together to make Thunder possible, it
could not possibly work without FreeIPMI - Intelligent Platform
Management System, which is a programmable/extensible system for
building intelligent platform management solutions. FreeIPMI provides
"Remote-Console" (out-of-band) and "System Management Software"
(in-band) based on Intelligent Platform Management Interface (IPMI
v1.5) specification. This system includes its own portable userspace
IPMI device drivers and can be interfaced through C library, a shell
with readline capabilities. One could visit
http://savannah.nongnu.org/projects/freeipmi/, follow the links, maybe
talk with AB, to get to building their own cluster cloud and let the
world hear a loud clap of THUNDER!

FreeIPMI Library (libfreeipmi) the Core of FreeIPMI system consists of
LAN, KCS, SMIC, PCI/SMBIOS system interface device drivers, all
packaged in a single portable C library. Management applications can
access the BMC at various levels using higher level IPMI command APIs
or raw read/write interface to the driver.

fish, the FreeIPMI SHell provides a Shell, Extension/Plug-in and
scripting interface which allows one to fish in troubled waters,
enabling access through a set of IPMI commands. AB explained how
System Administrators can quickly add features or customize the system
using the Extension interface in Scheme language. For example,
Pushing System Event Log data to a MySQL server, Triggering alarm upon
Platform Chassis Intrusion, Generating email for critical platform
events like processor temperature above threshold limit or fan failure
or memory errors. In fact, many of the functionalities of this shell
are themselves implemented as Fish extensions.

Fish also provides scripting interface (#!/usr/sbin/fish) to write
useful command-line utilities. "sensors", "sel", "bmc-info",
"bmc-config" are actually Fish scripts.

THUNDER cost about US $25 Million, but is nowhere near the $350
Million that appears to have gone into producing the Super Computer
that is approximately twice as fast as THUNDER. AB revealed future
plans to vie for the top rank.

Shivshanker Chander, Bharathi and few others raised several
interesting questions on the design and technology behind the Super
Computer, and I hope they can give better narration or analysis of its
technical details. About ~30 of the active ILUGC members attended the
meet.

The talk then moved on to Gnu/Hurd. AB gave a demo session of GNU
Hurd, and soon we saw on the screen the Debian GNU/Hurd 0.3 booting
sequence and, to my surprise, the command prompt was waiting, ready to
run bash commands! Was not login necessary before we could run all
the commands? Not with Hurd. Global userspace was accessible to all
and the design objectives probably have their origins in the reasons
behind the GNU Project itself. Free software maximises free access to
computing resources, and naturally, we could expect free access to
files and commands which are freely available in the global userspace.
AB explained briefly about the Hurd kernel architecture, Mach, the
concept of translators and took us to the commands showtrans, settrans
etc. We were taken through the code for the /dev/null translator, and
AB explained how several translators could sit on one top of the other
and make writing of code easier. But all that could fully be possible
only after several Hurd components were in place, and requested the
programmers present to contribute time and effort to Hurd, which aims
at a kernel that is fully scalable and extensible with no syslimits.
AB steered clear from micro vs monolithic kernels and focused on what
remains to be done to make Hurd more mature and usable.

AB spoke on the Hymn issue that made international news. We can never
take any of our computing rights for granted, and defending the
freedom and rights of free software uses in the community, is an
unending task, and the sacrifice made by AB to support the world wide
community of free software users cannot be fanthomed easily. I wish
that the recent efforts of AB, for his active contribution to several
important projects released under the GPL, including THUNDER, Hymn and
Hurd are recognised, and particulary, I wish, many can see AB as
highly deserving the FSF Award for advocating use of free software.

AB also said that free software developers earn more than their
proprietary counterparts, mainly because users and developers have
been able to directly interact, which leaves the meddlesome middleman
out of the picture, who is forced to provide a real service to
survive. AB requested users to give credit to developers who make
contributions, and also take up responsibility for writing code in
suitable free software projects.

On our way back, we got a little personal and asked AB if he has tied
the knot, for which he replied that he was yet to fall in love! There
was a serious complaint from AB and CB that there were [no]t e[no]ugh
young women in the free software community!! Probably there should be
user groups led by women, which I think is a good idea, because,
generally mothers spend more useful time with children, and if many of
our young ladies could could get together to chat on free software,
this may help them to become productive users of computers, and may be
this is also a good way to pass on the culture to the next generation
more easily. AB appeared to be happy with his present status and
added with a wide grin:

"I am free, free as in Freedom" ;)

-Ramanraj :)