In this paper a rather general way of implementing same time, each one being processed on a different a multiprocessor system on the FASTBUS standard is processor. Whenever a processor has completed the presented. Taking advantage of the experience gained processingof a task, it will execute the supervisor in the development of a multiminicomputer protopart of the operating system, which updates the systype [1], the authors show how an efficient parallel tem control tables and then it will start the processing processing supervisor can be designed, which enables of a new task ready for execution. the user to avoid having to worry about the logical The logical and chronological constraints for the and chronological coordination of the different simulparallel execution of the different tasks are defined taneous processings taking place on the different proby means of a control table and represented as a cessors of each FASTBUS segment. The result is a graph, in which the nodes represent the tasks and the parallel processing management system, transparent paths between nodes represent the precedence relato users, and whose kernel can operate at the FASTtions between tasks (fig. 1). BUS segment level, thus being applicable to any topoSupervision of the multiprocessing (parallel execulogical intersegment connection. The user programs tion of tasks) proceeds as follows: are organized as a series of subprograms, corresponda) all the successors of the completed task are ing to the different tasks, which can be executed in found in the control table; parallel under the operating system control. b) this table is then updated, decrementing by one To achieve this general purpose solution to the the number indicating the “number of predecessors” multiprocessing implementation on the FASTBUS (second column in fig. 1),which is found in the row the proposal is made to use each FASTBUS segment corresponding to each successor; as a true multiprocessor system, in which the data c) if this number vanishes this means that all the processing possibilities are fully exploited (e.g. for predecessors of that task (the successor) have been event acquisition, data reduction, event analysis, etc.) processed and it can be activated, i.e. put in RTQ by means of a general purpose operating system. (Ready Task Queue). The parallel processingmanagement is performed Once this updating is completed the processor by the supervisor part of the operating system as takes the first task in RTQ awaiting execution and follows. First, the user programme must be organized completes all the starting procedures necessary to as a series of subprogrammes, called “tasks”, like subprocess it. In the last two columns of the control table routines in a minicomputer programme. The logical the processor fmds the address of the entry point of constraints between tasks must be represented by one the task and the names of the logical pages of memory or more graphs of parallel tasks (e.g. in fig. 1). All the used by that task. The addresses of the physical pages processors on the FASTBUS segment (fig. 2) can be are found in the memory map of the graph (fig. 1). considered as a pooi of homogeneous resources availIf the RTQ is empty the processor enters in a new able for processing the tasks, which can be resident queue, the “Ready Graph Queue” (RGQ), where the either on the common memory or on each private initial tasks of the new graphs awaiting for execution memory. are stored. If RGQ is also empty, the processor enters Normally more than one task is in execution at the into a loop, waiting until another processor puts a new
Read full abstract