1. Trang chủ
  2. » Luận Văn - Báo Cáo

thời gian logic

25 585 3

Đ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

Định dạng
Số trang 25
Dung lượng 289,86 KB

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

Nội dung

thời gian logic

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA ĐÀO TẠO QUỐC TẾ VÀ SAU ĐẠI HỌC

-********** -BÀI TIỂU LUẬN Môn: TÍNH TOÁN PHÂN TÁN

Chủ đề: “Thời gian logic”

Giáo viên giảng dạy: PGS.TS Trần Đình Quế Nhóm thực hiện: Hoàng Thị Hà

Nguyễn Huyền Trang Hoàng Hoài Nam Phạm Đình Vũ

Lớp: Cao học Hệ thống thông tin 2013

Hà nội, ngày 28 tháng 3 năm 2014

Trang 2

MỤC LỤC

Trang 3

NỘI DUNG Phần 1: GIỚI THIỆU

Khái niệm quan hệ nhân quả giữa các sự kiện là cơ sở để thiết kế và phân tích các hệ hiều hành, tính toán phân tán và song song Thông thường, quan hệ nhân quả được theo dõi giám sát bởi thời gian vật lý Sự cần thiết của thời gian logic xuất phát từ thực tế trong các hệ thống phân tán, không thể có thời gian vật lý toàn cục, mà chỉ có thể nhận ra một xấp xỉ của nó Một thời gian logic, do đó không dựa trên đồng hồ nhưng có thể dựa trên một giá trị thời gian thu được từ một cấu trúc dữ liệu hướng công thức Khi một sự kiện được thực hiện trong một quá trình, nó tính toán thời gian logic địa phương của mình và gửi nó cùng với một thông điệp Sự kiện bên nhận có được tri thức về thời gian logic địa phương của các sự kiện trước đó mà nó có thể sử dụng để thiết lập thời gian logic riêng của mình Cơ chế này đảm bảo rằng các sự kiện được thực hiện theo đúng trình tự Chương này sẽ thảo luận 3 phương pháp để thực thi thời gian logic (ví dụ: thời gian vô hướng, thời gian vectơ và thời gian ma trận) mà đã được đề xuất để phát hiện quan hệ nhân quả giữa các sự kiện của tính toán phân tán

Quan hệ nhân quả giữa các sự kiện trong một hệ thống phân tán là một định nghĩa mạnh trong lập luận, phân tích, và suy luận tính toán Tri thức về quan hệ nhân quả giữa các sự kiện giúp cho việc giải quyết đa dạng các bài toán trong hệ phân tán Ví dụ về một

số bài toán đó như sau:

- Thiết kế các thuật toán phân tán: tri thức về quan hệ nhân quả giữa các sự kiện

giúp đảm bảo tính tồn tại, và công bằng trong các thuật toán loại trừ, duy trì tính nhất quán trong cơ sở dữ liệu nhân bản, và thiết kế các thuật toán phát hiện deadlock để tránh phát hiện sai hoặc không phát hiện được deadlock

- Theo dõi các sự kiện phụ thuộc: trong vấn đề gỡ lỗi phân tán, tri thức về sự phụ

thuộc nhân quả giữa các sự kiện giúp xây dựng nên một trạng thái nhất quán cho việc khôi phục thực thi; trong quá trình phục hồi lỗi, nó giúp xây dựng một trạm kiểm soát; trong cơ sở dữ liệu nhân bản, nó hỗ trợ phát hiện các mâu thuẫn tập tin trong trường hợp phân vùng mạng

- Tri thức về tiến độ: tri thức về sự phụ thuộc nhân quả giữa các tiến trình giúp đo

được tiến độ của của các tiến trình trong tính toán phân tán Điều này có ích trong việc loại bỏ thông tin không dùng nữa (lỗi thời), thu gom rác và phát hiện kết thúc

- Đo khả năng truy cập đồng thời: tri thức về số lượng sự kiện phụ thuộc nhân quả,

là có ích trong việc đo số lượng đồng thời trong tính toán phân tán Tất cả các sự kiện mà

Trang 4

không phụ thuộc nhân quả có thể được thực thi đồng thời Do vậy, một phép phân tích nhân quả trong một tính toán phân tán cho ta ý tưởng về sự đồng thời trong chương trình.Khái niệm nhân quả được con người sử dụng rộng rãi một cách vô thức, trong việc lập kế hoạch, lập lịch, và thực hiện một việc, hoặc trong việc quyết định tính bất khả thi của một kế hoạch Trong cuộc sống hằng ngày, thời gian toàn cục để suy luận mối quan

hệ nhân quả thu được từ các đồng hồ đồng bộ hóa lỏng lẻo Tuy nhiên trong hệ tính toán phân tán, tỷ lệ xuất hiện các sự kiện là lớn hơn một vài đại lượng và thời gian thực thi các

sự kiện là nhỏ hơn một vài đại lượng Do đó, nếu đồng hồ vật lý không được đồng bộ hóa chặt chẽ thì quan hệ nhân quả giữa các sự kiện có thể không được chỉ ra chính xác Các giao thức thời gian mạng, NTP, mà có thể duy trì thời gian chính xác đến từng vài chục mili giây trên Internet, vẫn không đủ để bắt được quan hệ nhân quả trong các hệ phân tán Tuy nhiên, trong tính toán phân tán, tiến độ thông thường được đẩy nhanh, và tương tác giữa các tiến trình xảy ra cũng nhanh hơn Do đó, trong một tính toán phân tán, quan hệ nhân quả giữa các sự kiện được sinh ra bởi thực thi chương trình và tính chất đơn điệu cơ bản của nó có thể đo được chính xác bởi các đồng hồ logic

Trong một hệ thống đồng hồ logic, mọi tiến trình đều có 1 đồng hồ logic mà cải tiến tập các quy tắc Mỗi sự kiện được gán với một nhãn thời gian và quan hệ nhân quả giữa các sự kiện có thể được suy ra từ nhãn thời gian của chúng Các nhãn thời gian được gán

cho các sự kiện tuân theo tính chất đơn điệu cơ sở, đó là, nếu một sự kiện a ảnh hưởng nhân quả tới sự kiện b thì nhãn thời gian của a nhỏ hơn nhãn thời gian của b.

Chương này đầu tiên giới thiệu một mô hình chung của hệ thống đồng hồ logic trong các hệ thống phân tán, và sau đó thảo luận 3 cách để thực thi thời gian logic trong hệ phân tán Trong phương pháp thứ nhất, đồng hồ vô hướng Lamport, thời gian được biểu diễn bởi các số nguyên không âm, ở phương pháp thứ hai, thời gian được biểu diễn bởi một vecto các số nguyên không âm, phương pháp thứ 3, thời gian được biểu diễn bởi một

ma trận các số nguyên không âm Chúng tôi cũng thảo luận các phương pháp hiệu quả để thực hiện các hệ thống đồng hồ vectơ

Chương này kết thúc bằng một thảo luận về thời gian ảo, sự thực hiện của nó sử dụng

cơ chế thời gian dọc, và thảo luận ngắn gọn về đồng bộ hóa đồng hồ vật lý và giao thức thời gian mạng NTP

Trang 5

Phần 2: FRAMEWORK CHO HỆ THỐNG ĐỒNG HỒ LOGIC

2.1 Định nghĩa

Một hệ thống đồng hồ logic bao gồm một miền thời gian T và đồng hồ logic C Các phần tử của T tạo thành một tập có thứ tự từng phần trên quan hệ < Quan hệ này thường được gọi là xảy ra trước hoặc quan hệ nhân quả Đồng hồ logic C là một hàm mà ánh xạ một sự kiện e trong hệ phân tán tới một phần tử trong miền thời gian T, ký hiệu là C(e) và được gọi là nhãn thời gian của e, được định nghĩa như sau:

C: H→T, sao cho tính chất sau được thỏa mãn:

với hai sự kiện ei và ej , ei →ejC(ei) < C(ej).

Tính chất đơn điệu (monotonicity )này được gọi là điều kiện nhất quán đồng hồ Khi

T và C thỏa mãn điều kiện sau:

với hai sự kiện ei và ej , ei →ejC(ei) < C(ej),

hệ thống đồng hồ được gọi là nhất quán mạnh

2.2 Thực thi đồng hồ logic

Thực thi đồng hồ logic yêu cầu giải quyết hai vấn đề: cấu trúc dữ liệu địa phương tới mọi tiến trình để biểu diễn thời gian logic và một giao thức (tập các quy tắc) để cập nhật

dữ liệu mà cho phép hai khả năng sau:

của nó

của thời gian logic toàn cục Nó cho phép tiến trình này gán những nhãn thời gian nhất

Giao thức đảm bảo rằng một đồng hồ logic của tiến trình được quản lý nhất quán Giao thức bao gồm hai quy tắc sau:

• R1 Quy tắc này điều chỉnh cách thức để đồng hồ logic địa phương được cập nhật bởi một tiến trình khi nó thực thi một sự kiện (gửi, nhận, hoặc internal)

• R2 Quy tắc này điều chỉnh cách thức một tiến trình cập nhật đồng hồ logic toàn cục

để để cập nhật biểu diễn của nó về thời gian toàn cục và tiến độ toàn cục Nó yêu cầu những thông tin nào về thời gian logic được mang theo trong thông điệp và cách thức thông tin này được sử dụng bởi các tiến trình nhận để cập nhật biểu diễn thời gian toàn cục của nó

Trang 6

Hệ thống đồng hồ logic phân biệt nhau bởi biểu diễn thời gian logic của chúng và giao thức cập nhật đồng hồ logic Tuy nhiên, tất cả các hệ thống đồng hồ logic đều thực hiện quy tắc R1 và R2 và do đó đảm bảo tính đơn điệu cơ sở kết hợp với quan hệ nhân quả Hơn nữa, mỗi hệ thống đồng hồ logic cụ thể còn cung cấp cho người dùng một vài tính năng bổ sung.

Trang 7

Phần 3: THỜI GIAN VÔ HƯỚNG

3.1 Định nghĩa

Biểu diễn thời gian vô hướng được đề xuất bởi Lamport năm 1978, là một nỗ lực để sắp thứ tự các sự kiện trong hệ phân tán Miền thời gian trong biểu diễn này là tập các số

Các quy tắc R1 và R2 cập nhật đồng hồ như sau:

sau:

Ci :=Ci+d (d>0)

Nói chung, mỗi lần R1 được thực thi, d có thể có 1 giá trị khác nhau, và giá trị này có thể phụ thuộc ứng dụng Tuy nhiên, d thường bằng 1 vì điều này có thể xác định được thời gian mỗi sự kiện ở duy nhất1 tiến trình, trong khi giữ tốc độ tăng của d ở mức thấp

nhất

• R2 mỗi thông điệp mang theo giá trị đồng hồ của bên gửi nó ở thời điểm gửi Khi

động sau đây:

1.Ci:=max ( Ci, Cmsg);

2 thực hiện R1;

3 chuyển thông điệp

Hình 3.1 cho thấy sự phát triển của thời gian vô hướng với d= 1

3.2 Các tính chất cơ bản

Tính nhất quán

Trang 8

Rõ ràng, các đồng hồ vô hướng thỏa mãn tính chất đơn điệu và do đó thỏa mãn tính nhất quán:

với hai sự kiện ei và ej , ei →ejC(ei) < C(ej).

Sắp thứ tự toàn phần

Các đồng hồ vô hướng có thể được dùng để sắp thứ tự toàn bộ các sự kiện trong hệ phân tán Vấn đề chính trong các sự kiện được sắp thứ tự toàn phần đó là có nhiều hơn hoặc hai sự kiện ở các tiến trình khác nhau cùng có 1 nhãn thời gian giống hệt nhau (Chú

Do đó, một cơ chế phá vỡ ràng buộc là cần thiết để sắp xếp các sự kiện như vậy Thông thường, một ràng buộc được phá vỡ như sau: bộ nhận dạng tiến trình được sắp thứ

tự tuyến tính và một ràng buộc giữa các sự kiện với nhãn thời gian vô hướng xác định được phá vỡ trên cơ sở nhận dạng tiến trình Nhận dạng tiến trình thấp hơn trong bảng xếp hạng, sẽ có độ ưu tiên cao hơn

Nhãn thời gian của một sự kiện được ký hiệu bởi bộ (t, i), trong đó t là thời gian xuất hiện và i là đặc tính của tiến trình nơi nó xảy ra Quan hệ thứ tự toàn phần < trên hai sự kiện x và y với nhãn thời gian (h,i) và (h,j) tương ứng, được định nghĩa như sau:

x ≺y (h<k or ( h=k and i < j))

Bởi vì các sự kiện xảy ra ở cùng một thời gian vô hướng logic là độc lập (nghĩa là chúng không có quan hệ nhân quả) chúng có thể được sắp xếp sử dụng bất cứ tiêu chuẩn tùy ý nào mà không vi phạm quan hệ nhân quả → Do vậy, một thứ tự toàn phần là nhất

quán với quan hệ nhân quả “→” Chú ý rằng x≺y⇒x→y∨x || y.Một thứ tự toàn phần nói

chung thường được đảm bảo tính chất tồn tại trong các thuật toán phân tán Các yêu cầu được gán nhãn thời gian và được phục vụ theo thứ tự toàn phần dựa trên những nhãn thời gian này

Đếm sự kiện

Nếu giá trị tăng d luôn luôn bằng 1, thời gian vô hướng có tính chất thú vị sau đây: nếu sự kiện e có một nhãn thời gian h thì h-1 biểu diễn thời gian logic tối thiểu, được tính toán bằng số đơn vị sự kiện, được yêu cầu trước khi sản sinh sự kiện e Nói cách khác, h-

1 sự kiện đã được sản xuất tuần tự trước sự kiện e không liên quan tới các tiến trình sản

xuất các sự kiện này Ví dụ, trong hình 3.1, 5 sự kiện trước b, là đường dẫn nhân quả dài nhất kết thúc tại b.

Không nhất quán mạnh

Hệ thống đồng hồ vô hướng là không đồng nhất mạnh, đó là

Trang 9

với hai tiến trình ei và ej,C(ei)<C(ej) !⇒ei →ej

Ví dụ, trong hình 3.1, sự kiện thứ 3của tiến trình P1 có nhãn thời gian nhỏ hơn sự kiện thứ 3 của tiến trình P2.Tuy nhiên, sự kiện đầu đã không xảy ra trước sự kiện sau Lý

do mà các đồng hồ vô hướng là không nhất quán mạnh đó là đồng hồ logic địa phương và đồng hồ logic toàn cục của một tiến trình được ghép thành một, kết quả là thông tin quan

hệ nhân quả bị mất giữa các sự kiện của các tiến trình khác nhau Ví dụ: trong hình 3.1, khi tiến trình P2 nhận thông điệp đầu tiên từ tiến trình P1, nó cập nhật đồng hồ tới 3, quên mất rằng nhãn thời gian của sự kiện sớm nhất trong P1 mà nó phụ thuộc là 2

Trang 10

Phần 4: VECTOR THỜI GIAN

4.1 Một số định nghĩa về vector thời gian

Hệ thống đồng hồ vector được Fidge, Mattern và Schmuck đề xuất

• Trong hệ thống đồng hồ vector, miền thời gian tượng trưng bởi 1 tập hợp các vector nguyên, không âm, n chiều

trình p j

triển tới x

sử dụng để đánh nhãn thời gian các sự kiện

• Nhãn thời gian của một sự kiện là giá trị của đồng hồ vector tiến trình của nó khi

sự kiện được thực thi

• R2: Mỗi thông điệp m mang theo đồng hồ vector vt của tiến trình gửi tại thời gian

– Cập nhật thời gian logic toàn cục của nó như sau:

– Thực thi R1

– Truyền thông điệp m.

4.2 Ví dụ về tiến độ của các đồng hồ vector

Quy tắc được áp dụng như sau:

1 Mọi vector khởi tạo có giá trị 0 tại mỗi tiến trình:

2 Những số gia tiến trình nguyên tố của các vector trong vector địa phương xảy ra trước khi sự kiện gán nhãn thời gian:

vti [i] = vt i [i] + 1

3 Thông điệp được gửi từ tiến trình pi gắn liền với vti tương ứng

Trang 11

4 Khi p j nhận được thông điệp, so sánh vector thành phần theo từng nguyên tố và thiết lập vector địa phương:

vtj [i] = max (vt i [i], vt j [i]) với i = 1, , n

Xét ví dụ về tiến độ của các đồng hồ vector với giá trị tăng lên d=1

Hình 2.1: Sự phát triển của vector thời gian

4.3 Quan hệ nhân quả giữa hai sự kiện

So sánh nhãn thời gian vector

Để so sánh 2 nhãn thời gian vector vh và vk ta có các mối quan hệ sau:

Trang 12

4.4 Các tính chất của vector thời gian

4.4.1 Tính đẳng cấu

Nếu các sự kiện trong một hệ thống phân tán được đánh nhãn thời gian sử dụng một

hệ thống đồng hồ vector, chúng ta có tính chất sau:

• Nếu 2 sự kiện x và y có nhãn thời gian vh và vk tương ứng, thì

Do đó, có một đẳng cấu giữa tập các sự kiện có thứ tự từng phần được tạo ra bởi một phép tính toán phân tán và nhãn thời gian vector của chúng

• Nếu tiến trình mà ở đó một sự kiện xảy ra, các thử nghiệm để so sánh hai nhãn thời gian có thể được đơn giản hóa như sau: nếu sự kiện x và y xảy ra tương ứng

4.4.2 Tính nhất quán mạnh

• Hệ thống các đồng hồ vector có tính nhất quán mạnh; do đó bằng cách kiểm tra nhãn thời gian vector của 2 sự kiện, ta có thể xác định các sự kiện có quan hệ nhân quả hay không

• Tuy nhiên, Charron-Bost đã chỉ ra rằng số chiều của đồng hồ vector không thể nhỏ

hơn n ( tổng số tiến trình trong tính toán phân tán)

4.4.3 Đếm sự kiện

Vì vậy, nếu một sự kiện e có nhãn thời gian vh, vh[j] biểu thị số sự kiện được thực thi

kiện có quan hệ nhận quả trước e trong tính toán phân tán.

Trang 13

Phần 5: THỰC HIỆN HIỆU QUẢ CỦA ĐÔNG HỒ VECTOR

Nếu số lượng các tiến trình trong một tính toán phân tán là lớn, thì đồng hồ vector sẽ yêu cầu kèm thêm một lượng lớn thông tin trong các thông điệp nhằm phục vụ mục đích của quá trình khuyếch tán thời gian và cập nhật đồng hồ Chi phí thông điệp tăng tuyến tính với số lượng tiến trình trong hệ thống và khi có đến hàng nghìn tiến trình trong hệ thống, kích cỡ thông điệp trở lên rất lớn ngay cả khi chỉ có một vài sự kiện diễn ra trong vài tiến trình Phần này thảo luận đến các cách hiệu quả để duy trì đồng hồ vector, các phương pháp cơ bản tương tự có thể dùng để thực hiện hiêu quả đồng hồ ma trận

Charron-Bost đã chỉ ra [2] rằng nếu đồng hồ vector phải đáp ứng tính chất nhất quán mạnh, thì nhìn chung nhãn vector thời gian phải có cỡ ít nhất phải là n, tất cả các tiến trình Do vậy, nhìn chung kích thước của một nhãn vector thời gian là số lượng tiến trình liên quan trong tính toán phân tán; tuy nhiên, một vài sự tối ưu hóa có thể xảy ra và tiếp theo chúng tôi sẽ thảo luận về các kĩ thuật thực hiện đồng hồ vector một cách hiệu quả

5.1 Phương pháp vi phân của Singhal-Kshemkalyani

Phương pháp vi phân của Singhal-Kshemkalyani [25] dựa trên việc quan sát giữa thông điệp gửi thành công đến các tiến trình tương tự, chỉ một vài thành phần của đồng

hồ vector có thể bị thay đổi trong quá trình gửi thông điệp Điều này dễ xảy ra hớn khi số lượng tiến trình lớn do chỉ một vài tiến trình sẽ tương tác với thường xuyên bằng cách

{(i1,v1), (i2,v2),…(in1,vn1)}

đồng hồ vector của nó như sau:

vti[ik] = max(vti[ik],vk) với k=1,2,…n1.Như vậy, phương pháp này cắt giảm kích thước thông điệp, băng thông truyền và yêu câu vùng đệm (để lưu giữ thông điệp) Trong trường hợp xấu nhất, mọi thành phần của

Tuy nhiên, thường thì kích thước của nhãn thời gian trên một thông điệp sẽ ít hơn n Lưu

ý rằng kỹ thuật này yêu cầu mỗi tiến trình ghi nhớ nhãn vector thời gian trong thông điệp

Ngày đăng: 24/11/2014, 08:19

Xem thêm

HÌNH ẢNH LIÊN QUAN

Hình 3.1 cho thấy sự phát triển của thời gian vô hướng với d= 1. - thời gian logic
Hình 3.1 cho thấy sự phát triển của thời gian vô hướng với d= 1 (Trang 7)
Hình 2.1: Sự phát triển của vector thời gian - thời gian logic
Hình 2.1 Sự phát triển của vector thời gian (Trang 11)
Hình 3.5 minh họa kỹ thuật Fowler – Zwaenepoel. Ví dụ, khi tiến trình p 4  gửi một  thông điệp tới tiến trình p 3 , nó piggybacks một đại lượng vô hướng chỉ ra sự phụ thuộc  trực tiếp của  p 3  vào p 4  bởi thông điệp này - thời gian logic
Hình 3.5 minh họa kỹ thuật Fowler – Zwaenepoel. Ví dụ, khi tiến trình p 4 gửi một thông điệp tới tiến trình p 3 , nó piggybacks một đại lượng vô hướng chỉ ra sự phụ thuộc trực tiếp của p 3 vào p 4 bởi thông điệp này (Trang 16)
Sơ đồ 3.7 cho một ví dụ minh họa các ma trận đồng hồ diễn biến trong tính  toán phân tán - thời gian logic
Sơ đồ 3.7 cho một ví dụ minh họa các ma trận đồng hồ diễn biến trong tính toán phân tán (Trang 24)

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