1 1 Giải thuật song song theo hàng

Một phần của tài liệu Thiết kế giải thuật song song (Trang 59 - 61)

Trong công đoạn tích tụ các tác vụ, giải thuật hớng theo hàng sẽ thực hiện việc kết hợp n/p hàng các tác vụ ban đầu thành một tác vụ lớn. Khi đó không cần thiết broadcast l jj theo chiều ngang bởi vì các tác vụ này đợc thực thi chỉ trong một tác vụ.

Tuy nhiên, chiến lợc tích tụ này không song song đợc việc cập nhật các phần tử nằm cùng trong một hàng. Vẫn yêu cầu broadcast theo chiều dọc để

Hình 5. 3 Mô tả truyền thông giữa các tác vụ tích tụ theo hàng

Giải thuật theo hàng 1-D nh sau:

For k=1 to n-1 If k ∈ myrows then

Broadcast { akj: k < j < n } to other tasks Else Recv{ akj: k ≤ j≤n } End For i ∈ myrows, i > k, lik = aik /akk . end for j = k+1 to n for i ∈ myrows, i > k, aij= aij - lik *akj end end end

Thời gian thực hiện

 Tính toán độ phức tạp tính toán của thuật toán. -Tại bớc thứ k, việc cập nhật các tác vụ yêu cầu khoảng (n-k)2 /p phép toán. - Độ phức tạp cho toàn bộ n-1 bớc sẽ là : Tcomp ≈ ∑−1 − 1 2/ ) ( n c n k p t ≈ tc n3/(3p).

 Tính toán độ phức tạp về truyền thông.

Tơng tự nh tính toán độ phức tạp, số lợng dữ liệu broadcast tại bớc thứ k là khoảng n-k, bởi vậy trên mô hình 1-D Mesh, các bộ xử lý nối nhau thành

đờng thẳng và truyền thông với nhau bằng kỹ thuật circuit-switched với ảnh h- ởng của khoảng cách giữa các bộ xử lý t h nhỏ có thể bỏ qua. Ta có chi phí cho truyền thông sẽ là

Tcomm ≈ ∑− = − − + 1 1 )) 1 ))( ( (( n k s w p k n t t ≈ (p-1) ts n + (p-1)tw n2 /2

Tổng thời gian thực hiện là :

T p ≈ tc n3 /(3p) + ts(p-1)n + tw(p-1) n2 /2

Các vấn đề đặt ra cho việc thực thi giải thuật song song theo hàng là:

 Phân tán công việc không đều, mỗi tác vụ sẽ đi vào trạng thái rỗi ngay khi hàng cuối cùng đợc hoàn thành.

 Nếu tác vụ quản lý khối các hàng liên tiếp thì bộ xử lý đ- ợc ấn định tơng ứng sẽ rỗi thời gian rất lâu trớc khi toàn bộ tính toán đ- ợc hoàn thành.

 Hơn nữa, công việc cập nhật các hàng sẽ ít đi nhanh chóng khi số hiệu hàng gia tăng.

Các phơng pháp giải quyết cho vấn đề này là:

 ấn định các hàng tới các tác vụ theo chu trình, với hàng thứ i đợc ấn định tới task thứ i mod n hoặc ấn định theo kiểu chu trình khối (block- cyclic) hoặc

 Pipeline việc tính toán và truyền dữ liệu, với phơng pháp này sẽ cải thiện đợc hiệu năng của giải thuật song song. Thay vì làm việc trên cùng một bớc lặp tại một thời điểm, tất cả các bộ xử lý có thể đợc lập lịch trình thực hiện một cách không đồng bộ. Trong khi pipeline giải thuật khử Gauss thì mỗi bộ xử lý sẽ thực hiện độc lập bất kỳ hoạt động gửi hoặc tính toán trừ phi nó đang chờ nhận dữ liệu dùng cho hoạt động đó.

+ Tại bớc k, mỗi tác vụ hoàn thành cập nhật phần còn lại của nó trớc khi chuyển tới bớc tiếp theo k+1. Tuy nhiên tác vụ quản lý hàng k+1 có thể broadcast ngay sau khi nó đợc cập nhật trớc khi nó tiếp tục việc cập nhật phần còn lại của bớc thứ k.

+ Với chiến lợc gửi trớc send ahead sẽ cho phép các tác vụ khác bắt đầu “ ” tiến hành công việc trên tác vụ tiếp theo sớm hơn bởi vì thời gian chờ đợi dữ liệu cần thiết cho việc tính toán đã đợc rút gọn.

Một phần của tài liệu Thiết kế giải thuật song song (Trang 59 - 61)

Tải bản đầy đủ (DOC)

(80 trang)
w