Where individual processes appear that will compete (concur) in the future for
any of the concurrency problem to solve. As Dijkstra said:
Two processes are said to be loosely connected if they are completely independent of each other, except for periods of communication.
Essentially, this specification disallows assumptions based on relative speeds of
processes.
Imagine we have two processes run off of the same clock; this is known and it
works. one can exploit the fact that the clock is the same and frequency is set.
It is possible to use it efficiently—as it works with SIMD structure. At the same
time, assuming changing the clock frequency for one or both processes might ruin
the synchronization completely.
Processes that run off of the same clock can actually be viewed as having
implicit communication via the clock, and instead, a solution is required that allows
a combination of processes to work together regardless of how they are
implemented.
This alienation of the synchronization technology from synchronization concepts
is crucial for the success of any concurrency handling and has to be analyzed in full
details.
Thus, the next steps are about known solutions and extracting the set of principles that must be pursued in the system design when concurrency appears to be
solved.
Without synchronization of loosely tied processes, first, computers were waiting
for the completion of printer task, then perform memory reading (from a magnetic
device called DRAM), and only then perform calculations.
Thus, the slowest device was defining the overall performance of the whole
system. Well, this is not right as we described above—time is not a resource to play
with making concurrency working.
12.2.4 Known Solutions and Derived Principles to Follow
Well-known scheme of round-robin resource sharing as above was one of the first
implemented.
It is still in action on small local area networks and distributed computer systems
(including multiprocessor systems).
In this solution time is used as a shareable resource, time allocated for synchronization/concurrency resolution is divided into slots, the number of equal slots
are defined by the number of processes requested the slot of communication.
This scheme is “equal rights” scheme, where all processes are allowed the same
amount of time and wait their turn next time around when all slots were given.
Interestingly, concurrency is a drawback of parallelization—(explanations further follow) and both were designed to maximize the performance of the system.
182
12 Proposed Runtime System Structure …
Précédent

- 194/315

Suivant