Định nghĩa: Hệ tin học phân tán hay nói ngắn gọn là hệ phân tán distributed system là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc bộ vi xử lý nằm tại các vị trí khác nhau và
Trang 2NỘI DUNG TRÌNH BÀY
1 GIỚI THIỆU VÀI NÉT VỀ HỆ PHÂN TÁN
2 ĐỒNG BỘ HÓA BẰNG PHƯƠNG PHÁP TRẬT TỰ
3 ỨNG DỤNG PPĐBH TRẬT TỰ ĐỂ GIẢI QUYẾT BÀI TOÁN
Trang 3Giới thiệu vài nét về Hệ phân tán
Hệ tin học phân tán là hệ thống đa dạng, da diện, phức tạp
về mặt cấu trúc, là vùng tri thức hiện đại.
Định nghĩa: Hệ tin học phân tán hay nói ngắn gọn là hệ
phân tán (distributed system) là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc bộ 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
1 Giới thiệu Hệ phân tán
Trang 4Giới thiệu vài nét về Hệ phân tán
Là một tập hợp bao gồm các bộ xử lý hoặc bộ vi xử lý với bộ
nhớ và đồng hồ nhịp độc lập
Các bộ xử lý không sử dụng chung bộ nhớ và đồng hồ
Hệ phân tán bao gồm một hay nhiều bộ xử lý và bộ nhớ cục bộ
Trong hệ phân tán, hệ xử lý thông tin thành phần phải được thiết
kế sao cho về cấu trúc số lượng và dung lượng có thể cho phép
thực hiện một cách trọn vẹn các chức năng mà nó phải đảm nhận
1 Giới thiệu Hệ phân tán
Trang 5Giới thiệu vài nét về Hệ phân tán
Vậy, trong hệ phân tán cần phải có cơ chế kỹ thuật
đủ mạnh nhằm đồng bộ hóa hoạt động của các tiến
trình và sự trao đổi thông tin với nhau sao cho hệ thống
tránh được các trường hợp có thể dẫn đến “bế tắc” mà
khi nghiên cứu hệ điều hành các máy tính.
1 Giới thiệu Hệ phân tán
Trang 62 Các điểm mạnh trong hệ tin học phân tán
được lưu ở nhiều nơi
cục bộ cũng lấy được các thông tin từ các trung tâm
chính ở rất xa
kỹ thuật Web cùng với các ứng dụng trung gian thúc đẩy việc tính toán phân tán
Giới thiệu vài nét về Hệ phân tán
Trang 73 Vấn đề Xử lý phân tán
Khái niệm thứ nhất liên quan đến việc tính toán trên hệ
Client/Server Trong đó ứng dụng được chia ra thành hai phần, phần của server và phần của client và được vận hành ở hai nơi
Khái niệm thứ hai là việc thực hiện các tác vụ xử lý phức
tạp trên nhiều hệ thống Không gian nhớ và bộ xử lý của nhiều máy cùng hoạt động chia nhau tác vụ xử lý Máy
trung tâm sẽ giám sát và quản lý các tiến trình này
Giới thiệu vài nét về Hệ phân tán
Trang 84 Các Mô hình Ứng dụng Phân tán
RPC (remote procedure call) Giao thức truyền thông theo phiên giữa các máy được kết nối giữa các mạng RPCs thường được sử dụng trong các thao tác cần thời gian thực, hướng kết nối
Messaging services: Dịch vụ thông điệp còn gọi là dịch vụ MOM
(message-oriented middleware) - cung cấp một phương thức trao đổi thông tin giữa các ứng dụng và các thành phần dùng hàng đợi và cách chuyển thông điệp theo từng bước.
Giới thiệu vài nét về Hệ phân tán
Trang 94 Các Mô hình Ứng dụng Phân tán
ORB (object-request broker) Một tác nhân kiểm soát truyền thông, cho phép các đối tượng được phép truyền thông lên mạng, ta có thể gửi
thông điệp từ giao diện ORB của client đến cho giao diện ORB của server.
Giới thiệu vài nét về Hệ phân tán
Trang 10Trong mô hình đồng bộ hoá bằng phương pháp trật
tự Có 2 phương pháp mà ta đặc biệt quan tâm và nghiên cứu kỹ:
Đồng bộ bằng phương pháp trật tự
1 Đồng bộ hóa bằng phương pháp trật tự từng phần
2 Đồng bộ hóa bằng phương pháp trật tự tổng quát chặt chẽ.
Trang 11Đồng bộ bằng phương pháp trật tự
Tiến trình 1 Tiến trình 2 Tiến trình 3
Đồng bộ hóa bằng phương pháp trật tự từng phần
Trang 12Đồng bộ bằng phương pháp trật tự
giữa các sự kiện, giữa các trạm khác nhau và dùng để trao đổi thông điệp.
phân tán nhờ vào quan hệ được ký hiệu là và gọi là “có trước”
Thể hiện qua 2 cách:
thực hiện trước B thì theo trật tự cục bộ của trạm ta có: A B.
của thông điệp này thì ta có A B
Trang 13Đồng bộ bằng phương pháp trật tự
Ta xét mô hình người sản xuất- người tiêu thụ:
Gọi người sản xuất P và người tiêu thụ C là hai người nằm
trên hai trạm cách xa nhau
Giả sử rằng NP là số lượng sản xuất ra và NC là số lượng
tiêu thụ tại thời điểm khởi sự
C chỉ tiêu thụ được một sản phẩm, nếu sản xuất sản phẩm đó
đã diễn ra, có nghĩa là, nếu
Trang 14Đồng bộ bằng phương pháp trật tự
Trong hệ thống tin học phân tán, người ta có thể vận dụng hợp lực này theo kiểu như sau:
thực hiện.
ra.
Trang 16Cơ chế đồng bộ ở đây là dùng các công tơ sự kiện phù hợp với
từng vấn đề đặt ra Mỗi một công tơ, biến nguyên không lùi, được kết hợp với một nhóm đặt biệt các sự kiện
Trên một công tơ sự kiện nào đó có phối hợp với nhóm E nào
đó, được xác định bởi ba hàm nguyên thủy:
+ Tang_len(E) : Tăng nội dung công tơ lên 1 đơn vị Cũng có nghĩa là một sự kiện nhóm E đến
+ Truy_van(E): Cung cấp giá trị hiện hành của công tơ phối
hợp với E
+ Cho(E,n): Treo tiến trình gọi chừng nào giá trị công tơ còn nhỏ hơn n
Trang 17Tiến trình 1 Tiến trình 2 Tiến trình 3 Tiến trình 3
Đồng bộ hóa bằng phương pháp trật tự tổng quát chặt chẽ
Đồng bộ bằng PP trật tự tổng quát chặt chẽ
Trang 18 Nguyên lý của phương pháp này được khái quát như sau:
Một tiến trình nào đó gửi thông điệp để yêu cầu sử dụng tài nguyên, một tiến trình sử dụng xong tài nguyên nào đó truyền một thông tin giải phóng khi nó ngừng chiếm dụng
Trong các hệ phân tán, chương trình cung cấp nằm trên một trạm và các tiến trình đề nghị lại ở trên các trạm khác, các yêu cầu và khuyến nghị giải phóng được truyền cho các chương trình cung cấp thông qua hình thức thông điệp
Đồng bộ bằng PP trật tự tổng quát chặt chẽ
Trang 19 Mỗi trạm s đều có trang bị công tơ với các giá trị nguyên gọi là
Hs Đó chính là đồng hồ logic tăng lên giữa hai sự kiện kế tiếp Trạm e phát thông điệp ghi dấu E của mình dựa trên giá trị hiện hành của He Khi nhận được thông điệp, trạm nhận r cập nhật đồng hồ Hr riêng của mình bằng giải thuật sau đây:
Nếu Hr thì
Hr := E+1Kết thúc nếu
Sự kiện “nhận thông điệp” lúc này được ghi nhận bằng giá trị của Hr Thuật toán này đảm bảo rằng thời gian nhận thông điệp
là sau thời gian phát nó đi Thời gian này cho phép xác định một quan hệ trật tự toàn bộ
Đồng bộ bằng PP trật tự tổng quát chặt chẽ
Trang 20 Một sự kiện a sinh ra trong trạm i và được đánh dấu bởi đồng
hồ cục bộ gọi là Hi(a) Nếu a và b đều là hai sự kiện trên hai trạm i và j, ta luôn luôn có quan hệ trật tự chặt chẽ ⇒ bằng cách kết hợp một số khác cố định cho mỗi trạm và bằng cách đánh dấu thời gian cho mỗi sự kiện a của trạm i bằng cặp (Hi(a),i)
Xác định như sau:
a ⇒ b ⇒ (Hi(a) < Hi(b))hay: (Hi(a) = Hi(b) và i<j)
Đồng bộ bằng PP trật tự tổng quát chặt chẽ
Trang 21Kết luận
- Các thành phần trạng thái của hệ đượ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, thời gian trể trong quá trình truyền giữa các trạm cũng khác nhau, nên độ rủi ro về mất thông tin trên hệ phân tán khá cao
- Đồng bộ hóa giữa các tiến trình trong hệ là hết sức quan trọng và cần đặt biệt chú ý đến Đảm bảo thông suốt về mặt dữ liệu và đáp ứng thời gian thực về mặt truyền thông
Trang 22BÀI TẬP ỨNG DỤNG
Trên cơ sở kiến thức đã lĩnh hội trong phần công tơ sự kiện, 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)
Nhằm phục vụ mục đích này, ta thành lập hai hàm nguyên thủy sau:
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 toán thứ i: tang(E) → cho(E,i)
Trang 23+ Để giải quyết bài toán đã nêu ra, ta sử dụng một số hàm nguyên thủy sau:
tang(E) : Tăng giá trị công tơ lên một đơn vị
cho(E,i) : Treo cho đến khi giá trị của công tơ
sự kiện E >= i
send(S): Gửi thông điệp đến trạm S
receive(S): Nhận thông điệp từ trạm S.+ Theo giả thiết của bài toán, trạm sản xuất PS chỉ có thể sản xuất sản phẩm, nếu:
NP – NC’ < N
và trạm tiêu thụ CS chỉ có thể tiêu thụ sản phẩm nếu:
NP’ – NC > 0
BÀI TẬP ỨNG DỤNG
Trang 24+ Trong đó:
NP: Số lượng sản phẩm đã sản xuất bởi trạm PS
NC: Số lượng sản phẩm đã tiêu thụ bởi trạm CS
NC’: công tơ sự kiện tiêu thụ đặt trên trạm sản xuất PS
NP’: công tơ sự kiện sản xuất đặt trên trạm tiêu thụ CS
Ta gọi Pi là sản xuất thứ i và Ci là tiêu thụ thứ i
Ta thấy rằng:
Pi → Pi+1 → Pi+N : tuân theo trật tự cục bộ của trạm sản
xuất PS
Pi → Ci : tuân theo mối quan hệ nhân quả
Vấn đề của bài toán đến đây là cần phải chứng minh:
Ci → Pi+N
BÀI TẬP ỨNG DỤNG
Trang 25Chứng minh Pi → Ci
Xét tại trường hợp sản xuất thứ i-1
Tại trạm sản xuất PS, số lượng sản phẩm được sản xuất là
NP = i - 1
Tại trạm tiêu thụ CS, số lượng sản phẩm tiêu thụ giả sử đang là:
NC = i – m (m>0) Khi đó các công tơ sự kiện tại trạm sản xuất NC’ = i – m, tại trạm tiêu thụ NP’ = i - 1
Nếu trạm sản xuất PS tạm ngừng không sản xuất nữa, trạm tiêu thụ
CS sẽ tiêu thụ cho đến sản phảm thứ i-1, Lúc này, ta có:
NC = NP’ = i
Trang 26BÀI TẬP ỨNG DỤNG
Khi đó, trạm tiêu thụ CS sẽ không tiêu thụ nữa vì điều kiện
NP’ – NC > 0 không còn thỏa mãn Điều này có nghĩa là tiêu thụ
Ci không thể thực hiện trước sản xuất Pi
Trạm PS thực hiện sản xuất thứ i, NP = i Sau khi sản xuất, trạm
PS gửi thông điệp thông báo cho trạm CS biết đã sản xuất thêm sản phẩm Khi nhận được thông điệp từ trạm PS, trạm CS sẽ tăng giá trị của công tơ sự kiện thêm một đơn vị NP’ = NP’ + 1.
Khi đó NP’ = i, NC = i-1 nên điều kiện NP’ – NC > 0 thỏa mãn,
và lúc này trạm CS có thể thực hiện việc tiêu thụ thứ i Như vậy ta
đã chứng minh được sản xuất thứ i có trước tiêu thụ thứ i
Pi → Ci
Trang 27* Chứng minh Ci → Pi+N
Xét tại trường hợp tiêu thụ thứ i-1
Tại trạm tiêu thụ CS, số lượng sản phẩm tiêu thụ là:
Trang 28+ Nếu trạm tiêu thụ CS tạm ngừng không tiêu thụ nữa, trạm sản xuất PS sẽ kiểm tra điều kiện NP – NC’ < N và sản xuất đến sản phẩm thứ (i-1+N), NP = i – 1 + N Lúc này, tại trạm sản xuất, giá trị của công tơ sự kiện là: NC’ = i – 1
+ Khi đó, ta có: NP – NC’ = (i – 1 + N) – (i – 1) = N
và không thỏa mãn điều kiện đầu NP – NC’ < N nên trạm PS không sản xuất nữa Như vậy, khi trạm CS chưa tiêu thụ sản phẩm thứ i thì trạm PS không thể sản xuất sản phẩm thứ
(i+N), tức là Pi+N không thể có trước Ci
Trang 29+ Khi trạm CS tiêu thụ sản phẩm thứ i là Ci, nó sẽ gửi một thông điệp cho trạm PS thông báo vừa có một sản phẩm được tiêu thụ Trạm
PS sau khi nhận được thông điệp từ trạm CS sẽ tăng giá trị của công tơ sự kiện NC’ thêm một đơn vị:
+ Như vậy, tiêu thụ thứ i có trước sản xuất thứ i + N
+ Như vậy, quan hệ sản xuất và tiêu thụ có quan hệ có trước như sau:
Pi → Ci → Pi+N
BÀI TẬP ỨNG DỤNG
Trang 30+ Thuật toán tại trạm sản xuất
PS:
Vòng lặp
Nếu receive(CS)
tang(NC’) cho(NC’,NP – N + 1)