ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
BÁO CÁO TIỂU LUẬN
HỆ PHÂN TÁN
GVHD: PGS.TS LÊ VĂN SƠN
HVTH: NGUYỄN THANH TRUNG
LỚP: KHOA HOC MÁY TÍNH K24
TÊN ĐỀ TÀI
Đề số 33
I. Đồng bộ tiến trình.
II. Trên cơ sở kiến thức về cơng tơ sự kiện, hãy chứng minh quan
hệ sau đây :
Sản xuất thứ i -> Tiêu thụ thứ i -> Sản xuất thứ (i+N)
Gợi ý : Nhằm giải quyết vấn đề nêu trên, ta thành lập 2 hàm ngun
thuỷ :
Tang(E) - Tăng lên 1 đơn vị cho cơng tơ đếm
Cho(E,i) - Treo cho đến khi lớn hơn hay bằng I
Phép tốn thứ i Tang(E) -> Cho(E,i)
NỘI DUNG BÁO CÁO
1
Lý thuyết tổng quan về hệ phân tán
2
Đồng bộ phân tán
3
Bài tập
Lý thuyết tổng quan về hệ phân tán
I.1. Hệ phân tán
I.2. Các điểm mạnh trong hệ tin học phân tán
I.3. Các mơ hình ứng dụng phân tán
I.1. Hệ phân tán
Hệ tin học phân tán hay nói ngắn gọn là hệ
phân tán là hệ thống xử lý thơng tin bao
gồm nhiều bộ xử lý hoặc vi xử lý nằm tại
các vị trí khác nhau và được liên kết với
nhau thơng qua phương tiện viễn thơng
dưới sự điều khiển thống nhất của một hệ
điều hành.
I.2. Các điểm mạnh trong hệ tin học phân tán
Cơ chế tính tốn phân tán hỡ trợ truy cập các dữ liệu
được lưu ở nhiều nơi.
Nhờ cơ chế nhân bản nên người dùng chỉ cần truy cập
cục bộ cũng lấy được các thơng tin từ các trung tâm
chính ở rất xa.
Hệ thống nầy khắc phục được các hiểm họa địa phương
Dữ liệu phân tán đòi hỏi phải được nhân bản và đồng bộ
hóa cao
Hệ phân tán được xây dựng trên giao thức TCP/IP và các
kỹ thuật Web cùng với các ứng dụng trung gian
(middleware) thúc đẩy việc tính tốn phân tán.
I.3. Các mơ hình ứng dụng phân tán
RPC (remote procedure call)
Messaging services Dịch vụ thơng điệp còn gọi là dịch vụ
MOM (message-oriented middleware)
ORB (object-request broker) Một tác nhân kiểm sốt
truyền thơng, cho phép các đối tượng được phép truyền
thơng lên mạng
Đồng bộ phân tán
II.1 Thời gian logic và trật tự sự kiện từng
phần [Lamport]
II.2 Gắn thời gian logic với các sự kiện
II.3 Thuật tốn đóng dấu thời gian Lamport
II.4 Các thuật tốn
II.1 Thời gian logic và trật tự sự kiện
từng phần [Lamport]
Trong hệ phân tán, việc đồng bộ hóa chủ yếu
u cầu thiết lập một trật tự giữa các sự kiện.
Trật tự đó thể hiện thơng qua việc trao đổi các
thơng điệp với nhau.
Lamport đã đưa ra rằng hai sự kiện từ các trạm
khác nhau chỉ có thể có trật tự nếu chúng được
tách rời với nhau bằng cách gửi và nhận thơng
điệp.
II.1 Thời gian logic và trật tự sự kiện…(tt)
Quan hệ “có trước” (→):
•
•
a
b
a “có trước” b (a → b)
a
2.
P
•
•
•
Q
b
a “có trước” b (a → b)
3. P
•
a
•
•
Q
c
b
a “xảy ra trước” c (a → c) - bắc cầu 1.
P
II.1 Thời gian logic và trật tự sự kiện…(tt)
Xét về trật tự sự kiện
P1
P2
P3
P
Q1
Q
Q2
Q3
Trật tự từng phần của các sự kiện:
P1 → P2 → P3, Q1 → Q2 → Q3
II.1 Thời gian logic và trật tự sự kiện…(tt)
P1
P
Q1
Q
P2
Thông điệp
Q2
P3
Q3
Nếu P1 là sự kiện phát thông điệp và Q2 là sự
kiện nhận tương ứng thì: P1 → Q2
II.1 Thời gian logic và trật tự sự kiện…(tt)
Trật tự các sự kiện được định nghĩa như sau:
- Nếu A và B là hai sự kiện của cùng một trạm và A xảy ra
trước B thì ta có A→B.
- Nếu A là phát thơng điệp từ một trạm nào đó và B là
nhận thơng điệp thì ta có A→B.
Nếu A→ B và B→C, thì A→C.
Nếu hai sự kiện A và B xảy ra ở hai tiến trình riêng biệt
và khơng trao đổi thơng điệp thì các tiến trình này được
gọi là song song (A||B)
II.2 Gắn thời gian logic với các sự kiện
- Các đồng hồ lôgic: gán một số cho mỗi
sự kiện cục bộ nhưng không liên quan đến
thời gian vật lý.
Điều kiện đồng hồ
∀ sự kiện a,b : nếu a → b thì C(a) < C(b)
Pi
Pj
a
•
•
•
c
b
Ci (a) < Cj (b) và Cj (b) < Cj (c)
II.3 Thuật tốn đóng dấu thời gian Lamport
Các qui luật:
Quy luật 1: Mỡi tiến trình Pi gia tăng Ci thêm
một trị số giữa hai sự kiện thành cơng.
Quy luật 2: Mỡi tiến trình Pi đóng dấu thời gian
cho các thơng điệp m gửi đi, Tm = Ci (a)
Quy luật 3: Khi nhận được thơng điệp m, tiến
trình Pj đặt lại giá trị Cj: Cj = max (Cj, Tm) + 1
II.4 Các thuật tốn
Tổng qt: Một trạm bất kỳ trong hệ thống có thể
+ u cầu miền găng CS,
+ thi hành CS, hoặc
+ khơng làm gì cả đối với CS (thi hành trong đoạn
khơng phải miền găng.)
II.4 Các thuật tốn
Các thuật tốn nên thỏa mãn các u cầu
+ Khơng bế tắc
+ Khơng đói
+ Cơng bằng (các u cầu được thi hành theo thứ
tự chúng được tạo)
+ Dung thứ lỡi (có thể vẫn hoạt động khi có sự cố
tại một hoặc nhiều trạm)
Thuật toán giả phân tán : Hàng đợi tập trung
- Có một trạm điều khiển việc cung cấp tài
ngun.
- Trạm điều khiển duy trì một hàng đợi chứa
các u cầu và cấp cho mỗi trạm quyền
truy cập vào miền găng theo lần lượt.
Thuật tốn giả phân tán : Hàng đợi tập trung
Tiến trình trạm điều khiển với Hàng đợi
u cầu
2
1
3
ACK
REQ
C
1
Tiến trình 1 u cầu truy
cập vào miền găng CS.
Điều phối viên đưa u
cầu vào hàng đợi và cấp
quyền truy cập vì lúc đầu
hàng đợi trống.
Thuật tốn giả phân tán : Hàng đợi tập trung
1
2
Khơng hồi
âm
REQ
1
2
C
1
REL
Tiến trình 2 u cầu truy
cập vào CS. Điều phối viên
xếp u cầu vào hàng đợi
và từ chối khơng cho truy
cập vì hàng đợi khơng
trống.
3
2
3
ACK
C
2
Tiến trình 1 rời khỏi CS.
Điều phối viên loại bỏ 1
khỏi hàng đợi và cấp
quyền truy cập cho tiến
trình đầu tiên trong hàng
đợi – đó là tiến trình 2
Thuật toán Lamport: Hàng đợi phân tán
Thuật toán là sự suy rộng của Hàng đợi tập
trung.
Sử dụng cơ chế đóng dấu thời gian cho việc
đồng bộ các đồng hồ lơgic.
Giả định các tiến trình liên lạc thơng qua các
kênh FIFO tin cậy.
Thuật tốn Lamport: Hàng đợi phân tán
Các kiểu thơng điệp
- (REQ, Ci, i) : u cầu truy cập vào miền găng CS của
tiến trình Pi.
- (REP, Ci, i) : Hồi âm từ tiến trình Pi cho tiến trình Pj khi
Pi nhận u cầu từ Pj.
- (REL, Ci, i) : Thơng điệp giải phóng từ Pi thơng báo cho
biết nó đã rời khỏi CS.
Các biến tiến trình:
- Ci : Đồng hồ cục bộ của Pi, khởi tạo từ 0.
- qi : Hàng đợi [0 .. N-1] chứa các thơng điệp.
Thuật toán Lamport: Hàng đợi phân tán
Thuật toán yêu cầu Pi
Trong đó:
timestamp( (m, c, i ) ) = (c, i)
(c, i) < (d, j) nếu c < d hoặc ( c = d và i < j )
Thuật tốn nhận thơng điệp của Pi
on receipt
of (REQ, k, j) begin
ci ← max(ci , k) + 1 ;
qi [j] ← (REQ, k, j) ;
send(REP, ci, i) to j ;
end ;
of (REL, k, j) begin
ci ← max(ci , k) + 1 ;
qi [j] ← (REL, k, j) ;
end ;
of (REP, k, j) begin
ci ← max(ci , k) + 1 ;
Hồi âm từ tiến
if type of (qi [j]) = REQ) then
trình Pj
qi [j] ← (REP, k, j) ;
end ;
Bài tập
Trên cơ sở kiến thức đã lĩnh hội trong phần cơng tơ
sự kiện, ta hãy chứng minh các quan hệ có trước:
Sản xuất thứ i → tiêu thụ thứ i → sản xuất thứ (i + N)