Despite the availability of parallel computing from the last two decades, there is little use of these systems in production-level environments. One of the factors most commonly blamed for the slow transition to parallelism is the lack of software support. While in serial programming the performance depends basically on the algorithm designed by the user, in parallel programming there are many machine-dependent aspects that have a significant impact on the final performance. Therefore, the user must learn a great deal about machine-dependent aspects like process grain determination, task allocation, message routing, etc. The aim of this project is intended in the design and implementation of a user friendly environment for parallel programming in a Transputer-based system. The environment will free the user of all machine-dependent aspects by means of two system services running on a host computer and a distributed kernel running on the target computer. On one hand, the two system services consist of one tool that is responsible for obtaining clusters of program tasks, and another tool that is responsible for mapping those clusters onto physical processors. On the other hand, the environment has a distributed kernel running on the target machine that hides the physical architecture. It executes user tasks with location transparency, offering a simple and efficient interface for interprocess communication, and monitoring the execution of the user programme. As a consequence, user productivity will be increased because he does not need to be aware of those aspects that are carried out automatically by the environment. © 1994.
- Clustering problem
- Distributed kernel
- Parallel programming environment
- Processor allocation problem