LJ Archive

UpFront

diff -u: What's New in Kernel Development

Zack Brown

Issue #115, November 2003

Linus Torvalds has taken another step toward the next stable series. The 2.5 series is over, and a 2.6.0-test series, in preparation for 2.6.0 proper, is underway. Along with the change in minor version number, Linus hopes to become even more restrictive of the sorts of patches he will accept. Although not exactly a code freeze, he has made it clear that big changes probably will be rejected, except in certain special instances. He intends to release 2.6.0 before the end of this year.

One of the longest, most bitter debates in Linux history is drawing to a close. For years, users have been begging for some way, given only a compiled kernel, to derive the configuration options used to compile that kernel. Many patches have been proposed, but finally it seems that 2.6 will do it. Randy Dunlap wrote the code to give the user freedom to expose the configuration through a /proc interface, to attach the config file itself to the kernel binary or to do neither of those things and simply ditch the data. After hovering uncertainly in Alan Cox's tree for a while, Randy's patch was accepted into Linus' tree sometime in late July 2003.

Mounting encrypted filesystems over the loopback device is now easy, after some work by Andries Brouwer and others on cryptoloop. Users enabling the BLK_DEV_CRYPTOLOOP configuration option will be able to mount encrypted filesystems transparently. Encrypting a set of files will be as easy as copying a directory tree from one place to another. Because this is done over loopback, it also is convenient to keep a small portion of one's system encrypted, leaving less-sensitive material in the clear. The only potential problem is that, as of mid-August 2003, cryptoloop may change the loopback APIs, forcing source-level changes in all drivers that rely on the loopback device.

A new kernel driver for the Synaptics TouchPad device came out in June 2003, based largely on the corresponding XFree86 driver. The driver, authored by Peter Osterlund, emulates a three-button mouse with two scroll wheels; it supports multifinger tapping, vertical and horizontal scrolling, edge scrolling during drag operations, palm detection and corner tapping. Currently, it shows every sign of making its way into the official tree before 2.6.0 comes out.

Daniel Stekloff wrote and released libsysfs, a convenient library to handle SysFS interfaces. He'd gotten sick of duplicating the same code over and over in all his SysFS-enabled applications. libsysfs makes the interfacing with SysFS much simpler. Greg Kroah-Hartman's udev replacement for DevFS is one of the most prominent projects currently using libsysfs, but I imagine many others will join in soon enough. Daniel also had a hand in the early design of udev, on which Greg's work has been based.

David Howells has produced CacheFS, a nifty filesystem that makes any block device look like a disk, which in turn can be used by any other filesystem. Although intended specifically to support the AFS filesystem, David designed CacheFS to require no knowledge of the filesystem layered above it. CacheFS looks like it's on the fast track toward kernel inclusion, as Linus Torvalds has been wanting something like it for a long time. Apparently, CacheFS is ideally positioned to provide filesystem-based version control features, and Linus is quite interested in this at the moment. However, because the code came out so late in the unstable series, it will require some additional user feedback before CacheFS can make it into the main tree. A backport to 2.4 also may be in the offing, although the prime candidate to do this, Jeff Garzik, has not yet committed to it.

Stephen Hawking's Project Gets SGI Linux System

Jason Pettit

Issue #115, November 2003

Modeling the 14-billion-year history of the universe—from the very first fractions of a second following the Big Bang to the present—calls for a unique combination of genius and technology. In the UK COSMOS Project, the genius comes courtesy of a group of British scholars and scientists led by Stephen Hawking, professor at the University of Cambridge, author of two best-selling books on the universe and its origins and head of the project.

For technology, the COSMOS consortium turned to SGI, which recently delivered a new 128-processor Altix 3000 supercluster running Linux. The new Altix supercluster represents the next phase of an SGI computational and visualization grid supporting the COSMOS Project, which involves numerous UK universities and is headquartered at Cambridge.

COSMOS investigators create competing models for the origin of galaxies and other large-scale structures. They also study theories about the creation of matter in the universe.

The acclaimed cosmologist, who holds the same Cambridge professorial post once held by Isaac Newton, predicts the newly acquired system “will enable us to keep up with the dramatic data about our universe which is now coming in, and the UK COSMOS team will accelerate their world-class research in cosmology.”

Jabber: www.jabber.org

David A. Bandel

Issue #115, November 2003

If you've ever used MSN Messenger, AIM or Yahoo Messenger and would like to set up an instant-messaging system in your company, Jabber is your ticket. In fact, the Jabber protocol is more capable than the proprietary ones. And as an added feature, Jabber can connect to MSN, AIM or Yahoo, albeit through an account on those systems. Requires: libcrypto, libdl, libresolv, glibc and libssl (optional).

JFFNMS: jffnms.sourceforge.net

David A. Bandel

Issue #115, November 2003

The “just for fun network management system” really is for more than just fun. It watches your systems and graphs activity of most any sort that can be ascertained with SNMP. It stores the data in an SQL database. It also can use tftp to back up configurations for devices such as Cisco routers or wireless access points. Requires: Apache, PHP with MySQL or PostgreSQL, SQL server, SNMP, RRDTool and tftp (optional).

Pushing Big Data at NASA Ames Research Center

Jason Pettit

Issue #115, November 2003

In just 25 seconds, the turbopumps of the space shuttle's main engines can empty a 26,000-gallon swimming pool. During the eight and a half minutes of main engine burn time, those pumps will have moved about 528,600 gallons of liquid hydrogen and oxygen.

Optimizing the design of these engines for future spacecraft and then proving that engine design even before it's prototyped is the job of scientists and engineers at NASA. At NASA Ames Research Center, aerospace joins other advanced research areas such as astrobiology, earth sciences and space sciences. A NASA Center of Excellence for Information Sciences and Technologies, Ames deploys some of the world's most powerful computing systems to achieve things that, quite literally, have never been done before. “We deal with large-scale problems”, says Bob Ciotti, terascale applications lead at NASA Ames. He adds:

When you're working in areas like climate modeling, nanotechnology, vehicle ascent/descent analysis, complex aeronautic stability and control problems or liquid rocket motor designs, you require vast amounts of computation focused on a single problem. So much, in fact, that we must limit the modeling complexity of these problems to fit on today's most powerful supercomputing systems so that they will complete in a reasonable amount of time.

For much of that power, NASA Ames and SGI codeveloped a 1,024-processor single system image (SSI) shared-memory SGI Origin 3000 system. SSI means that all 1,024 processors share all the memory between them and run one copy of the operating system. NASA currently is installing a new 256-processor SGI Altix 3000 supercluster running Linux. The Altix system will see broad use at the facility, due in large part to its high-bandwidth NUMAflex architecture.

“Large-scale problems require an extremely low-latency interface”, Ciotti says. He continues:

That determines how well you'll scale on these tightly coupled problems. And, by having a single system image, we benefit from a more efficient and simpler programming development environment and a more robust I/O architecture that's a good match for applications where we're pushing lots of data.

That sort of data-intensive work is a given at NASA Ames. For instance, prior to prototyping an engine design, engineers will model key components and digitally simulate their performance. Modelers would look in detail at about five rotations of the shuttle's main engine turbopump by dividing it up into many small snapshots. Think of it as an extraordinarily detailed movie that runs about 5,000 frames, recording about 0.02 seconds of real time on shuttle liftoff. It's not uncommon for a single simulation of this type to generate over a terabyte of data. Still, NASA engineers know it's worth it: “Making small design improvements prior to prototyping can have a dramatic impact on vehicle performance and significant cost savings over its life.”

The work underway at NASA also suggests a strong future for Linux as an HPC environment. “On Altix, there are ways we can do true memory sharing between Linux systems and somewhat mitigate the need for very large SSI, and that's a very powerful programming asset to have”, Ciotti says. “This platform will allow us to continue to leverage off the benefits of shared memory and make full use of the development work we've done over the last five years. We definitely see a path for doing ever more scalable work.”

The 256-processor SGI Altix 3000 supercluster Altix system will see broad use at the facility, due in large part to its high-bandwidth NUMAflex architecture.

Escalating Computing Demands at SARA

Jason Pettit

Issue #115, November 2003

In 2002, Dutch scientists began what's known as a “grand challenge” experiment: comparing more than 400,000 proteins extracted from numerous organisms. In less than a year, the task consumed more than half a million CPU hours on an SGI server driven by 1,024 processors.

Still, the Netherlands Organisation for Scientific Research (NWO) was hungry for more horsepower—a need that Professor Peter Nijkamp, chairman of the NWO, describes as “the constant demand for additional computational capacity”. So the group ordered an SGI Altix 3000 supercluster, powered by 416 new Intel Itanium 2 processors and bolstered with 832GB of memory. The system recently was installed at SARA, Computing and Networking Services (the Dutch National HPC and Networking Center). SARA's broad span of research includes groundbreaking work in climate research, medical science, water management and water quality calculations, fluid dynamics and turbulence modeling, computational chemistry and genomics.

All of these applications benefit significantly from global shared memory—a powerful enabling technology for which the SGI Altix 3000 system is uniquely equipped. Using global shared memory, the installed Altix 3000 system, running a single standard Linux OS on each of its 64 processor nodes, will be integrated with SARA's existing 1,024-processor SGI Origin 3000 server.

Hungry for horsepower, the Netherlands Organisation for Scientific Research (NWO) added a 416-processor SGI Altix 3000 supercluster with 832GB of memory to its existing SGI Origin 3000 server driven by 1,024 processors.

SolarWolf: pygame.org/shredwheat/solarwolf

David A. Bandel

Issue #115, November 2003

Here's another great time killer. If you like arcade-style games, this one provides hours of fun collecting boxes while dodging fireballs. Animation and graphics are excellent, as is the sound. If it only had a cannon, I could shoot at the fireballs. Requires: Python and Pygame module.

synonym: www.modulo.ro/synonym

David A. Bandel

Issue #115, November 2003

I can't count the number of times I've been asked about a way to copy all (and I do mean all) messages passing through a mail server, both incoming and outgoing, to a file or database. Well, synonym is a sendmail milter program that will do exactly that. Every message processed by sendmail is copied to a user. It also adds X-Copied-To: headers for anyone to see that the message has, in fact, been archived. Requires: libpthread, libsm, libsmutil, libmilter, sendmail with milter and glibc.

Tkabber: tkabber.jabber.ru/en

David A. Bandel

Issue #115, November 2003

For the Jabber server, you need a Jabber client. After looking over several of the Linux offerings, I found Tkabber to be among the easiest, most feature-rich of all, free or proprietary. Requires: tcl/tk, wish, tcllib and bwidget.

LJ Archive