1. Trang chủ
  2. » Tất cả

Chuong 3 Bau thu linh tren vong 2

24 5 0

Đ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 24
Dung lượng 485,5 KB

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

Nội dung

BTL đồng bộ không đồng dạng• Giải thuật – Hoạt động theo đợt, mỗi đợt gồm n vòng... BTL đồng bộ đồng dạng 1• Mô hình – Các bộ xử lý không buộc phải bắt đầu giải thuật cùng nhau – Một bộ

Trang 1

Chương 3

BẦU THỦ LĨNH TRÊN VÒNG

( 2 (

Trang 3

BTL đồng bộ không đồng dạng

• Giải thuật

– Hoạt động theo đợt, mỗi đợt gồm n vòng.

– Các bộ xử lý cùng bắt đầu giải thuật tại một vòng

– Ở đợt thứ i, bộ xử lý có id là i, nếu tồn tại, gửi một thông báo đi

khắp vòng và trở thành thủ lĩnh

• Các bộ xử lý không có id là i nếu nhận được thông báo thì chuyển

tiếp sang bên cạnh

• Bộ xử lý có id nhỏ nhất sẽ trở thành thủ lĩnh

• Ví dụ

– n = 4 và id nhỏ nhất là 7

• Từ đợt 0 đến 6, không có thông báo nào được gửi

• Ở đầu đợt 7, bộ xử lý có id là 7 gửi thông báo đi khắp vòng

• Độ phức tạp thông báo là O(n) (tối ưu)

• Độ phức tạp thời gian là O(nx), x là id nhỏ nhất

Trang 4

BTL đồng bộ đồng dạng (1)

• Mô hình

– Các bộ xử lý không buộc phải bắt đầu giải thuật cùng nhau

– Một bộ xử lý bắt đầu thực hiện giải thuật ở một vòng bất kỳ hoặc

ở vòng đầu tiên nhận được thông báo

• Ý tưởng của giải thuật

– Thông báo gửi từ các bộ xử lý khác nhau sẽ có tốc độ truyền khác nhau

• Thông báo fast: thông báo được chuyển tiếp ngay

• Thông báo slow: thông báo bị làm trễ trước khi chuyển

– Thông báo của bộ xử lý có id càng lớn thì càng bị làm trễ

– Các bộ xử lý nhận được thông báo trước khi bắt đầu giải thuật

sẽ không tham gia bầu thủ lĩnh

• chỉ nuốt hoặc chuyển đi thông báo nhận được

Trang 5

BTL đồng bộ đồng dạng

• Giải thuật

– Đầu tiên các bộ xử lý ở trạng thái asleep

– Một số bộ xử lý ngẫu nhiên đổi trạng thái thành active

• Gửi id của nó trong một thông báo fast

– Mỗi bộ xử lý asleep khi nhận được một thông báo thì chuyển sang trạng thái relay

• Nuốt hoặc chuyển tiếp thông báo nhận được

Trang 6

BTL đồng bộ đồng dạng (3)

• Giải thuật (tiếp theo)

– Mỗi bộ xử lý active khi nhận được một thông báo

• Nếu là thông báo fast thì sẽ đổi thành thông báo slow

• Nuốt hoặc chuyển tiếp thông báo

– Bộ xử lý nhận lại được thông báo chứa id của chính nó thì sẽ trở thành thủ lĩnh

– Quy tắc nuốt thông báo

• Thông báo sẽ bị nuốt tại một bộ xử lý nếu id trong thông báo > id nhỏ nhất mà bộ xử lý nhận đuợc thông báo đã biết được

– bao gồm id của bộ xử lý nhận được nếu là đó bộ xử lý active – bỏ qua id của bộ xử lý nhận được nếu đó là bộ xử lý relay

– Quy tắc chuyển tiếp thông báo

• Nếu thông báo là fast thì chuyển tiếp ngay

• Nếu thông báo là slow thì làm trễ 2 i - 1 vòng trước khi chuyển tiếp

– i là id của bộ xử lý khởi tạo thông báo

Trang 7

Pseudocode (1)

Trang 8

Pseudocode (2)

// Với mỗi thông báo (m,h) trong đó m: id của bộ xử lý khởi tạo thông báo,

h:1 nếu là thông báo fast, 2 nếu là slow

Trang 9

Phân tích giải thuật đồng dạng (1)

– Phân các thông báo ra làm ba loại

• Loại 1: Các thông báo fast

• Loại 2: Các thông báo slow gửi đi trong khi thông báo của

thủ lĩnh vẫn còn là fast

• Loại 3: Các thông báo slow gửi đi trong khi thông báo của thủ lĩnh đã trở thành slow

Trang 10

Phân tích giải thuật đồng dạng (2)

• Số thông báo loại 1

– Không bộ xử lý nào nhận quá một thông báo fast

• Giả sử một bộ xử lý p i nhận được hai thông báo fast, một từ

p k , một từ p j , với p k cách xa p i hơn p j theo chiều kim đồng hồ

• Bộ xử lý p j phải trở thành active trước khi nhận được bất kỳ

thông báo nào

• Để đến được p i , thông báo fast của p k phải đến p j khi p j đang

ở trạng thái active

• Thông báo fast của p k sẽ chuyển thành slow trước khi đến p i

– Tổng số thông báo loại 1 ≤ n

Trang 11

• Số thông báo loại 2

– Số bước dịch của thông báo loại 2 có id là i n/2i

• Thông báo của thủ lĩnh là fast trong n vòng

• Thông báo slow có id là i cứ 2 i vòng mới dịch chuyển một lần

– Tổng số thông báo loại 2

• Nhiều thông báo nhất khi có các id từ 0 đến n - 1

• Số thông báo loại 3

– Số bước dịch của thông báo loại 3 có id là i n2x/2i

• Số vòng để thông báo slow của thủ lĩnh có id là x trở về n2 x

• Sau đó, không có thêm thông báo nào được gửi

– Tổng số thông báo loại 3

• Nhiều thông báo nhất khi có các id từ 0 đến n - 1 (x = 0)

Phân tích giải thuật đồng dạng (3)

n n

n

22

Trang 12

Phân tích giải thuật đồng dạng (4)

• Độ phức tạp thông báo là O(n)

– Tổng số thông báo ≤ 4n

• Độ phức tạp thời gian là O(n2x)

– Tổng số vòng ≤ n2x (x là id của thủ lĩnh)

Trang 13

BTL dựa trên so sánh

• Tính chất chung của hai giải thuật đồng bộ đã

học

– Sử dụng id để xác định độ trễ thông báo

• Phương cách không chuẩn

– Số vòng thực hiện thỏa đáng phụ thuộc các id

• Các id có thể rất lớn so với n

• Sẽ chứng minh các giải thuật sử dụng id để so

Trang 14

Các khái niệm trong BTL dựa trên

so sánh

• Hai vòng R1 = (x1, x2, , xn) và R2 = (y1, y2, , yn) tương đương thứ tự (order equivalent) nếu xi < xj yi < yj

• Các bộ xử lý pi trong R1 và pj trong R2 tương ánh

(matching) nếu chúng có cùng khoảng cách từ id nhỏ

nhất

Trang 15

– Hai bộ xử lý trong 2 vòng là hoạt động như nhau

(behave the same) nếu ở mỗi vòng

• Bộ xử lý này gửi một thông báo sang trái (phải) ⇔ Bộ xử lý kia gửi một thông báo sang trái (phải)

• Bộ xử lý này thành thủ lĩnh ⇔ Bộ xử lý kia thành thủ lĩnh

– Một giải thuật bầu thủ lĩnh gọi là dựa trên so sánh

(comparison- based) nếu cặp vòng R1 và R2 tương

đương thứ tự, mọi cặp bộ xử lý tương ánh pi trong R1

và pj trong R2 hoạt động như nhau trong exec(R1) và

exec(R2)

Các khái niệm trong BTL dựa trên

so sánh (2)

Trang 16

Cận dưới thông báo (1)

• Định lý

n ≥ 8 là lũy thừa của 2, ∃ một vòng kích thước n sao cho bất

kỳ giải thuật đồng bộ dựa trên so sánh nào thực hiện trên đó cũng gửi Ω(nlogn) thông báo

– Tính số lượng thông báo cần gửi dựa vào số lượng các miền lân cận trong mỗi vòng và số vòng có thông báo gửi đi cần thiết

để thực hiện giải thuật

Trang 17

Cận dưới thông báo (2)

– Một vòng kích thước n là cách thưa (spaced ring) nếu id x

thuộc vòng, các id x - 1 đến x - n không thuộc vòng

• Bổ đề 1

– Nếu vòng R cách thưa và p i và p j có các miền lân cận bán kính k tương đương thứ tự thì p i và p j hoạt động như nhau qua k vòng

tích cực

Trang 18

Chứng minh bổ đề 1

• Xây dựng R' sao cho

– Các miền lân cận bán kính k của p j trong R' và p i trong R giống

hệt nhau

– Các id trong R' đôi một khác nhau

– R' tương đương thứ tự với R

– p j trong R' tương ánh với p j trong R

Trang 19

Chứng minh bổ đề 1 (tiếp)

• p i trong exec(R) qua k vòng tích cực hoạt động giống p j trong exec(R')

– Vì có cùng miền lân cận bán kính k

• p j trong exec(R') qua k vòng tích cực hoạt động như p j trong exec(R)

– Vì tương ánh với nhau

Vấn đề là làm thế nào để xây dựng được vòng R cách thưa và có các miền lân cận bán kính k tương đương thứ tự ?

Trang 20

Xây dựng vòng đối xứng cao

• Xây dựng S n đối xứng cao qua hai bước

– S n là phiên bản cách thưa của R nrev

• Nhân mỗi id trong R nrev lên n + 1 lần rồi cộng thêm n

Trang 21

n

Trang 22

• Gọi p i là thủ lĩnh được bầu

• Trạng thái của một bộ xử lý chỉ phụ thuộc vào miền lân cận bán kinh T

• Theo bổ đề 2, có nhiều hơn miền lân cận bán kính T tương đương với miền lân cận bán kính T của p i

2 T +

n

1 ) 1 2 (

2 >

+

T n

Trang 23

Bổ đề 4 về số thông báo trong vòng

– Ở mỗi vòng tích cực có ≥ 1 bộ xử lý pi gửi 1 thông báo

• Theo bổ đề 2, có ít nhất bộ xử lý có miền lân cận bán

kính k tương đương thứ tự với miền lân cận k của p i

• Theo bổ đề 1, mỗi bộ xử lý đó gửi một thông báo ở vòng tích

cực thứ k

• Tổng số thông báo được gửi trong exec(Sn)

)12

(

2 k +

n

) 1 2 (

n

)log(

1

8

n n

n n

=

≥+

Trang 24

Bài tập số 4

1 Bài tập 3.9 (SGK) Với vòng Rnrev (trong phần chứng

minh định lý Cận dưới thông báo), hãy chứng minh

rằng khi chia Rnrev thành n/j phần đoạn trong đó j là

lũy thừa của 2 thì các phân đoạn kế tiếp độ dài j của Rnrev tương đương thứ tự với nhau

Ngày đăng: 19/04/2022, 06:54

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w