Tải bản đầy đủ (.ppt) (22 trang)

báo cáo tiểu luận lập trình mạng hệ thống đa server thể hiện giá trị đồng hồ lôgic và khả năng phát nhận thông điệp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (281.95 KB, 22 trang )

HỆ THỐNG ĐA SERVER THỂ HIỆN GIÁ
HỆ THỐNG ĐA SERVER THỂ HIỆN GIÁ
TRỊ ĐỒNG HỒ LOGIC VÀ KHẢ NĂNG
TRỊ ĐỒNG HỒ LOGIC VÀ KHẢ NĂNG
PHÁT/NHẬN THÔNG ĐiỆP
PHÁT/NHẬN THÔNG ĐiỆP
Giáo viên hướng dẫn: PGS. TS. Lê Văn Sơn
Học viên thực hiện : Phan Văn Thảo
Lớp: Khoa học máy tính - K24

YÊU CẦU ĐỀ TÀI
YÊU CẦU ĐỀ TÀI

Viết chương trình tính toán giá trị đồng hồ logic
tại mỗi server.

Xây dựng hệ thống 3 server thể hiện khả năng
phát nhận thông điệp

Xây dựng chương trình tính toán giá trị đồng hồ
cho server phát và giá trị cho server nhận
Nội dung
Nội dung
-
Tổng quan về hệ phân tán
- Đồng bộ hóa thời gian trong hệ phân tán - Thuật
toán Lamport
-
Cài đặt hệ thống đa server thể hiện giá trị đồng hồ
lôgic và khả năng phát nhận thông điệp
- Hệ phân tán (Distributed System)


TỔNG QUAN VỀ HỆ PHÂN TÁN
TỔNG QUAN VỀ HỆ PHÂN TÁN

Ví dụ về hệ phân tán - Một Intranet tiêu biểu

Kiến trúc hệ phân tán
Applications, Services
Middleware
Operating System
Computer and Network hardware
Platform
Middleware: Cung cấp mô hình lập trình cho các ứng
dụng, như RMI, CORBA, DCOM,…

Các lớp dịch vụ phần mềm và phần cứng.

Kiến trúc hệ phân tán (tt)
Client
Client
Server
Server
Invocation
Invocation
Result
Result

Mô hình Client/Server.

Không có khái niệm thời gian toàn cục.


Nhịp đồng hồ ở các trạm có thể khác nhau.

Đồng bộ hoá đồng hồ:
Đồng hồ logic: mỗi thông điệp được gán một thời gian
đánh dấu (timestamp) phản ánh thứ tự logic của
chúng.
Đồng hồ và thứ tự sự kiện
Đồng hồ và thứ tự sự kiện
ĐỒNG BỘ HÓA THỜI GIAN TRONG HỆ PHÂN TÁN -
ĐỒNG BỘ HÓA THỜI GIAN TRONG HỆ PHÂN TÁN -
THUẬT TOÁN LAMPORT
THUẬT TOÁN LAMPORT

Thời gian và thứ tự sự kiện.

Tiến trình và sự kiện

Đồng hồ vật lý và đồng bộ hóa:
Trong hệ phân tán mỗi bộ xử lý có một đồng hồ riêng.
Các thuật toán sử dụng để đồng bộ hóa đồng hồ:
Thuật toán Cristian.
Thuật toán Berkeley.

Đồng hồ logic.

Trong hệ phân tán, chương trình cung cấp tài nguyên nằm trên một
trạm và các tiến trình đề nghị lại nằm trên trạm khác; các yêu cầu và
khuyến nghị giải phóng được truyền cho chương trình cung cấp
thông qua hình thức thông điệp chuyển đi theo các kênh của hệ
thống viễn thông.


Vì vậy, nhu cầu sắp xếp các yêu cầu này theo một thứ tự nhất định
nào đó luôn luôn được đặt ra.

Sự họat động gắn bó với nhau giữa các chương trình cung cấp là rất
cần thiết để đảm bảo cho họat động cung cấp được hoàn toàn chính
xác.

Vấn đề cung cấp tài nguyên trong hệ phân tán:
Vấn đề cung cấp tài nguyên trong hệ phân tán:

Quy tắc 3 nhấn mạnh đến sự thiết yếu phải có một
trật tự duy nhất trên tập hợp các thông điệp của hệ.
Để thực hiện được điều này  sử dụng thuật toán
Lamport
1.Các bộ cung cấp bắt buộc phải thực hiện cùng giải thuật
2.Các bộ cung cấp đều nhận tất cả các thông điệp phát đi từ
các tiến trình.
3.Các thông điệp phải được xử lý cung một trật tự như nhau
trong các chương trình cung cấp.
Các quy tắc cho các thuật toán cung
cấp tài nguyên trên hệ phân tán.
Thuật toán Lamport
1.Các ký hiệu:

Một chương trình phân tán gồm n tiến trình độc lập và không đồng
bộ P1, P2, , Pn.

Việc xử lý tiến trình Pi, sản sinh dãy sự kiện : e
i

0
, ,
e
i
x
, e
i
x+1
,
Tập hợp các sự kiện sản sinh bởi Pi có tổng thứ tự được sắp đặt
theo dãy sự kiện: e
i
x
 e
i
x+1
ta nói rằng: e
i
x
xảy ta trước e
i
x+1
.

Các sự kiện xảy ra giữa hai tiến trình đồng thời nói chung không
quan hệ, trừ trường hơp:
Đối với mỗi thông điệp m trao đỗi giữa hai tiến trình Pi và Pj,
chúng ta có e
i
x

= send(m), e
i
x+1
= receive(m) thì e
i
x
 e
i
x+1 .
2. Những điều kiện đồng hồ:

Trong hệ thống các đồng hồ logic, các tiến trình riêng
biệt có một đồng hồ lôgic được áp dụng theo một giao
thức.

Mỗi sự kiện được gán một timestamp (thời gian đánh
dấu) theo cách thõa mãn điều kiện: nếu e1  e2 thì
C(e1) < C(e2).
Trong đó: C(ei) là timestamp được gán cho sự kiện ei.

Nếu giao thức thõa mãn điều kiện sau thì ta nói gắn bó
chặt:
nếu C(e1) < C(e2) thì e1  e2.
Thuật toán Lamport (tt)
3.Cài đặt đồng hồ lôgic:
B1: Tất cả tiến trình Pi, sử dụng đồng hồ lôgic riêng Ci, giá trị khởi
tạo là 0.
B2: Trước khi xử lý một sự kiện, Pi thực hiện như sau: tăng giá trị
đồng hồ và gán cho sự kiện như là timestamp của nó.
Ci = Ci + d (d>0 thường d=1)

B3: Mỗi thông điệp mang giá trị đồng hồ của tiến trình gữi tại thời
điểm gữi. Khi Pi nhận một thông điệp với timestamp C
msg
nó xử lý
như sau:
1.Ci = Max( Ci, C
msg
).
2.Thực hiện B2.
3.Phát thông điệp.
Thuật toán Lamport (tt)
Cài đặt chương trình
Cài đặt chương trình
1.Ngôn ngữ cài đặt : Java
2.Các chức năng chính:

Giá trị đồng hồ logic theo thuật toán Lamport
cho server phát và server nhận

Phát/nhận thông điệp trên mỗi server. Mỗi thông
điệp phát đi bao gồm:

Giá trị đồng hồ lôgic của server phát

Nội dung thông điệp
DEMO CHƯƠNG TRÌNH
DEMO CHƯƠNG TRÌNH
31/01/15 18
31/01/15 19

31/01/15 20
KẾT LUẬN
KẾT LUẬN

Kết quả đạt được:

Các kiến thức chung về hệ phân tán.

Các ngôn ngữ cho phép tính toán song song

Thuật toán Lamport và hướng cải tiến

Hướng phát triển

Phát triển đề tài theo hướng CSDL phân tán.

Viết chương trình cài đặt minh họa.
Xin chân thành cảm ơn!
Xin chân thành cảm ơn!
31/01/15 22

×