A Machine-independent Port of the MPD Language Runtime System to NetBSD
Ignatios Souvatzis, Bonn University
SR (synchronizing resources) is a PASCAL - style language enhanced with
constructs for concurrent programming developed at the University of Arizona in
the late 1980s. MPD (presented in Gregory Andrews' book about Foundations of
Multithreaded, Parallel, and Distributed Programming) is its successor,
providing the same language primitives with a different, more C-style, syntax.
The run-time system (in theory, identical, but not designed for sharing) of
those languages provides the illusion of a multiprocessor machine on a single
Unix-like system or a (local area) network of Unix-like machines.
Chair V of the Computer Science Department of the University of Bonn is
operating a laboratory for a practical course in parallel programming
consisting of computing nodes running NetBSD/arm, normally used via PVM, MPI
etc.
We are considering to offer SR and MPD for this, too. As the original language
distributions were only targeted at a few commercial Unix systems, some porting
effort is needed. However, some of the porting effort of our earlier SR port
should be reusable.
The integrated POSIX threads support of NetBSD-2.0 and later allows us to use
library primitives provided for NetBSD's phtread system to implement the
primitives needed by the SR run-time system, thus implementing 13 target CPUs
at once and automatically making use of SMP on VAX, Alpha, PowerPC, Sparc,
32-bit Intel and 64 bit AMD CPUs.
We'll present some methods used for the impementation and compare some
performance values to the traditional implementation.
About the Author
Ignatios Souvatzis is "System Programmer" (in reality, a combination of system
administrator, tape operator, kernel hacker, and user advisor) at Chair V of
the Computer Science Department at the University of Bonn.
He is also a NetBSD key developer. His main tasks have been some device
drivers, a new ARP system, and maintaining the Amiga port.
Sometimes, those assignments overlap.
He studied Physics and Astronomy in Bonn. He has used nearly everything running
VMS from the 11/780 to MicroVAX, and everything running Ultrix from the
DECstation 2100 to the 5000/260 and even a CDC Cyber 172 and a Convex to do
astronomical data reduction.
Earlier at University, he (ab)used lots of different systems, from IBM 360 to
4331 to PC to solve the eight queens problem, has written test programs for
8085 and UNIBUS control boxes for the new accelerator at the physics
department. In his second University year, he was introduced to Unix (on a
Z8000 box) at a small software company.
He seldom admits that he was teaching an introduction to BASIC at an adult
education center in late 1981/early 1982 (but it paid driving home for the
weekends).
In his free time, he applies the laws of hydrodynamics to sailing (either
himself, or teaching children at a sailing club).
Some Related Publications and Conference Talks
- The New Link-Level Independent APR Subsystem of NetBSD, Daemon News 9/1998
- Transmission of IPv6 datagrams over ARCnet networks, RFC 2497, IETF
Standards Track 1999
- A shared write-protected NFS root file system for a cluster of diskless
machines, proceedings of the 2nd European BSD Conference, Amsterdam 2002
- A machine-independent port of the SR language run time system to NetBSD,
proceedings of the 3rd European BSD Conference, Karlsruhe 2004
|