Multi-dimensional Scopes
This page discusses a complex
situation which requires multiple charts (Class IV
problems). Multiple charts are used to create a form of three dimensional
table. Consider:
Bill does a job in 5 hours. Together, Bill and Sue can do the job in 2 hours.
How long would it take Sue to do the job alone?
and
Ben does a job in 5 days. Together, Ben and Marge do it in 3 days. How
long would it take Marge to do the job alone?
If we apply Multiple Problem Data Parallelism we might produce a common table and
program as below:
-------------------------------
| | rate | time |effort|
-------------------------------
| Bill | | 5 | 1 |
-------------------------------
| Sue | | | 1 |
-------------------------------
|Bill&Sue| | 2 | 1 |
-------------------------------
| Ben | | 5 | 1 |
-------------------------------
| Marge | | | 1 |
-------------------------------
|Ben&Marg| | 3 | 1 |
-------------------------------
For Bill, Bill&Sue, Ben and Ben&Marg:
rate$ = effort$ / time$.
Sue's rate = Sue's effort / Sue's time;
Marge's rate = Marge's effort / Marge's time;
For Sue and Marge:
time$ = effort$ / rate$.
END.
However, it is clear from the statements calculating Sue's and Marge's rate that additional
parallelism exists. How can it be captured? A prime aspect of data parallelism is to
organize the tables such that common formulas apply to facts aligned into rows and
columns. This concept can be expanded by stacking the two problems behind one another
to form a three dimensional table. A diagram of such an organization is sketched below
exposing the top row labels. The column labels are common to all the tables.
--------------------------------
/ Ben / / |
----------- --------------------- |
/ Bill | rate | time | effort| /|
------------------------------------- |
|first person | | |
--------------- |
|second person| | |
--------------- |
| combined | | /
-------------------------------------
In this organization the plane label, "first person$" refers to Bill and Ben, "second person$"
refers to Sue and Marge, and "Combined$" refers to Bill&Sue and Ben&Marg. Thus the
sequential data parallel program is:
For first person$ and combined$:
rate$ = effort$ / time$.
For second person$:
rate$ = combined$ rate - first person$ rate;
time$ = effort$ / rate$.
The program is very compact, but how do you enter three dimensional data? - A plane at
a time! The first plane is the diagram of the tables to follow. It
contains the same information as the sketch given above. The second plane
is the table for the first problem. The third plane is the table for the
second problem. The entire data and program then is:
------------------------------------
| labels | rate | time |effort|
------------------------------------
|first person | |
--------------- |
|second person| |
--------------- |
| combined | |
------------------------------------
------------------------------------
| table1 | rate | time |effort|
------------------------------------
| Bill | | 5 | 1 |
------------------------------------
| Sue | | | 1 |
------------------------------------
|Bill&Sue | | 2 | 1 |
------------------------------------
------------------------------------
| table2 | rate | time |effort|
------------------------------------
| Ben | | 5 | 1 |
------------------------------------
| Marge | | | 1 |
------------------------------------
|Ben&Marg | | 3 | 1 |
------------------------------------
For first person$ and combined$:
rate$ = effort$ / time$.
For second person$:
rate$ = combined$ rate - first person$ rate;
time$ = effort$ / rate$.
END.
This format requires that the diagram sketch must be labeled with keyword "labels" in the upper left
hand corner. Labels on the other charts are optional. The diagram must be first,
the other planes may follow in any order. There may be any number of them, but all
planes must have the same two dimensional layout.