Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Example 2:
We are given a task which is split up into four parts: F1 = 11%, F2 =
18%, F3 = 23%, F4 = 48%, which add up to 100%. Then we say F1
is not sped up, so S1 = 1 or 100%, F2 is sped up 5×, so S2 = 500%,
F3 is sped up 20×, so S3 = 2000%, and F4 is sped up 1.6×, so S4 =
160%. By using the formula F1/S1 + F2/S2 + F3/S3 + F4/S4, we find
the running time is
System Efficiency
b. System Utilization
■ System utilization in a parallel computation is defined as below:
V(n) = R(n) * E(n) = O(n)/(n * T(n))
■ The system utilization indicates the percentage of resources that was
kept busy during the execution of a parallel program. It is interesting to
note the following relationships:
1/n <= E(n) <= U(n) <= 1
1 <= R(n) <= 1/E(n) <= 1
Quality of parallelism
■ The quality of a parallel computation is directly proportional to the
speedup and efficiency and inversely related to the redundancy. Thus we
have:
Since E(n) is always a fraction and R(n) is a number between 1 and n, the
quality Q(n) is always bounded by the speed up factor S(n).
c. Redundancy
■ The redundancy in a parallel computation is defined as the ratio of O(n) to
O(1):
R(n) = O(n)/O(1)
Limitations:
■ A typical case would be built-in floating-point square root, which chains together
the floating-point adder and multiplier, rather than having separate functional
units for this rarely used operation. Depending upon how the square root
operation operates, it might leave holes in the schedule that would admit
independent floating adds or multiplies.
■ The problem with trying to utilize a nonlinear pipeline is that it is difficult to keep it
full unless the functions do not collide with each other or themselves.
■ These reservation tables show the sequence in which each function utilizes each
stage. (For example, think of X as being a floating square root, and Y as being a
floating cosine. A simple floating multiply might occupy just S1 and S2 in
sequence.) We could also denote multiple stages being used in parallel, or a
stage being drawn out for more than one cycle with these diagrams.
■ We determine the next start time for one or the other of the functions by lining up
the diagrams and sliding one with respect to another to see where one can fit into
the open slots.
■ Once an X function has been scheduled, another X function can start after 1, 3 or
6 cycles. A Y function can start after 2 or 4 cycles.
■ Once a Y function has been scheduled, another Y function can start after 1, 3 or
5 cycles. An X function can start after 2 or 4 cycles.
■ After two functions have been scheduled, no more can start until both are
complete.
Mulitport Memory
Message Formats
Store and forward routing
Flits and Wormhole Routing