Turning computers into multitasking wonders

by Sylvain Comeau

Like time, the advance of computer technology marches relentlessly on. At McGill, a three-year project to significantly boost the efficiency of computers will be completed in November of this year.

The EARTH (Efficient Architecture for Running THreads) project was launched in November of 1993.

Working with an NSERC (Natural Sciences and Engineering Research Council) strategic grant, project leader and computer science professor Guang Gao, along with a team of McGill and Concordia university colleagues, graduate students and two postdoctoral fellows, are developing a "multithreaded" computer architecture model (the 'blueprint' for a computer's system and operational model, which specifics how a computer will perform).

"In principle, our system will be portable to a variety of hardware platforms," says Gao. "One of our goals from the start was to turn conventional machines into multithreaded machines."

A "thread" is a group of commands or stream of execution within a computer program or operating system. Multithreading effectively speeds up an individual computer by "hiding" the latency period--the time during which a computer performs a certain function, while the user twiddles his thumbs or gets up to make some coffee.

With the system developed by Gao and his team, a computer can begin executing another thread during a long operation. The result is that it completes more than one task at once, and generally performs faster.

But Gao cautions that "the computing power of one machine is limited by its single processor. Our program can't go beyond the limits of one processor; it can only keep it busy 100 per cent of the time."

EARTH can also link up desktop computers to perform extremely high level number crunching problems, such as complex numerical scientific computations, which are normally performed by supercomputers. The results increase proportionally as more computers are added to the mix.

"Two machines connected together doubles the performance, four machines quadruples it, and so on. This is the way modern supercomputers are built. The big Cray supercomputers cost $30 million--they are too expensive. Canada buys a few, for weather prediction, but most countries can't afford them."

Yet there is a tremendous need for affordable supercomputing.

"Many engineering problems need supercomputing power. The most cost effective way is to link work stations to deliver high performance; multithreading is a way to get you there."

Gao says that hundreds of machines could be linked up this way, with a corresponding increase in computing power with each computer.

"There are physical limitations in linking up that many computers, but we don't think there are any theoretical ones. With our system, maybe as many as a thousand computers could be linked up to do the same job."

He believes that his system, once completed, will even be able to do supercomputers one better.

"Multithreading can address a much broader range of applications than traditional supercomputers. Supercomputers are like a centralized regime, and everything has to be bureaucratic, but multithreading provides a more decentralized structure."

Thus, multithreading is better suited for irregular applications.

"Supercomputers have too rigid a regime to handle data with an irregular structure. With multithreading, that's not a problem."

Irregular applications could include molecular organic chemistry modelling and genetic modelling, in which supercomputers are hampered by variations in nature.

"Nature is not precise enough for the number crunching supercomputers. (For example) in an application like protein folding (modelling) there is an irregular structure, and a lot of communication between parts of the gene."

With EARTH, the key model to make the multiple threads work together is called dataflow, which Gao compares to a hand with many fingers.

"You could say that supercomputers have only one finger to work with, but with multithreading, you are working with many fingers. Each finger points to one instruction, and they can all work simultaneously."

The action of the various "fingers" is carefully regulated.

"Since the system has many fingers, we need to coordinate between them. We group several nodes (lines of code) together so that, instead of pointing at only one line, each finger points to a group of lines."

A 20-node EARTH system was first inaugurated on August 31, 1995, in a joint colloquium between the McGill-Concordia team and a team from renowned computer firm GMD-First in Berlin, Germany. GMD developed MANNA (Massively-parallel Architecture for Numerical and Non-numerical Applications), which was used as a high performance hardware platform for EARTH.

The architecture was also demonstrated at an IBM computer conference last November. Gao is currently working with a computer start-up company called Myrinet, affiliated with the California Institute of Technology, to make the progam compatible with any workstation. He is confident that EARTH will continue to make waves in the fast changing world of computers.

"The future lies in linking computers together; we've demonstrated a way of doing it."

Gao is working with McGill computer science professors Laurie Hendren and Prakash Panangaden, and former Concordia computer science professor Herbert Hum.