Distributed processing is one of the important forms of parallelism. Distributed processing principles are apparent virtually in all parallel computer architectures, and in many multiprocessor systems these principles play a dominant role. It suffices to mention the macropipelined computing complex [1, 2], transputer systems [3], and a number of other systems [4, 5].Because of the widespread use of distributed processing principles, it is relevant to consider the design and analysis of mathematical models of this kind of parallelism, to investigate the potential for acceleration and efficiency improvement of computations through distributed processing in multiprocessor systems (MS).This article constructs a mathematical model of distributed processing of competing processes. Mathematical relationships are derived for the least total time to execute a set of competing nonhomogeneous, homogeneous, and identically distributed processes, and the limiting acceleration and efficiency coefficients are estimated.
MATHEMATICAL MODEL OF DISTRIBUTED PROCESSING OF COMPETING PROCESSESAs in [6-8], we consider n competing processes (n >__ 2) that access a software resource Pr structured from s linearly ordered blocks Q1, Q2 ..... Qs (s >_ 2). All n processes use only one copy of the software resource. The processes execute in a computing environment with p identical processors (t9 >__ 2), each with its own local memory and access to shared memory.Here a process involves execution of program blocks in the sequence Q1, (22 ..... Qs. A process is called distributed if all the program blocks (or part of them) required for its execution can be processed on different processors. Otherwise, the process is called concentrated.In what follows we assume that the interaction of processes, processors, and program blocks satisfies the following conditions:i) none of the blocks of the software resource Pr can be processed simultaneously on more than one processor; it) none of the processors can process simultaneously more than one program block; iiO each block is processed without preemption.The distribution of program blocks among processors for each process is carried out cyclically by the following rule: block j = kp + i(j = 1, s, i = 1, p, k > 0) is assigned to processor i. We also assume that processors do not remain idle if program blocks are ready for execution, and program blocks do not "lie idle" if free processors are available.
NONHOMOGENEOUS PROCESSESPreviously [6-8] it has been assumed that a system of n competing processes is homogeneous, i.e., the execution times of the blocks of the software resource Pr are independent of the volume of data being processed.Here we assume that the execution times of the blocks QI, Q2 ..... Qs essentially depend on the volume of processed data. Such a system of n processes is called nonhomogeneous.