Jump Over Left Menu
DCS Projects: Sheffield (City Polytechnic)
DR D H BELL, N WILlIS and DR J M KERRIDGE
AN EVALUATION OF ALTERNATIVE IMPLEMENTATIONS OF MULTIPROCESSOR COMMUNICATION MECHANISMS
March 82 - Feb 85
The aims of the research are:
- to understand the nature and types of interaction that can take place in computer systems that involve process to process communications and in particular those involving loosely coupled micro-computers.
- to determine the relative merits of Pascal Plus and Edison in terms of their ease of use in describing systems involving communication processes. Pascal Plus and Edison have been chosen because these are recent languages that incorporate the communication mechanisms of monitors and distributed processes respectively. They are also languages for which transportable implementations are available.
- to assess the relative merits of Pascal Plus and Edison on the criteria of their memory requirements, speed and cost of implementation of the run time system for the communication mechanisms.
- to determine the best way of implementing the Pascal Plus and Edison communication mechanisms when
computers are linked using the following hardware:
- Cambridge Ring
- Point to point using parallel lines
The results of the investigation will be:
- evidence of how local industries could use Pascal Plus and Edison;
- qualitative information on the relative ease of use by programmers of Pascal Plus and Edison;
- data on the performance overheads associated with using these languages for implementing multi-processor based systems;
- data describing the costs of construction of the Pascal Plus and Edison communications techniques.
The emphasis of this work lies in the implementation of the run-time system for the languages. This is because we believe that there are immediate problems in this area which must be solved before the language ideas can be successfully exploited.
Pascal Plus and Edison have been chosen because they are typical of concurrent approaches to the problems outlined.
Survey of Local Industry
This part of the project aims to keep our feet firmly on the ground by:
- finding out what practical use is made of parallelism and distributed computing;
- locating applications that we could use as test vehicles for our systems;
- seeking commercial applications for such work.
We have had talks with three organisations - a health authority implementing an information system, a large nationalised manufacturing company, and a major manufacturer of office automation equipment. Our main findings have been that parallelism is, in practice, not something that the applications programmer is generally concerned with; and no concern about problems of implementing software system involving parallelism. As a result we feel that probably the area of real time embedded computer systems will be more fruitful.
Ease of Use Experiment
Which notation for describing interactions between parallel processes is the easiest to use? This is the question that this project seeks to answer using the methods of experimental psychology.
Typically an experiment involves a group of people who are split into two. One group is asked questions about program text. The time taken is recorded. The other group similarly examine a different program text and answer questions about it. The two programs solve the same problem but with different notations. The aim of the experiment is to measure ease of comprehension. Comprehension is chosen because it is considered vital for program design, debugging and maintenance. We plan to compare the two fundamental mechanisms - procedures and monitors.
Experimental design is at an advanced stage. Issues include the size of the subject population, their background, character of the problems, nature of the questions. A working paper is available. We plan to carry out a pilot experiment before the end of 1983 and a full experiment by June 1984. We are fortunate in having the collaboration of workers in the MRC/SSRC Social Psychology Group at Sheffield University (Thomas Green et al) who have considerable experience in experiments of this sort.
Version 1c of the Pascal Plus system (made available by Queens University, Belfast) has been implemented. A Fortran version of the Pascal Plus compiler (Pcode generator) has been written on the Polytechnics IBM 4341 enabling Pascal Plus programs to be developed on the mainframe. After compilation the resultant P-code can be downloaded to a Z80 based Ithaca microcomputer on which resides the interpreter part of the Pascal Plus system.
What remains to be done once we have uniprocessor implementation of the language working, is to reimplement relevant parts of the compiler and interpreter to enable actual multiprocessor execution (on several Ithacas connected by a Cambridge Ring, Econet and point to point lines) of Pascal Plus programs.
Conversion of the Edison kernel into Z80 assembler code is now at an advanced stage. The remaining conversion work to be done is in providing the input/output routines for the Z80 processor. The operating system is written in Edison and the Kernel has to be capable of interpreting this before running other programs. Thus, the first real live test will be execution of the operating system.