Sắp xếp kiểu đóng dấu tt:I.2.2 Giới thiệu giải thuật loại trừ tương hỗ tt Một trật tự giống nhau trên tất cả các trạm chỉ đạt được, nếu ta áp dụng dấu trong các thông điệp bởi đồng hồ lô
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC KỸ THUẬT
TiÓu luỊn m«n hôc
hÖ tin hôc ph©n t¸n
§Ò tµi :
SO SÂNH VIỆC SẮP XẾP THEO KIỂU ĐÓNG DẤU
VĂ SẮP XẾP THÔNG QUA BỘ TUẦN TỰ GIẢI QUYẾT VẤN ĐỀ HỢP LỰC GIỮA CÂC NGƯỜI BẢO VỆ BÊI ĐẬU XE
Trang 2Hệ phân tán là một tập hợp của những máy tính tự trị được liên kết với nhau bởi một mạng máy tính, và được cài đặt phần mềm hệ phân tán.
Hệ phân tán được thực hiện trên nền phần cứng,
mà sự thay đổi kích thước từ một vài trạm làm việc được kết nối với nhau bởi mạng cục bộ tới mạng internet - một tập hợp liên kết khắp nơi của mạng cục bộ và mạng diện rộng liên kết hàng nghìn hoặc thậm chí hàng triệu máy tính với nhau
Trang 3Phạm vi ứng dụng của hệ phân tán từ việc cung cấp những thuận lợi cho việc tính toán đa mục đích, đến những nhóm người dùng để tự động hóa công việc ngân hàng và hệ thống truyền thông đa phương tiện, và chúng bao quát toàn bộ những ứng dụng thương mại và kỹ thuật.
Những đặc trưng riêng biệt chính của hệ phân tán
là hỗ trợ cho việc chia sẻ nguồn tài nguyên, tính mở, điều khiển tương tranh, mức độ tin cậy, khả năng chịu lỗi và mức trong suốt
Trang 4Một hệ phân tán bao gồm tập hợp các máy tính tự trị được liên kết với nhau bằng một mạng máy tính và được trang bị một phần mềm hệ phân tán
Phần mềm hệ phân tán cho phép máy tính có thể phối hợp các hoạt động của nó và chia sẻ nguồn tài nguyên của hệ thống, phần cứng, phần mềm và dữ liệu
Người sử dụng của một hệ phân tán được thiết kế tốt có thể nhận thức được những thuận lợi của việc tính toán, mức độ tính toán tích hợp đơn thậm chí nó có thể được thực hiện bởi nhiều máy tính ở nhiều vị trí khác nhau
Trang 5Sự phát triển của hệ phân tán tạo sự nổi bật của mạng lưới máy tính cục bộ tốc độ cao vào đầu những năm
1970
Gần đây , tính có lợi của việc thi hành cao của máy tính cá nhân, những trạm làm việc và các máy tính phục vụ đã mang lại kết quả trong việc thay đổi hướng của hệ thống phân tán, cách xa những máy tính trung tâm
và máy tính đa người sử dụng
Xu hướng này đã được tăng nhanh hơn bởi sự phát triển của phần mềm hệ phân tán, được thiết kế để hỗ trợ cho sự phát triển của những ứng dụng phân tán
Trang 6Hệ phân tán đã trở thành tiêu chuẩn cho việc tổ chức những thuận lợi về mặt tính toán Nó có thể được sử dụng cho việc thực hiện tương tác hệ thống tính toán đa mục đích trong kiểu UNIX, và được hổ trợ trong phạm vi rộng rải của thương mại và ứng dụng công nghiệp của máy tính
Hiện nay, hệ phân tán đang được gia tăng mức độ
sử dụng như là cơ sở cho những ứng dụng mới trong vùng làm việc, như là dịch vụ thông tin mạng máy tính và ứng dụng đa phương tiện khi việc truyền thông là một yêu cầu
cơ bản
Trang 7Trong tất cả những vai trò này, hệ phân tán có khả năng cung cấp những thuận lợi quan trọng đối với người
sử dụng nó
Những thuận lợi mà nó mang đến không phải thực hiện một cách tự động, nó phụ thuộc vào sự thiết kế cẩn thận của những thành phần hệ thống
Trang 8CHƯƠNG I SẮP XẾP KIỂU ĐÓNG DẤU VÀ SẮP
XẾP BẰNG BỘ TUẦN TỰ
Trang 9I.1 Đặt vấn đề
Tính cấp thiết về mặt nguyên lý và kỹ thuật của vấn đề đồng bộ hoá các tiến trình thể hiện ở hai nguyên do
cơ bản:
1 Tương tranh là nguyên nhân chính của các xung đột giữa các tiến trình muốn truy cập vào tài nguyên dùng chung
2 Hợp lực là nguyên nhân chính của sự tác động tương hỗ được lập trình giữa các tiến trình nhằm cho phép chúng tham gia vào các hành động chung
Sự tương tranh và hợp lực giữa các tiến trình đòi hỏi phải có trao đổi thông tin qua lại với nhau
Trong hệ tin học phân tán, các thông tin cần trao đổi thông qua các kênh thuộc hệ thống viễn thông
Trang 10I.2 Sắp xếp kiểu đóng dấu:
I.2.1 Cấu tạo trình tự tổng quát chặt chẽ
Đóng dấu là hành vi gán giá trị nguyên cho một thông điệp nhằm ghi nhận thời điểm truyền trên cơ sở tham chiếu đồng hồ lô gích
Nội dung cơ bản của phương pháp này là trạm phát được gắn một giá trị gọi là dấu Giá trị này có tính chất thời điểm cho trạm phát thông tin và dựa vào đồng hồ lô gích cục bộ của chính trạm Các đồng hồ này được lấy lại thông qua hội thoại giữa các trạm
Giải thuật Lamport nhằm cho phép ghi lại các sự kiện của hệ tin học phân tán
Trang 11I.2 Sắp xếp kiểu đóng dấu (tt):
I.2.2 Giới thiệu giải thuật loại trừ tương hỗ
Loại trừ tương hỗ có thể được điều khiển trên một trạm trung tâm có nhiệm vụ nhận tất cả các thông điệp và khuyến nghị giải phóng Trạm này duy trì một hàng đợi, sắp xếp các yêu cầu theo trật tự đến và phục vụ cho từng thông điệp một trong trật tự
Phân tán giải thuật kéo theo việc phân tán các chức năng cung cấp mà cần phải điều khiển hàng đợi trên trạm
Một trạm chuyên cho việc tiếp nhận các yêu cầu và các khuyến nghị giải phóng từ tất cả các trạm còn lại
Trang 12I.2 Sắp xếp kiểu đóng dấu (tt):
I.2.2 Giới thiệu giải thuật loại trừ tương hỗ (tt)
Một trật tự giống nhau trên tất cả các trạm chỉ đạt được, nếu ta áp dụng dấu trong các thông điệp bởi đồng hồ lô gích truyền và đánh số các trạm
Quan hệ trật tự toàn bộ được định nghĩa
Để cho một trạm có thể ra quyết định bằng việc tham chiếu duy nhất vào hàng đợi của mình, nó còn cần phải nhận một thông điệp của từng trạm khẳng định rằng không có thông điệp nào trước các thông điệp khác mà còn đang quá cảnh trên đường
Trang 13I.3 Sắp xếp bằng bộ tuần tự
Bộ tuần tự nhằm mục đích đánh
số thứ tự và sắp xếp các sự kiện của hệ
Bộ tuần tự là đối tượng đồng bộ cung cấp cho mỗi yêu cầu một số (hay còn gọi là một tíc kê) nhằm xác lập trật tự
Giá trị số mà nó cung cấp phải là các giá trị nguyên, không âm Để cho hai yêu cầu kế tiếp nhau thì hai số liên tục nhau được cung cấp Giá trị 0 được cung cấp cho yêu cầu đầu tiên
Một tiến trình muốn nhận giá trị từ bộ tuần tự S thì nó phải gọi thủ
tục (hoặc hàm ) có tên là phieu(S) Mỗi
một giá trị chỉ phục vụ cho một và chỉ một sự kiện
Trang 14I.3 Sắp xếp bằng bộ tuần tự (tt)
Giả sử tất cả các sự kiện được
đánh số bởi một bộ tuần tự duy
nhất S Khi một tiến trình cung cấp
cho sự kiện i một số thông qua
phieu(S), ta có thể khẳng định như sau
(không có sự cố):
1 Các sự kiện t bao hàm các giá trị
nhỏ hơn t đã được diễn ra
2 Số thự tự kề liền sau t phải bằng
t +1
Việc triển khai một bộ tuần tự cần
STT hiệ Ký
1 P1 Nếu a và b là hai sự kiện thực hiện
trên cùng hàm phieu(S), thì ta có a b
hay b a.
2 P2 Nếu a thực hiện phép t= phieu(S) thì
giá trị gán cho t là số lượng các phép
phieu(S) đã được thực hiện trước a.
Đặc tính P1 thể hiện việc loại trừ tương hỗ trên các
phép toán phieu(S), còn P2 thể hiện tính liên tục trong khi
đánh số có nghĩa là không để lại khoảng trống khi đánh số
Trang 15I.3 Sắp xếp bằng bộ tuần tự (tt)
Việc triển khai bộ tuần tự trong các hệ thống một bộ xử lý hay nhiều bộ xử lý với bộ nhớ chung được tiến hành bằng cách triển khai cơ chế sơ đẳng loại trừ tương hỗ là đủ Trong hệ phân tán, việc vận dụng nó không hề giản đơn bởi vì có sự hiện diện của các kênh viễn thông sử dụng theo kiểu loại trừ tương hỗ và đặc biệt tồn tại vòng tròn duy nhất hay một kênh lan truyền duy nhất
Việc vận dụng tương đối tổng quát bộ tuần tự S trong hệ phân tán là sự chuyển động giữa các trạm một
đối tượng duy nhất gọi là ấn phong
chứa giá trị hiện hành của bộ tuần tự Khi một trạm có ấn phong, nó có thể
thực hiện hàm phieu(S)
Trang 16I.4 So sánh việc sắp xếp theo kiểu
đóng dấu và sắp xếp bằng bộ
tuần tự:
Sắp xếp kiểu đóng dấu:
- Vấn đề đạt được: Các dấu
được cung cấp bởi đồng hồ lô gích cho phép đánh dấu các sự kiện và xác định một trật tự tổng quát chặt chẽ
- Vấn đề còn tồn tại: Ta không có
quan hệ nào giữa các sự kiện và các giá trị của dấu Trên một trạm cho trước, việc nhận một thông điệp có đóng dấu không thể cho nó biết được còn sự kiện nào đến trước sự kiện đó đang ở trên đường Như thế, ta còn phải nhận thông điệp từ các trạm khác còn lại Mặc khác, hai sự kiện trên hai trạm khác nhau có thể đến cùng một thời điểm giống nhau, đây là một trật tự không chặt chẽ
Sắp xếp bằng bộ tuần tự:
- Vấn đề đạt được: đánh số thứ
tự các yêu cầu, sự kiện và sắp xếp các sự kiện của hệ tránh được các nhược điểm tồn tại nêu trên
Trang 17I.5 Kết luận
Trạng thái các thành phần thuộc hê thống tin học phân tán chỉ được biết một cách không chắc chắn vì thời gian truyền thông tin trên đường truyền không cố định, tăng số lượng các trung tâm ra quyết định và đặc biệt có thể xảy ra sự cố bất cứ lúc nào
Nghiên cứu một số vấn đề về đồng bộ không chắc chắn trên cơ sở trật tự toàn bộ mà việc triển khai được đặt trên nền tảng đánh số sự kiện
Giả định rằng việc sự cố một trạm hay một đường truyền không là nguyên nhân gián đoạn trao đổi giữa các trạm
Trang 18CHƯƠNG II BÀI TOÁN BÃI ĐẬU XE VẤN ĐỀ HỢP LỰC GIỮA CÁC
NGƯỜI BẢO VỆ
Trang 19II.1 Bài toán bãi để xe
Bài toán bãi để xe được phát biểu như sau:
Tình huống thứ 1:
Ta giả sử rằng bãi để xe là một bãi lớn có một cổng vào dưới sự kiểm soát của một người bảo vệ (NBV) duy nhất NBV chỉ biết được một phần trạng thái của bãi để xe Trong khi anh ta nghĩ rằng bãi để xe đã bị đầy, trong khi đó lại có nhiều lái xe đang cho xe chạy ra cổng, vì suy nghĩ như vậy, trong trường hợp này, anh ta không giải quyết cho các
xe khác tiếp tục vào bãi nữa, mặc dù lúc này trong bãi đang có chỗ trống Như vậy, NBV không nắm được trạng thái hiện hành của bãi
Trang 20II.1 Bài toán bãi để xe (tt)
Nếu ta có bãi để xe với nhiều cổng vào và tại mỗi cổng vào có một người bảo vệ thì mỗi người bảo vệ chỉ có thể biết được trạng thái với độ trễ nhất định và điều đó dẫn đến tình huống thứ 2 Đó là tình huống có nhiều trung tâm ra quyết định như trong hình sau:
ô tô
VT - vị trí cho từng ô tô cụ thể
Các mũi tên hai
sử dụng để
mô tả các dòng
xe vào ra
Trang 21II.1 Bài toán bãi để xe (tt)
Trên thực tế, một người bảo vệ nào đó tin rằng không còn chỗ trống nữa, trong khi một người bảo vệ khác lại vừa mới cho ra khỏi bãi một số xe mà anh ta chưa kịp báo cho các người bảo vệ khác Cũng có thể diễn ra trường hợp là cùng một lúc các người bảo vệ giải quyết các xe vào cùng một vị trí trong bãi vì họ thiếu thông tin
Như vậy, các người bảo vệ phải hợp lực với nhau để phân phối chính xác các chỗ trống trong bãi, đặc biệt là số lượng chỗ còn trống càng ít thì vài trò của hợp lực càng quan trọng
Phương pháp giải quyết này vấn đề dựa trên các thuật toán và giải pháp đã giới thiệu ở trên và được phân tích cụ thể trong phần tiếp theo sau
Trang 22II.2 Phân tích bài toán
II.2.1 Sự không gắn bó giữa các người bảo vệ
Cho một bãi để xe ô tô N chổ với nhiều cổng vào (ít nhất là 2 lối vào) và tại mỗi cổng vào có một người bảo vệ Một người bảo vệ có vai trò như là chương trình trình cung cấp chỗ của bãi để xe ô tô Ở đây, chỗ để xe được xem như là tài nguyên của hệ Giả sử rằng, ở thời điểm cho trước có 4 người bảo vệ và có 100 chỗ còn trống Tất cả các người bảo vệ đều có thông tin đó Trạng thái của hệ lúc này là gắn bó Ba trong số họ phát đi thông tin như sau:
Trang 23II.2 Phân tích bài toán (tt)
II.2.1 Sự không gắn bó giữa các người bảo vệ (tt)
Nếu ta không có ràng buộc nào đối với trình tự xử lý các thông điệp nhận được của các người bảo vệ thì các người bảo vệ này sẽ có số lượng chỗ trống khác nhau
Để bảo đảm các bản cập nhật
Giá trị Thông
điệp
Giá trị Thông
điệp
Giá trị Thông
điệp
Giá trị
Trang 24II.2 Phân tích bài toán (tt)
II.2.2 Hợp lực giữa các người bảo vệ
Vấn đề hợp lực giữa các người bảo vệ là vô cùng quan trọng nhằm phân phối chính xác số chỗ trống trong bãi, đặc biệt số chỗ trống càng ít thì vai trò của hợp lực càng quan trọng hơn
Ta hình dung mỗi một người bảo vệ như là một trạm điều khiển S
Khi một ô tô tại trạm Si muốn sử dụng chỗ trống trong bãi, nó sẽ gởi thông điệp REQ có đánh dấu cho tất cả các trạm trong hệ kể cả trạm Si
Mỗi trạm, Si, duy trì một hàng đợi chứa các thông điệp yêu cầu được sắp xếp theo trật tự dấu và quan hệ trật tự toàn bộ được sử dụng để gắn các dấu
Trang 25II.2 Phân tích bài toán (tt)
II.2.2 Hợp lực giữa các người bảo vệ (tt)
Khi một trạm nhận được yêu cầu, nó sẽ đưa thông điệp đó vào hàng đợi yêu cầu của nó theo thứ tự dấu và gởi một thông điệp trả lời ACQ Nếu cần, quan hệ trật tự toàn phần được sử dụng để phá vỡ các sự ràng buộc
Ý tưởng chung là một ô tô (tiến trình) không thể sử dụng chỗ trống tại bãi xe của nó cho tới khi nó nhận được trả lời từ tất cả các trạm khác Các thông điệp trả lời sẽ “flush out” các yêu cầu bất kỳ từ các tiến trình khác, để chúng ta biết hàng đợi được cập nhập
Trang 26II.2 Phân tích bài toán (tt)
II.2.2 Hợp lực giữa các người bảo vệ (tt)
Đặc biệt hơn nữa, một trạm Si cho
ô tô sử dụng chỗ trống trong bãi xe khi:
- Nhận được thông điệp trả lời từ tất cả các trạm còn lại
- Yêu cầu REQUEST của nó là ở trên đỉnh của hàng đợi cục bộ của nó
Khi trạm cho một ô tô ra, nó sẽ gởi khuyến nghị giải phóng RELEASE đến tất cả các trạm Yêu cầu của nó được loại bỏ khỏi tất cả các hàng đợi tại thời điểm này Nếu các trạm khác đang chờ để sử dụng chỗ trống của chúng, một trong các trạm đó bây giờ có thể bắt đầu sử dụng chỗ trống của mình
Độ trễ đồng bộ: T (trong đó T là thời gian trung bình truyền thông điệp) Khi nhận được thông điệp giải phóng, tiến trình tiếp theo có thể bắt đầu thi hành
Trang 27II.2 Phân tích bài toán (tt)
II.2.3 Các hoạt động cơ bản
có thể nói chúng có các hành vi cơ bản
Việc quản lý truy cập bao gồm ghi lại số lượng xe vào E, số lượng xe ra S và kiểm tra X mỗi khi muốn cho một xe vào bãi theo công thức:
Vào bãi (vao), Đậu (dau), Ra
(ra)
X = N - E + S >
0
Trang 28II.2 Phân tích bài toán (tt)
II.2.3 Các hoạt động cơ bản
thống này, người ta sử dụng bộ điều khiển Ci để có được số lượng vào chính xác là Ei, số lượng ra là Si Cho biết M là số lượng bộ điều khiển có trong hệ Người ta muốn trang bị cho mỗi
Ci một biến Xi - số lượng chỗ còn trống trong bãi nhằm mục đích có thể sử dụng điều kiện cục bộ:
để cho phép một ô tô vào bãi
Ở đây, ta cần phải chú ý rằng người bảo vệ phát một phiếu cho ô tô và nhận lại phiếu đó khi ô tô ra Mỗi một người bảo vệ Ci (đóng vai trò như là bộ điều khiển, bộ cung cấp) cầm giữ một số phiếu nhằm cho việc quản lý cục bộ của mình và chuyển cho đồng nghiệp Ci+1 những cái dư
Xi > 0