home *** CD-ROM | disk | FTP | other *** search
- The Distributed C Development Environment was developed at Technische
- Universitaet Muenchen, Germany, at the chair of Prof. Dr. J. Eickel and is
- a collection of tools for parallel and distributed programming on single-
- processor-, multiprocessor- and distributed-UNIX-systems, especially on
- heterogenous networks of UNIX computers. The environment's main purpose
- is to support and to simplify the development of distributed applications
- on UNIX networks. It consists of a compiler for a distributed programming
- language, called Distributed C, a runtime library and several useful tools.
-
- The programming model is based on explicit concurrency specification in the
- programming language Distributed C, which is an extension of standard C.
- Distributed C makes possible the common programming in C together with the
- user-friendly programming of process management, i. e. the specification,
- creation, synchronization, communication and termination of concurrently
- executed processes.
-
- The Distributed C Development Environment supports and simplifies the dis-
- tributed programming in several ways:
-
- o Development time is reduced by checking Distributed C programs for
- errors during compilation. Because of that, errors within communication
- or synchronization actions can be easier detected and avoided.
- o Programming is simplified by allowing the use of simple pointer types
- even on loosely-coupled systems. This is perhaps the most powerful
- feature of Distributed C. In this way, dynamic structures like linked
- lists or trees can be passed between processes elegantly and easily -
- even in heterogeneous networks. Only the anchor of a dynamic structure
- must be passed to another process. The runtime system automatically
- allocates heap space and copies the complete structure.
- o Developement is user-friendly by supporting the generation and
- installation of the executable files. A special concept was developed
- for performing the generation and storage of binaries by local and
- remote compilation in heterogeneous UNIX-networks.
- o Programming difficulty is reduced by software-aided allocating processes
- at runtime. Only the system administrator needs to have special knowledge
- about the target system's hardware. The user can apply tools to map the
- processes of a Distributed C program to the hosts of a concrete target
- system.
- o Execution time is reduced by allocating processes to nodes of a network
- with a static load balancing strategy.
- o Programming is simplified because singleprocessor-, multiprocessor- and
- distributed-UNIX-systems, especially homogeneous and heterogeneous UNIX-
- networks can be programmed fully transparently in Distributed C.
-
- The environment runs on the following systems:
-
- o Sun SPARCstations (SunOS),
- o Hewlett Packard workstations (HP/UX),
- o IBM workstations (AIX),
- o IBM ATs (SCO XENIX, SCO UNIX, LINUX),
- o Convex supercomputers (ConvexOS),
- o Cray supercomputers (Unicos),
- o homogeneous and heterogeneous networks of the systems as mentioned above.
-
- Moreover the implementation was designed for the use on Intel iPSC/2s.
-
- The Distributed C Development Environment source code is provided "as is"
- as free software and distributed in the hope that it will be useful,
- but without warranty of any kind. See the file 'README' for details.
-
- pleierc@informatik.tu-muenchen.de (Christoph Pleier)
-