Messages in this thread |  | | Date | Sat, 22 Jun 1996 12:50:23 +0200 (MET DST) | From | Giuseppe Ciaccio <> | Subject | GAMMA: a Network Of Workstation based on Active Messages and Linux |
| |
Hi guys,
we are currently developing a parallel machine based on the NOW (Network Of Workstation) architecture and on the Active Message communication paradigm. Its name is GAMMA (Genoa Active Message MAchine).
As for other similar projects, the main idea is to use cheap off-the-shelf components, whose performances are not that bad nowadays, and to exploit their capabilities as much as possible, with particular attention to the exploitation of communication hardware performances (mainly low latency, since bandwidth is still quite poor and doesn't scale, at least for low-end products).
Different of other similar projects, our approach to efficient exploitation of communication hardware consists of providing a standard OS kernel with some new communication mechanisms especially tailored for our (fast) LAN-based communication system.
We have realized that an OS kernel may well keep providing processes with communication primitives as usual, but in order to use such primitives as building blocks of an efficient parallel processing platform they must be designed with care and cannot rely on the usual bulky stack of communication protocols (e.g. RPC/TCP/IP) which is aimed at completely different goals and environments.
We found that Active Messages could be the right kind of communication mechanism to support our project. The main advantage of Active Messages is that no kernel buffering is required for incoming/outgoing messages. The price to pay is that messages must be dealt with immediately as they come/go, regardless of the scheduling state of the receiver/sender process. This requires that each process has two additional threads for sending/receiving messages called "communication handlers", which are two functions of the user program which are registered into the kernel as the program itself starts execution. The "send"/"receive" handler of a process is then executed immediately (and quickly enough, but this is up to the programmer) each time a message from/for that process is sent/received.
We have implemented a small Active Message-based set of communication primitives on a NOW equipped with two Pentium 133 each running Linux 1.3.72 (we will shift to 2.0 ASAP), connected by a 3COM Fast Ethernet LAN (two 3c595 cards and one LinkBuilder FMS 100 hub, 100 Mbit/sec peak bandwidth).
http://www.disi.unige.it/project/gamma/ will provide you with more info.
Any pointer to similar work, as well as any suggestion and constructive criticism, is welcome.
With regards
---------------------------------------------------------------------- Giuseppe Ciaccio phone: +39 10 353 661{6,3} DISI - Universita' di Genova fax: +39 10 353 6699 via Dodecaneso, 35 mailto: ciaccio@disi.unige.it 16146 Genova, Italy http://www.disi.unige.it/person/CiaccioG/ ----------------------------------------------------------------------
|  |