When IBM made the multiprocessor System 370 AP (Attached Processor) available in the mid-70’s and followed it with the logically identical IBM 303x AP series in 1978, many of us hoped that the operating system software and the procedural level applications languages would support true concurrent multiprocessing in a natural and easy-to-use way. Such was not the case. With the introduction of the IBM 308x in 1981, and the more recent IBM 3090 series--both of which are architecturally true multiprocessors with the instructions necessary to support cooperating parallel processes simultaneously executing in two or four applications CPUs--our hopes were again raised that the operating system (MVS) and the languages would support user-level concurrency in a user-friendly manner. Again, our hopes were unjustified.
Of course, it can be argued that the information privacy and security problems would be horrendous and that the main commercial market for these systems is not “ready” for relatively naive programmer-designed concurrency. It seems to be true that most of their commercially oriented applications are designed by professionals and execute under a well-defined and restricted environment. On the other hand, it can be argued that the Vector facility of the IBM 3090 implies that IBM really does desire to adequately support the relatively naive programmer--the scientist and engineer with massive numerical problems to solve.
An increasing number of these applications have been shown to be amenable to more rapid solution using the techniques of two or more cooperating processes simultaneously executing in two or more applications processors.
Marinescu describes the methods that his group employed at Purdue to achieve simultaneous execution of parallel cooperating processes using the MVS/XA operating system on an IBM 3081. Through the facilities available, such as the Dual-Address Space (DAS), the Cross-Memory Services (CMS), and the Extended Communication Facility (ECF), the Purdue group was able to achieve their objectives. The author describes the specific concurrency problem, the limitations that MVS/XA normally imposes, and the solution that was achieved. He does this in understandable, but fairly complete terms while avoiding unnecessary detail.
This paper is recommended for the system programmers and user consultants of all service-oriented facilities equipped with IBM 308x or IBM 3090 systems using, or contemplating using, the MVS/XA operating system. It is also suggested that professionals who are convinced that truly simultaneous cooperating applications process are not practical using MVS/XA should read this paper. On the other hand, this paper will probably not be deeply interesting to non-IBM 308x/3090-oriented people.