Thuậttoán k-cube-Min

Một phần của tài liệu Nghiên cứu về xử lý song song trong GIS và xây dựng ứng dụng song song hóa thuật toán định dòng chảy trên bề mặt (Trang 34 - 35)

Phân bổ đầu vào: Mỗi bộ xử lý Pi chứa một số ai ở bộ nhớ địa phƣơng của nó (i = 0,1,2, ..., n-1). Giả thiết là n = 2k.

Phân bổ đầu ra: Số nhỏ nhất trong mảng a0, a1, ..., an-1 cất giữ vào a0. 1. For d = k - 1 to 1 step - 1 do

2. M = 2d

3. For i = 0 to m -1 do in parallel

4. Bộ xử lý Pi+m truyền dữ liệu ai+m cho bộ xử lý Pi

5. Bộ xử lý Pi nhận dữ liệu ai+m truyền tới từ Pi+m và cất giữ vào bi trong bộ nhớ địa phƣơng

6. Bộ xử lý Pi thực hiện tính ai = min {ai, bi} 7. end parallel

8. end for

Do phải thực hiện vòng lặp for (bƣớc 1 đến 8) nên thuật toán làm việc với thời gian O(k), cũng nghĩa là với thời gian O(log n). Trong thủ tục mô tả ở trên các bƣớc 4 và 5 mô tả việc truyền tin giữa các bộ xử lý. Thời gian truyền tin thƣờng là rất lớn so với thời gian thực hiện các tính toán. Vì thế thuật toán vừa trình bày nói chung là không hiệu quả.

- Mạng hình lƣới (Mesh Network): còn đƣợc gọi là mô hình lƣới trong đó các bộ xử lý P(i,j) đƣợc bố trí tại các nút của một mạng lƣới đƣờng truyền.

- Mạng lƣới 3-chiều là tập hợp các lƣới 2-chiều trong đó các nút tƣơng ứng đƣợc kết nối. Tƣơng tự nhƣ vậy mạng lƣới k-chiều là tập hợp các lƣới (k-1)-chiều với sự kết nối các bộ xử lý tƣơng ứng.

- Mạng liên kết dịch chuyển đầy đủ (perfect shuffle connection): gọi n là số bộ xử lý, bộ xử lý Pi đƣợc nối với Pj trong đó

{

- Mạng hình tháp (Pyramid Network): Mạng hình tháp đƣợc xây dựng nhƣ một cây có gốc. Gốc chứa một bộ xử lý. Ở mức tiếp theo có 4 bộ xử lý đƣợc nối với nhau theo dạng của lƣới 2-chiều và cả 4 nút đều là con của gốc. Mỗi một nút ở mức 1 đều có 4 con ở mức 2. Tất cả các nút con ở mức 2 đƣợc kết nối với nhau theo dạng lƣới. Tiếp tục nhƣ vậy hình tháp có thể xây dựng đến độ cao cần thiết.

Một phần của tài liệu Nghiên cứu về xử lý song song trong GIS và xây dựng ứng dụng song song hóa thuật toán định dòng chảy trên bề mặt (Trang 34 - 35)