1. Trang chủ
  2. » Luận Văn - Báo Cáo

BIỂU THỨC SONG SONG VÀ PHÂN TÁN TRONG CÁC NGÔN NGỮ THUẬT TOÁN VÀ CÁC ĐIỂM CẢI TIẾN CHỦ YẾU ĐỂ THUẬT TOÁN LAMPORT HOẠT ĐỘNG NHANH HƠN

36 481 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 36
Dung lượng 586,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ĐẠI HỌC ĐÀ NẴNGTRƯỜNG ĐẠI HỌC BÁCH KHOA TIỂU LUẬN MÔN HỌC HỆ PHÂN TÁN Đề tài: BIỂU THỨC SONG SONG VÀ PHÂN TÁN TRONG CÁC NGÔN NGỮ THUẬT TOÁN VÀ CÁC ĐIỂM CẢI TIẾN CHỦ YẾU ĐỂ THUẬT TOÁN LA

Trang 1

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC BÁCH KHOA

TIỂU LUẬN MÔN HỌC

HỆ PHÂN TÁN

Đề tài:

BIỂU THỨC SONG SONG VÀ PHÂN TÁN TRONG CÁC NGÔN NGỮ THUẬT TOÁN VÀ CÁC ĐIỂM CẢI TIẾN

CHỦ YẾU ĐỂ THUẬT TOÁN LAMPORT

HOẠT ĐỘNG NHANH HƠN

GVHD: PGS.TS LÊ VĂN SƠN HVTH: NGUYỄN THÀNH THỦY LỚP: KHMT-K10 (2008-2011)

GVHD: PGS.TS LÊ VĂN SƠN HVTH: NGUYỄN THÀNH THỦY LỚP: KHMT-K10 (2008-2011)

Trang 2

NỘI DUNG TRÌNH BÀY

1 Một số cơ sở lý luận có liên quan

2 Biểu thức song song và phân tán trong các

ngôn ngữ thuật toán

3 Các điểm cải tiến chủ yếu để thuật toán

Lamport hoạt động tốt hơn

4 Kết luận

Trang 3

HVTH Nguyễn Thành Thủy, Lớp KHMT-K10 (2008-2011) 3

Xử lý song song và xử lý tuần tự

Sự khác biệt giữa xử lý song song và tuần tự ?

Trong tính toán song song nhiều bộ xử lý cùng

kết hợp với nhau để giải quyết cùng một vấn đề

Trong tính toán tuần tự với một bộ xử lý thì mỗi

thời điểm chỉ thực hiện được một phép toán

Trang 4

1 MỘT SỐ CƠ SỞ LÝ LUẬN CÓ LIÊN QUAN

Xử lý song song và xử lý tuần tự (tt)

Sự khác biệt giữa xử lý song song và tuần tự ?

Trang 5

HVTH Nguyễn Thành Thủy, Lớp KHMT-K10 (2008-2011) 5

Xử lý song song và xử lý tuần tự (tt)

Tại sao phải xử lý song song ?

 Ngày càng xuất hiện nhiều bài toán mà những hệ thống đơn không đáp ứng được yêu cầu xử lý về thời gian

=> Đòi hỏi phải sử dụng những giải pháp xử lý song song

Trang 6

2. BIỂU THỨC SONG SONG VÀ PHÂN TÁN

TRONG CÁC NGÔN NGỮ THUẬT TOÁN 2.1 Tính toán song song và phân tán

(Parallel and Distributed Computing)

Tính toán song song phân tán là gì?

 Là một dạng tính toán hiệu năng cao, bằng cách

tận dụng sức mạnh tính toán của một tập các máy tính hoặc bộ xử lý được kết nối thông qua môi trường truyền thông.

lớn hoặc những bài toán thời gian thực.

Trang 7

HVTH Nguyễn Thành Thủy, Lớp KHMT-K10 (2008-2011) 7

2. BIỂU THỨC SONG SONG VÀ PHÂN TÁN

TRONG CÁC NGÔN NGỮ THUẬT TOÁN 2.1 Tính toán song song và phân tán (tt)

Môi trường lập trình song song

Môi trường lập trình song song được chia làm hai mức:

Mức hệ thống: thường là một phần mềm hệ

thống chạy làm nền (background)

Mức ngôn ngữ lập trình song song: Ngôn ngữ

C/C++ kết hợp với bộ thư viện của MPI hoặc PVM; FORTRAN, HPF, CSP, ADA,

Trang 8

2. BIỂU THỨC SONG SONG VÀ PHÂN TÁN

TRONG CÁC NGÔN NGỮ THUẬT TOÁN 2.1 Tính toán song song và phân tán (tt)

Mô hình song song: Được chia ra các dạng chính

Trang 9

HVTH Nguyễn Thành Thủy, Lớp KHMT-K10 (2008-2011) 9

2. BIỂU THỨC SONG SONG VÀ PHÂN TÁN

TRONG CÁC NGÔN NGỮ THUẬT TOÁN 2.2 Các chiến lược song song

 Có ba chiến lược thiết kế chương trình song song phổ biến là:

Song song hoá kết quả

Song song hoá đại diện

Song song hoá chuyên biệt

Trang 10

2. BIỂU THỨC SONG SONG VÀ PHÂN TÁN

TRONG CÁC NGÔN NGỮ THUẬT TOÁN 2.2 Các chiến lược song song (tt)

Song song hoá kết quả:

Là cơ chế tính toán song song tập trung trên

toàn bộ dữ liệu của bài toán

Mỗi bộ xử lý sẽ cho một phần kết quả của bài

toán sao cho các phần việc được thực hiện độc

lập

 Sau khi các phần việc hoàn thành, công đoạn

cuối cùng là kết hợp các thành phần để được

kết quả hoàn chỉnh

Trang 11

HVTH Nguyễn Thành Thủy, Lớp KHMT-K10 (2008-2011) 11

2. BIỂU THỨC SONG SONG VÀ PHÂN TÁN

TRONG CÁC NGÔN NGỮ THUẬT TOÁN 2.2 Các chiến lược song song (tt)

Song song hoá kết quả: (tt)

Ví dụ: Tính n! trên hai máy tính

 Mỗi máy sẽ nhân n/2 số với nhau

 Kết quả của máy tính thứ hai, sẽ được chuyển về máy tính thứ nhất để nó nhân hai kết quả bộ phận

Trang 12

2. BIỂU THỨC SONG SONG VÀ PHÂN TÁN

TRONG CÁC NGÔN NGỮ THUẬT TOÁN 2.2 Các chiến lược song song (tt)

Trang 13

HVTH Nguyễn Thành Thủy, Lớp KHMT-K10 (2008-2011) 13

2. BIỂU THỨC SONG SONG VÀ PHÂN TÁN

TRONG CÁC NGÔN NGỮ THUẬT TOÁN 2.3 Một số ngôn ngữ thuật toán song song

Có hai loại ngôn ngữ thuật toán song song

 Một số ngôn ngữ cho phép lập trình ứng dụng với tư

cách là kích hoạt song song.

Một số ngôn ngữ khác cho phép triển khai tường

minh công việc phân tán.

Trang 14

2. BIỂU THỨC SONG SONG VÀ PHÂN TÁN

TRONG CÁC NGÔN NGỮ THUẬT TOÁN 2.3 Một số ngôn ngữ thuật toán song song (tt)

Ngôn ngữ CSP (Communicating Sequential Processes)

 Ngôn ngữ CSP cho phép lập trình ứng dụng

dưới dạng một số lượng tiến trình cố định

 Các tiến trình này có thể phối hợp với nhau nhờ

phép toán liên lạc kiểu "kiểu gặp gỡ"

 Một chương trình bao gồm tập hợp các tiến trình

[<Tiến trình 1>]||[<Tiến trình 2>]||…||[<Tiến trình n>]

Trong đó, <Tiến trình> dựa vào sự kết hợp giữa

<tên> với <mã> chương trình nguồn của tiến trình:

Trang 15

HVTH Nguyễn Thành Thủy, Lớp KHMT-K10 (2008-2011) 15

2. BIỂU THỨC SONG SONG VÀ PHÂN TÁN

TRONG CÁC NGÔN NGỮ THUẬT TOÁN 2.3 Một số ngôn ngữ thuật toán song song (tt)

Trang 16

2. BIỂU THỨC SONG SONG VÀ PHÂN TÁN

TRONG CÁC NGÔN NGỮ THUẬT TOÁN 2.3 Một số ngôn ngữ thuật toán song song (tt)

Ngôn ngữ ADA là ngôn ngữ mô phỏng.

Thông qua ngôn ngữ này người ta có thể phân

rã chương trình thành một tập hợp các tiến trình song song

Trang 17

HVTH Nguyễn Thành Thủy, Lớp KHMT-K10 (2008-2011) 17

2. BIỂU THỨC SONG SONG VÀ PHÂN TÁN

TRONG CÁC NGÔN NGỮ THUẬT TOÁN 2.3 Một số ngôn ngữ thuật toán song song (tt)

 Một chương trình tuần tự hay thân của hoạt

động được thực hiện cùng lệnh khởi sự ban

đầu

Trang 18

2. BIỂU THỨC SONG SONG VÀ PHÂN TÁN

TRONG CÁC NGÔN NGỮ THUẬT TOÁN 2.3 Một số ngôn ngữ thuật toán song song (tt)

Trang 19

HVTH Nguyễn Thành Thủy, Lớp KHMT-K10 (2008-2011) 19

3. CÁC ĐIỂM CẢI TIẾN CHỦ YẾU

ĐỂ THUẬT TOÁN LAMPORT HOẠT ĐỘNG TỐT HƠN 3.1 Thuật toán Lamport

 Thuật toán được sử dụng trong mô hình hàng đợi phân tán

 Các tài nguyên và các motor cấp phát tài nguyên được phân bố ở các trạm khác nhau

Trang 20

3. CÁC ĐIỂM CẢI TIẾN CHỦ YẾU

ĐỂ THUẬT TOÁN LAMPORT HOẠT ĐỘNG TỐT HƠN 3.1 Thuật toán Lamport (tt)

Ví dụ: Bài toán bãi để xe

Trang 21

HVTH Nguyễn Thành Thủy, Lớp KHMT-K10 (2008-2011) 21

3. CÁC ĐIỂM CẢI TIẾN CHỦ YẾU

ĐỂ THUẬT TOÁN LAMPORT HOẠT ĐỘNG TỐT HƠN 3.1 Thuật toán Lamport (tt)

Nội dung thuật toán:

Khi Pi yêu cầu tài nguyên:

Tiến trình Pi gửi thông điệp Request(ti ,i) đến tất

cả các tiến trình khác và cả chính bản thân nó

 Khi một tiến trình Pk nào đó, nhận được yêu cầu

từ Pi, nó đặt yêu cầu đó vào hàng đợi và gửi thông điệp Reply lại cho Pi.

• t i là thời gian logic cục bộ của trạm phát

Trang 22

3. CÁC ĐIỂM CẢI TIẾN CHỦ YẾU

ĐỂ THUẬT TOÁN LAMPORT HOẠT ĐỘNG TỐT HƠN 3.1 Thuật toán Lamport (tt)

Khi Pi yêu cầu tài nguyên:

P1

P2P3

Trang 23

HVTH Nguyễn Thành Thủy, Lớp KHMT-K10 (2008-2011) 23

3. CÁC ĐIỂM CẢI TIẾN CHỦ YẾU

ĐỂ THUẬT TOÁN LAMPORT HOẠT ĐỘNG TỐT HƠN 3.1 Thuật toán Lamport (tt)

Khi nào Pi được phép sử dụng tài nguyên?

Pi nhận được thông điệp trả lời có nhãn thời

gian lớn hơn ti từ các tiến trình khác.

Và yêu cầu của chính nó ở đầu hàng đợi (vào sớm nhất).

Trang 24

3. CÁC ĐIỂM CẢI TIẾN CHỦ YẾU

ĐỂ THUẬT TOÁN LAMPORT HOẠT ĐỘNG TỐT HƠN 3.1 Thuật toán Lamport (tt)

Khi nào Pi được phép sử dụng tài nguyên?

P1

P2P3

1

1 2

2

2

Reply(14)

Reply(13) Reply(16)

Reply(17)

Trang 25

HVTH Nguyễn Thành Thủy, Lớp KHMT-K10 (2008-2011) 25

3. CÁC ĐIỂM CẢI TIẾN CHỦ YẾU

ĐỂ THUẬT TOÁN LAMPORT HOẠT ĐỘNG TỐT HƠN 3.1 Thuật toán Lamport (tt)

Khi Pi giải phóng tài nguyên:

Khi thực hiện xong, Pi sẽ xóa yêu cầu của nó ra

khởi hàng đợi và gửi thông điệp Release đến tất

cả các tiến trình

 Một tiến trình Pk khi nhận được thông điệp

Release, nó sẽ xóa yêu cầu của Pi ra khỏi hàng đợi.

Trang 26

3. CÁC ĐIỂM CẢI TIẾN CHỦ YẾU

ĐỂ THUẬT TOÁN LAMPORT HOẠT ĐỘNG TỐT HƠN 3.1 Thuật toán Lamport (tt)

Khi Pi giải phóng tài nguyên:

P1

P2P3

1

1 2

2

2

Release(20)

Release(20) Release(20)

Trang 27

HVTH Nguyễn Thành Thủy, Lớp KHMT-K10 (2008-2011) 27

3. CÁC ĐIỂM CẢI TIẾN CHỦ YẾU

ĐỂ THUẬT TOÁN LAMPORT HOẠT ĐỘNG TỐT HƠN 3.1 Thuật toán Lamport (tt)

Vấn đề: Có quá nhiều thông điệp được gửi đi

trong hệ thống dẫn đến hệ thống làm việc quá tải, tốc độ xử lý chậm, …

Khắc phục: Giải thuật Ricart-Agrawala sẽ cải

thiện các hạn chế trên

Trang 28

3. CÁC ĐIỂM CẢI TIẾN CHỦ YẾU

ĐỂ THUẬT TOÁN LAMPORT HOẠT ĐỘNG TỐT HƠN 3.2 Thuật toán Ricart-Agrawala

 Được phát triển bởi Glenn Ricart và Ashok

Trang 29

HVTH Nguyễn Thành Thủy, Lớp KHMT-K10 (2008-2011) 29

3. CÁC ĐIỂM CẢI TIẾN CHỦ YẾU

ĐỂ THUẬT TOÁN LAMPORT HOẠT ĐỘNG TỐT HƠN 3.2 Thuật toán Ricart-Agrawala

Nội dung thuật toán

Khi Pi yêu cầu tài nguyên:

Tiến trình Pi gửi thông điệp Request(t i ,i) đến tất

cả các tiến trình kể cả bản thân nói

Khi một tiến trình Pk nào đó nhận được yêu cầu

từ Pi:

rỗi hoặc là yêu cầu được phát sinh sớm nhất.

Còn lại yêu cầu sẽ bị trì hoãn (deferred).

Trang 30

3. CÁC ĐIỂM CẢI TIẾN CHỦ YẾU

ĐỂ THUẬT TOÁN LAMPORT HOẠT ĐỘNG TỐT HƠN 3.2 Thuật toán Ricart-Agrawala

Khi Pi yêu cầu tài nguyên:

P1

P2P3

Trang 31

HVTH Nguyễn Thành Thủy, Lớp KHMT-K10 (2008-2011) 31

3. CÁC ĐIỂM CẢI TIẾN CHỦ YẾU

ĐỂ THUẬT TOÁN LAMPORT HOẠT ĐỘNG TỐT HƠN 3.2 Thuật toán Ricart-Agrawala

Khi Pi yêu cầu tài nguyên:

P1

P2P3

1

1

1 2

Trang 32

3 CÁC ĐIỂM CẢI TIẾN CHỦ YẾU

ĐỂ THUẬT TOÁN LAMPORT HOẠT ĐỘNG TỐT HƠN

3.2 Thuật toán Ricart-Agrawala (tt)

Khi nào Pi được sử dụng tài nguyên?

Khi và chỉ khi tiến trình đó nhận được thông

điệp Reply từ tất cả các trạm.

Khi Pi giải phóng tài nguyên:

 Khi Pi giải phóng tài nguyên, nó sẽ gửi thông điệp

Reply lại cho các tiến trình đang bị trì hoãn

trước đó

Trang 33

HVTH Nguyễn Thành Thủy, Lớp KHMT-K10 (2008-2011) 33

3. CÁC ĐIỂM CẢI TIẾN CHỦ YẾU

ĐỂ THUẬT TOÁN LAMPORT HOẠT ĐỘNG TỐT HƠN 3.2 Thuật toán Ricart-Agrawala (tt)

Khi giải phóng tài nguyên:

P1

P2P3

2

2

Reply(is OK)

Trang 34

3. CÁC ĐIỂM CẢI TIẾN CHỦ YẾU

ĐỂ THUẬT TOÁN LAMPORT HOẠT ĐỘNG TỐT HƠN 3.3 So sánh hai thuật toán

 Thuật toán Ricart-Agrawala tối ưu hơn thuật toán Lamport nhờ việc kết hợp giữa hai thông điệp

Release và Reply

Điểm khác nhau cơ bản:

 Ý tưởng của Lamport là để duy trì các bản sao gắn bó của một cấu trúc dữ liệu bản sao

 Ricart-Agrawala tránh cấu trúc dữ liệu và chỉ truyền sự thay đổi trạng thái

 Thông điệp cần thiết cho việc thực hiện đoạn găng của thuật toán Lamport là 3(N-1) và của

Trang 35

 Vì thời gian và khả năng có hạn nên bản báo cáo không tránh sai sót, Kính mong Thầy và mọi người góp ý!

Trang 36

XIN CHÂN THÀNH

CÁM ƠN !!!

Ngày đăng: 23/03/2015, 18:44

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w