TAILIEUCHUNG - Parallel Programming: for Multicore and Cluster Systems- P8

Parallel Programming: for Multicore and Cluster Systems- P8: 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 | 60 2 Parallel Computer Architecture is received by each switch on the path store before it is sent to the next switch on the path forward . The connection between two switches A and B on the path is released for reuse by another packet as soon as the packet has been stored at B. This strategy is useful if the links connecting the switches on a path have different bandwidths as this is typically the case in wide area networks WANs . In this case store-and-forward routing allows the utilization of the full bandwidth for every link on the path. Another advantage is that a link on the path can be quickly released as soon as the packet has passed the links thus reducing the danger of deadlocks. The drawback of this strategy is that the packet transmission time increases with the number of switches that must be traversed from source to destination. Moreover the entire packet must be stored at each switch on the path thus increasing the memory demands of the switches. The time for sending a packet of size m over a single link takes time th tB m where th is the constant time needed at each switch to store the packet in a receive buffer and to select the output channel to be used by inspecting the header information of the packet. Thus for a path of length l the entire time for packet transmission with store-and-forward routing is Tsf m l ts l th tB m . Since th is typically small compared to the other terms this can be reduced to Tsf m l ts l tB m. Thus the time for packet transmission depends linearly on the packet size and the length l of the path. Packet transmission with store-and-forward routing is illustrated in Fig. b . The time for the transmission of an entire message consisting of several packets depends on the specific routing algorithm used. When using a deterministic routing algorithm the message transmission time is the sum of the transmission time of all packets of the message if no network delays occur. For adaptive routing algorithms the .