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
Copyright © 2005 by EuroBSDCon 2005. All rights reserved.