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

Parallel Programming: for Multicore and Cluster Systems- P15: 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 | Processes and Threads 131 1 Parallel computation of inner products Matrix A Vector b Result Vector c 12 m 1 2 vector c P1 P2 P3 p4 Multibroadcastoperation n 2 Parallel computation of linear combination Vector b Matrix A 12 m 1 2 n P1 p2 P3 P4 Result 2a vector c Vector c 2b result vector c and replicated result and 2 parallel computation of linear combinations with a replicated result and b blockwise distribution of the result 132 3 Parallel Programming Models the current values of the registers as well as the content of the program counter which specifies the next instruction to be executed. All this information changes dynamically during the execution of the process. Each process has its own address space . the process has exclusive access to its data. When two processes want to exchange data this has to be done by explicit communication. A process is assigned to execution resources processors or cores for execution. There may be more processes than execution resources. To bring all processes to execution from time to time an execution resource typically executes several processes at different points in time . in a round-robin fashion. If the execution is assigned to another process by the scheduler of the operating system the state of the suspended process must be saved to allow a continuation of the execution at a later time with the process state before suspension. This switching between processes is called context switch and it may cause a significant overhead depending on the hardware support 137 . Often time slicing is used to switch between the processes. If there is a single execution resource only the active processes are executed concurrently in a time-sliced way but there is no real parallelism. If several execution resources are available different processes can be executed by different execution resources thus indeed leading to a parallel execution. When a process is generated it must obtain the data required for its execution. In Unix .

Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.