12.5 Parallelism and Concurrency: Further Models
Let us start from simple structure—program as Janov’s schemata and analyze not
want we want or dream but what we actually have algorithmically and how can we
implement these algorithmic solutions concurrently, if we can and… what is the
gain?
In other words, do we have any performance improvement, at least theoretically?
The simplest case here is when we are having a sequence of independent
problems that we are able to rearrange into parallel calculation process:
A1; . . .; An
f
g
and each of them is, say, has time to complete Ta.
Suppose we are able to split them to run in parallel. Sooner or later, they will
compete for resource whatever it is and step into the phase when the resource is not
accessible enough for everybody.
Then “negotiation phase” is required to provide a resource for everybody by
following the principles presented above including recommended principles as
well.
When monitoring of resource management and sharing is using the time to split
processes we afraid we are losing the plot:
concurrency was invented to save system time not to waste it
Here there is a question no 1:
Do we have (if we have any) a concurrency monitoring algorithm that is shortest
in terms of time? how to find it? how to prove it?
The eventuality of reaching a critical section for each process declared above
(see conditions of concurrency solutions) is not an option worth to consider:
• it means that concurrent processes might be almost prohibitively delayed by…
scheme of concurrency!
• it does not mean ith process will starve to death as it is written in the most papers
about solutions of concurrent processes.
• it does mean that a goal to achieve any reasonable growth of performance by
parallelization of programs and their further execution (in our case, it is processes A1–An) might be deadly ruined by the scheme of concurrency!
• what is actually possible to do? what kind of resource one needs to be able to
create for effective concurrence management schemes? good questions…
188
12 Proposed Runtime System Structure …
Let us start from simple structure—program as Janov’s schemata and analyze not
want we want or dream but what we actually have algorithmically and how can we
implement these algorithmic solutions concurrently, if we can and… what is the
gain?
In other words, do we have any performance improvement, at least theoretically?
The simplest case here is when we are having a sequence of independent
problems that we are able to rearrange into parallel calculation process:
A1; . . .; An
f
g
and each of them is, say, has time to complete Ta.
Suppose we are able to split them to run in parallel. Sooner or later, they will
compete for resource whatever it is and step into the phase when the resource is not
accessible enough for everybody.
Then “negotiation phase” is required to provide a resource for everybody by
following the principles presented above including recommended principles as
well.
When monitoring of resource management and sharing is using the time to split
processes we afraid we are losing the plot:
concurrency was invented to save system time not to waste it
Here there is a question no 1:
Do we have (if we have any) a concurrency monitoring algorithm that is shortest
in terms of time? how to find it? how to prove it?
The eventuality of reaching a critical section for each process declared above
(see conditions of concurrency solutions) is not an option worth to consider:
• it means that concurrent processes might be almost prohibitively delayed by…
scheme of concurrency!
• it does not mean ith process will starve to death as it is written in the most papers
about solutions of concurrent processes.
• it does mean that a goal to achieve any reasonable growth of performance by
parallelization of programs and their further execution (in our case, it is processes A1–An) might be deadly ruined by the scheme of concurrency!
• what is actually possible to do? what kind of resource one needs to be able to
create for effective concurrence management schemes? good questions…
188
12 Proposed Runtime System Structure …
