TOP-C Projects for Parallel Computing
Prof. Gene
Cooperman
The following are suggested projects for COM 1770 (Parallel
Computing). You are welcome to suggest other projects if
you like.
Some of the projects below have the potential to result in conference
papers. In my experience, to develop a project into a conference paper
requires at least another academic quarter of work.
Throughout this web page, there are many references to TOP-C (Task
Oriented Parallel C/C++). TOP-C is freely available and easily
installed and used. It supports both shared memory and distributed
memory parallelism with a single API (Application Program Interface).
Brief Overview
- Applied Software Design:
C++ binding for TOP-C library (The largest issue is callbacks.
See topc.cc for an approach.)
- Networking:
Robustness of TOP-C when slaves die (In distributed memory mode,
TOP-C runs on top of an MPI subset. Like most MPI implementations,
when any participating node dies, then MPI aborts.)
There are two parts to this project, that can be carried out by
two different teams:
- A. Extension of MPI, to probe if process at other end of socket is still alive, and use timeout mechanism if it is not still alive. (Note that the socket option, KEEPALIVE, cannot directly be used because it periodically probes a socket, but it dies if the process at the other end does not reply.)
- B. Module (separate file) called by src/topc.c that decides if a task has spent too long without replying. If so, it sends the old task to a different slave. (Note that it is not always easy to distinguish a dead slave process
from a slow slave process.)
- Tutorial: Develop progressively more difficult sequence of TOP-C examples to demonstrate concepts. Include document explaining examples.
- Marshalling/Serialization: There is already a package, marshalgen, that does automated marshalling for many cases. The problem is to find its weak points and extend it. See the paper, and the software.
- Research Problem: Develop automated system for parallelization with TOP-C as back end. During this quarter, it will be enough to do a paper-and-pencil design --- but with good coverage. There is opportunity to turn
this into an important publishable research paper, if you continue to work on it.
Gene Cooperman
College of Computer Science, 215CN
Northeastern University
Boston, MA 02115
e-mail: gene@ccs.neu.edu
Phone: (617) 373-8686
Fax: (617) 373-5121