1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồng hồ logic thuật toán lamport dựa trên đồng hồ logic xây dựng hệ thống phân tán với một số server có khả năng phátnhận thông điệp

26 6 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Đồng hồ logic thuật toán Lamport dựa trên đồng hồ logic xây dựng hệ thống phân tán với một số server có khả năng phát nhận thông điệp
Tác giả Trương Minh Thống, Nguyễn Trọng Hiếu, Nguyễn Trường Huy, Hồ Văn Quân, Thân Văn Việt
Người hướng dẫn TS Nguyễn Hà Huy Cường
Trường học Đại học Duy Tân
Chuyên ngành Khoa học máy tính
Thể loại Luận văn
Năm xuất bản 2022
Thành phố Đà Nẵng
Định dạng
Số trang 26
Dung lượng 2,44 MB

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

Nội dung

• La qua trinh sắp xêp thứ tự thời gian cua các sự kiện qua viêc sinh ra cac tiến trình đồng thời Nhằm mục đích • Đồng bộ giữa việc gửi và nhận các thông điệp • Điều phối các hoạt độ

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC DUY TÂN KHOA CÔNG NGHỆ THÔNG TIN

==========

Nhóm thực hiện : Trương Minh Thống,

Nguyễn Trọng Hiếu, Nguyễn Trường Huy,

Hồ Văn Quân, Thân Văn Việt

Giáo viên hướng dẫn: TS Nguyễn Hà Huy Cường

1

Đà Nẵng, 05,03,2022

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 2

YÊU CẦU CỦA TIỂU LUẬN

• Ta có 1 tập hợp bao gồm n người (n>=2) chỉ có thể trao đổi với nhau bằng thông điệp để thống nhất cho 1 hành động chung Hãy mô tả bài toán phân tán này, xây dựng giải pháp và lập chương trình

–Xây dựng hệ thống phân tán với một số server có khả

năng phát/nhận thông điệp

–Xây dựng các giải pháp kỹ thuật và giả định hành động chung

–Lập chương trình bằng Java và hiện kết quả lên màn

hình

2 TIEU LUAN MOI download : skknchat123@gmail.com

Trang 3

NỘI DUNG THỰC HIỆN

Trang 4

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 5

GIẢI QUYẾT YÊU CẦU

Ta cần tìm hiểu trước về các vấn đề sau:

- Muốn thống nhất được các thông tin của nhiều

người, ta cần đồng bộ hóa được thông tin.

- Hiểu được về Đồng Hồ Logic và cách sử dụng.

- Hiểu về thuật toán Lamport dựa trên đồng hồ logic.

- Ứng dụng thuật toán trong lập trình.

4 TIEU LUAN MOI download : skknchat123@gmail.com

Trang 6

ĐỒNG BÔ HÓA

Tại sao phải đồng bộ hóa ?

• Ích lợi của mô hình đa luồng cho phép ứng dụng thực hiệnnhiều công việc đồng thời Nhưng bên cạnh sự hữu dụng đó,việc tồn tại cùng lúc nhiều luồng trong môi trường có thể dẫnđến sự tranh chấp, ngăn cản họat động lẫn nhau giữa cácluồng 

+ Bê tắc ( Dead Lock)

+ Cho kêt qua sai lêch

 Do đo cân thưc hiên đông hoa thơi gian thưc hiên cua cactiên trinh khi xư lý

• Hâu cac ưng dung như : thanh toan, điêu khiên tư đông( lắp rap, phan ưng hat nhân…), truy xuât database v.v…đông bô hoa co vai trò quan trong trong xư lý

UNIVERSITY DUYTAN TIEU LUAN MOI download : skknchat123@gmail.com 5

Trang 7

ĐỒNG BÔ HÓA

Đồng bộ hóa là gì ?

• La qua trinh sắp xêp thứ tự thời gian cua các sự kiện qua viêc sinh ra cac tiến trình đồng thời

Nhằm mục đích

• Đồng bộ giữa việc gửi và nhận các thông điệp

• Điều phối các hoạt động chung cho toan hê thông

• Sắp xêp thứ tự truy cập đồng thời cho các đối tượng được chia sẻ tai nguyên

UNIVERSITY DUYTAN TIEU LUAN MOI download : skknchat123@gmail.com 6

Trang 8

ĐỒ̀NG HỒ̀ LOGIC

Happened-before

Lamport gọi “happened-before” như sau:

- a b : sự kiện a đã xảy ra trước sự kiện b

Ví Dụ : a thông điệp được gửi đi, b: thông điệp nhận

+ Tính bắc cầu (Transitive): nếu a  b và b c thì a  c

7

UNIVERSITY DUYTAN TIEU LUAN MOI download : skknchat123@gmail.com

Trang 9

ĐỒ̀NG HỒ̀ LOGIC

Không có nguồn thời gian trung tâm

- Không có chỉ thị của các sự kiện

Không có khái niệm “happened-when”  Các hệ thống đôi khi giao tiếp hoặc không

Làm thế nào để sắp xếp thứ tự của a,b,c,d ???

UNIVERSITY DUYTAN TIEU LUAN MOI download : skknchat123@gmail.com

8

7/35

Trang 10

ĐỒ̀NG HỒ̀ LOGIC

Happened-before

- Lamport gọi “happened-before” như sau:

Nếu sự kiện a đã xãy ra trước sự kiện

b khi và chỉ khi

a : thông điệp được gửi đi, b:

thông điệp nhận.

Ký́ hiệu : a b Tính bắ́c cầu (Transitive):

-nếu a  b và b c thì a  c Lamport, February 7, 1941,

UNIVERSITY DUYTAN TIEU LUAN MOI download : skknchat123@gmail.com

9

8/35

Trang 11

ĐỒ̀NG HỒ̀ LOGIC

Sự kiện đồng qui (concurrency)

- Nếu a và b xảy ra trên các hệ thống/trạm khác nhau mà

không trao đổi thông điệp thì không thể xác định :

a b hoặc b a là đúng

những sự kiện này được gọi là đồng qui

UNIVERSITY DUYTAN TIEU LUAN MOI download : skknchat123@gmail.com

10

9/35

Trang 12

ĐỒ̀NG HỒ̀ LOGIC

Thuật toán Lamport

(a,j), (a,g), (g,j), (h,f), (i,k)

UNIVERSITY DUYTAN TIEU LUAN MOI download : skknchat123@gmail.com

11

10/35

Trang 13

ĐỒ̀NG HỒ̀ LOGIC

Thuật toán Lamport

- Mỗi thông điệp mang một dâu thời gian (timestamp ) của đồng hồ gởi

- Khi một thông điệp được gởi đến :

+nếu đồng hồ nhận < timestamp của thông điệp

thiết lập lại đồng hồ hệ thống (timestamp + 1)

+Ngược lại giữ nguyên

- Đông hô phai đươc điêu chinh giưa 2 sư kiên bât kỳ trong cung tiên trinh

UNIVERSITY DUYTAN TIEU LUAN MOI download : skknchat123@gmail.com

12

11/35

Trang 14

ĐỒ̀NG HỒ̀ LOGIC

Thuật toán Lamport

Thuật toán cho phép chúng ta sắ́p xếp thứ tự thời

gian trong số các sự kiện liên quan - Thứ tự từng

phần (Partial ordering )

UNIVERSITY DUYTAN TIEU LUAN MOI download : skknchat123@gmail.com

13

12/35

Trang 15

ĐỒ̀NG HỒ̀ LOGIC

Thuật toán Lamport

a b, b c, …: trình tự các sự kiện tại địa phương

I(a,g,j),II(h,f),III(i,k) : Các thành phần đồng qui

UNIVERSITY DUYTAN TIEU LUAN MOI download : skknchat123@gmail.com

14

13/35

Trang 16

ĐỒ̀NG HỒ̀ LOGIC

Unique timestamps

Chúng ta có thể áp đặt mỗi dấu thời gian trơ nên duy

nhất

- Xác định dâu thời gian logic toàn cục (Ti, i)

timestamps:

(T i , i) < (T j , j)

Nếu và chỉ nếu :

T i < T j (i, j khác hệ thống )hoặc T i = T j và i < j (i,j cùng 1 hệ thống )

UNIVERSITY DUYTAN TIEU LUAN MOI download : skknchat123@gmail.com

15

14/35

Trang 17

ĐỒ̀NG HỒ̀ LOGIC LAMPORT

– Các sự kiện xảy ra trong cùng một bộ xử lý́ thì chúng luôn ở trong trạng thái trật tự gắ́n bó bằng cách sử dụng đồng hồ hệ thống (thời gian thực) vì giá trị của đồng hồ hệ thống luôn

được tăng đều.

– Các sự kiện xảy ra trong các bộ xử lý́ khác nhau thì sẽ gây ra tình trạng không gắ́n bó trong thời gian truyền thông điệp,

nhưng không lâu sau chúng cũng gắ́n bó vì nếu bộ xử lý́ Pjgửi thông điệp cho bộ xử lý́ Pk vào thời gian T thì Pk không thể nhận thông điệp đó vào thời gian T hoặc trước đó.

16 TIEU LUAN MOI download : skknchat123@gmail.com

Trang 18

Thuật toán Lamport dựa trên đồng hồ logic

logic trong bộ xử lý́ J tại thời gian T, đồng hồ logic hoạt độngtheo nguyên tắ́c sau:

– Đánh dấu mỗi sự kiện bằng giá trị đồng hồ logic của bộ xử lý́

đó (với C j : Đồng hồ logic của P j, được khởi tạo từ 0).

– Nếu có một sự kiện cục bộ xảy ra, thì ta tăng giá trị đồng hồ logic lên 1.

– Khi một thông điệp được gửi bởi bộ xử lý́ K, đánh dấu nó bởi

C k (T).

– Khi bộ xử lý́ K nhận một thông điệp có dấu thời gian là C’ thì

ta đặt lại đồng hồ logic của bộ xử lý́ K là: max(C’, C k (T)) + 1.

17 TIEU LUAN MOI download : skknchat123@gmail.com

Trang 19

Thuật toán Lamport dựa trên đồng hồ logic (tt)

• Nếu nhận các thông điệp cùng một thời gian thì căn cứ vào giá trị đồng hồ logic của các thông điệp

để thực hiện việc sắ́p xếp:

a thực hiện trước b nếu

- Ci(a) < Cj(b) hoặc

- Ci(a) = Cj(b) và i < j

18 TIEU LUAN MOI download : skknchat123@gmail.com

Trang 20

Thuật toán Lamport dựa trên đồng hồ logic (tt)

xử lý́ (nếu là sắ́p xếp trong các tiến trình ta phải dùng thêm

– C i : giá trị đồng hồ logic của bộ xử lý́ i.

– i : là ID của bộ xử lý́ (như Server1, Server2…).

19 TIEU LUAN MOI download : skknchat123@gmail.com

Trang 21

Thuật toán sắp xếp các thông điệp đến căn cứ vào

giá trị của đồng hồ logic Lamport:

Thuật toán được mô tả theo sơ đồ sau :

Mi = (REL, Hinit , i)

• Để truy cập vào tài nguyên một trạm nào đó sẽ phát một thông điệp yêu cầu Mi (T,Hi,i) đến tất cả các trạm khác và đưa yêu cầu vào hàng đợi yêu cầu của trạm này.

• Khi trạm j nhận thông điệp yêu cầu từ i, nó sẽ gởi ngược lại thông điệp (có chứa đồng hồ logic H j ) cho S j và đưa yêu cầu này vào trong hàng đợi yêu cầu của nó.

20 TIEU LUAN MOI download : skknchat123@gmail.com

Trang 22

Thuật toán sắp xếp các thông điệp đến căn cứ

vào giá trị của đồng hồ logic Lamport:

If state =muon then

Trang 23

Thuật toán sắp xếp các thông điệp đến căn cứ

vào giá trị của đồng hồ logic Lamport:

Khi trạm đang vào đoạn găng: Trạm i nhận một thông

điệp với đồng hồ logic lớn hơn đồng hồ ở thời điểm

hiện tại của trạm i và yêu cầu của trạm i đang ở vị trí

của hàng đợi yêu cầu của nó

If (H>H i ) and (Vị trí M ở đầu của hàng đợi) then state=namgiu

Khi trạm không thực hiện gì cả

Xoá yêu cầu và gởi thông điệp giải phóng những trạm khác sẽ

loại bỏ yêu cầu tương ứng

If state=ranh then xử lý(các thông điệp hàng đợi) ‘sau đó xoá

Send thông điệp giải phóng đến các trạm

Những trạm khác cũng sẽ xoá yêu cầu của nó trong hàng đợi

của

mình.

22

Trang 24

U LUA

N MOI dow nloa

d : skk nch at12 3@ gma il.co m

Trang 25

XÂY DỰNG CHƯƠNG TRÌNH

trên Internet thực sự Hai Server này có chức năng:

Chứa cơ sở dữ liệu là một tài khoản ngân hàng.

Khi nhận thông điệp:

nó.

• Giả lập Client trên một cửa sổ khác:

– Kết nối với 2 Server

– Gửi thông điệp để thay đổi số tiền có trong tài khoản (thêm tiền và tính lãi suất).

– Nhận thông điệp trả về từ các Server cho biết số tiền hiện có trong tài khoản.

23 TIEU LUAN MOI download : skknchat123@gmail.com

Trang 26

KẾT LUẬN

24 TIEU LUAN MOI download : skknchat123@gmail.com

Ngày đăng: 20/07/2022, 16:33

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