Programming Model in ES
The ES hardware has a 3-level hierarchy of parallelism: vector
processing in an AP, parallel processing with shared memory
in a PN, and parallel processing among PNs via IN. To bring
out high performance of ES fully, you must develop parallel
programs that make the most use of such parallelism.
Table 1: Programming Model on ES
As shown in Table 1, the 3-level hierarchy of parallelism of
ES can be used in two manners, which are called hybrid and flat
parallelization, respectively (Figure 7). In the hybrid parallelization,
the inter-node parallelism is expressed by HPF or MPI, and the
intra-node by microtasking or OpenMP, and you must, therefore,
consider the hierarchical parallelism in writing your programs.
In the flat parallelization, the both inter- and intra-node
parallelism can be expressed by HPF or MPI, and it is not necessary
for you to consider such complicated parallelism. Generally
speaking, the hybrid parallelization is superior to the flat
in performance and vice versa in ease of programming. Note that
the MPI libraries and the HPF runtimes are optimized to perform
as well as possible both in the hybrid and flat parallelization.
Figure 7: Two Types of Parallelization of ES