tailieunhanh - Parallel Programming: for Multicore and Cluster Systems- P6

Parallel Programming: for Multicore and Cluster Systems- P6: Innovations in hardware architecture, like hyper-threading or multicore processors, mean that parallel computing resources are available for inexpensive desktop computers. In only a few years, many standard software products will be based on concepts of parallel programming implemented on such hardware, and the range of applications will be much broader than that of scientific computing, up to now the main application area for parallel computing | 40 2 Parallel Computer Architecture a X1 . Xd 1 Xi ni 1 i d 0 1 with a X1 . Xd 6V2. Sd and Si RGCk Xi where si is the xi th bit string in the Gray code sequence RGCki defines an embedding into the k-dimensional cube. For two mesh nodes x1 . xd and y1 . yd that are connected by an edge in the d-dimensional mesh there exists exactly one dimension i e 1 . d with xi - yi 1 and for all other dimensions j i it is Xj yj .Thus for the corresponding hypercube nodes a x1 . xd s1 s2. sd and a yb . yd t1t2. td all components Sj RGC j Xj RGC yj tj for j i are identical. Moreover RGCki Xi and RGCki yi differ in exactly one bit position. Thus the hypercube nodes s1 s2. sd and t112. td also differ in exactly one bit position and are therefore connected by an edge in the hypercube network. Dynamic Interconnection Networks Dynamic interconnection networks are also called indirect interconnection networks. In these networks nodes or processors are not connected directly with each other. Instead switches are used and provide an indirect connection between the nodes giving these networks their name. From the processors point of view such a network forms an interconnection unit into which data can be sent and from which data can be received. Internally a dynamic network consists of switches that are connected by physical links. For a message transmission from one node to another node the switches can be configured dynamically such that a connection is established. Dynamic interconnection networks can be characterized according to their topological structure. Popular forms are bus networks multistage networks and crossbar networks. Bus Networks A bus essentially consists of a set of wires which can be used to transport data from a sender to a receiver see Fig. for an illustration. In some cases several hundreds Fig. Illustration of a bus network with 64 wires to connect processors P1 . Pn with caches C1 . Cn to memory modules M1 . Mm Interconnection Networks .