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

Viết chương trình cài đặt thuật toán sắp xếp theo kiểu đóng dấu (BÁO CÁO TIỂU LUẬN LẬP TRÌNH MẠNG NÂNG CAO)

27 1,1K 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 27
Dung lượng 619,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

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG  BÁO CÁO TIỂU LUẬN LẬP TRÌNH MẠNG NÂNG CAO Đề tài (số 03 Danh mục đề tài tiểu luận): Viết chương trình cài đặt thuật toán sắp xếp theo kiểu đóng dấu 1. Nghiên cứu bản chất của phương pháp đóng dấu vào thông điệp trước khi gửi đi cho tất cả các server qua hệ thống đường truyền 2. Xây dựng hệ thống đa server 3. Xây dựng chương trình monitoring quan sát trường dấu trong hàng đợi các thông điệp tại các server nhận HỌC VIÊN : NGUYỄN THANH BÌNH LỚP : CAO HỌC KHÓA 11 NGÀNH : KHOA HỌC MÁY TÍNH GVHD : PGS TS. LÊ VĂN SƠN Đà nẵng, 032010 LỜI MỞ ĐẦU  Trong số những phát minh vĩ đại nhất của thế kỉ trước, thì mạng máy tính (Computer Network) là một hệ thống đem lại nhiều lợi ích to lớn nhất cho nhân loại; Điển hình nhất là mạng Internet, hiện nay đang cho phép hàng tỉ máy tính trên toàn cầu kết nối và làm việc với nhau với tốc độ cao (từ vài chục đến hàng nghìn kbps). Điều kỳ diệu trên đang ngày càng phát triển mạnh mẽ, vững chắc là nhờ các nền tảng cơ sở lí thuyết cho chúng đã được nghiên cứu; Một trong những cơ sở lý thuyết nền tảng ấy, chính là những lí thuyết nghiên cứu liên quan đến hệ phân tán. Nhờ có lí thuyết hệ phân tán, mà các bộ vi xử lí đơn lẻ, mà chúng ta vẫn thường gọi là các hệ thống tập trung (Centralized Systems) đã được kết nối với nhau, làm việc trên nhiều giao thức, nhiều kiểu kết nối và trên nhiều lãnh thổ khác nhau. Hệ tin học phân tán là một hệ thống tin học hiện đại, bao gồm nhiều lĩnh vực kiến thức tiên tiến nhằm trợ giúp cho công tác nghiên cứu, phân tích và thiết kế các hệ thống tin học Một trong những tư tưởng lớn của các hệ phân tán là phân tán hóa các quá trình xử lý thông tin và thực hiện các công việc đó trên các trạm xa nhau. Đó là cơ sở để xây dựng các hệ ứng dụng lớn như thương mại điện tử, giáo dục điện tử, chính phủ điện tử... Trong giới hạn của một tiểu luận báo cáo kết thúc môn học, nội dung của bản báo cáo sẽ được trình bày theo yêu cầu Đề tài số 03 “Viết chương trình cài đặt thuật toán sắp xếp theo kiểu đóng dấu” trong danh mục “Đề tài tiểu luận và bài tập môn Lập trình mạng nâng cao” của PGS TS. Lê Văn Sơn, bao gồm: Chương 1: Hệ phân tán các vấn đề về đồng bộ hóa. Chương 2: Xây dựng hệ thống đa Server cài đặt thuật toán sắp xếp theo kiểu đóng dấu. Được sự giúp đỡ tận tình của Thầy giáo hướng dẫn và các bạn đồng nghiệp, tôi đã hoàn thành được những nhiệm vụ cơ bản đề ra. Tuy nhiên, với thời gian và kiến thức có hạn, bản báo cáo này chắn chắn còn nhiều khiếm khuyết, tôi rất mong nhận được góp ý chân thành của Thầy giáo và các bạn đồng nghiệp. Nhân dịp này cho phép tôi xin được bày tỏ lòng biết ơn chân thành đối với PGS TS LÊ VĂN SƠN và các đồng môn, bằng hữu đã giúp đỡ tôi hoàn thành nội dung bản báo cáo này.. Học viên thực hiện Nguyễn Thanh Bình.

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG



BÁO CÁO TIỂU LUẬN

LẬP TRÌNH MẠNG NÂNG CAO

Đề tài (số 03 - Danh mục đề tài tiểu luận) :

ViẾt chương trình cài đặt thuẬt toán sẮp xẾp theo kiỂu đóng dẤu

1 Nghiên cỨu bẢn chẤt cỦa phương pháp đóng dẤu vào thông điỆp trước khi gỬi đi cho tẤt cẢ các server qua hỆ thỐng đường truyỀn

2 Xây dỰng hỆ thỐng đa server

3 Xây dựng chương trình monitoring quan sát trường dấu trong hàng đợi các thông điệp tại các server nhận

HỌC VIÊN : NGUYỄN THANH BÌNH

Đà nẵng, 03/2010

Trang 2

LỜI MỞ ĐẦU



Trong số những phát minh vĩ đại nhất của thế kỉ trước, thì mạng máy tính (Computer Network) là một hệ thống đem lại nhiều lợi ích to lớn nhất cho nhân loại; Điển hình nhất là mạng Internet, hiện nay đang cho phép hàng tỉ máy tính trên toàn cầu kết nối và làm việc với nhau với tốc độ cao (từ vài chục đến hàng nghìn kbps)

Điều kỳ diệu trên đang ngày càng phát triển mạnh mẽ, vững chắc là nhờ các nền tảng cơ sở lí thuyết cho chúng đã được nghiên cứu; Một trong những cơ

sở lý thuyết nền tảng ấy, chính là những lí thuyết nghiên cứu liên quan đến hệ phân tán Nhờ có lí thuyết hệ phân tán, mà các bộ vi xử lí đơn lẻ, mà chúng ta vẫn thường gọi là các hệ thống tập trung (Centralized Systems) đã được kết nối với nhau, làm việc trên nhiều giao thức, nhiều kiểu kết nối và trên nhiều lãnh thổkhác nhau

Hệ tin học phân tán là một hệ thống tin học hiện đại, bao gồm nhiều lĩnh vực kiến thức tiên tiến nhằm trợ giúp cho công tác nghiên cứu, phân tích và thiết

kế các hệ thống tin học Một trong những tư tưởng lớn của các hệ phân tán là phân tán hóa các quá trình xử lý thông tin và thực hiện các công việc đó trên cáctrạm xa nhau Đó là cơ sở để xây dựng các hệ ứng dụng lớn như thương mại điện tử, giáo dục điện tử, chính phủ điện tử

Trong giới hạn của một tiểu luận báo cáo kết thúc môn học, nội dung của

bản báo cáo sẽ được trình bày theo yêu cầu Đề tài số 03 “Viết chương trình cài đặt thuật toán sắp xếp theo kiểu đóng dấu” trong danh mục “Đề tài tiểu luận

và bài tập môn Lập trình mạng nâng cao” của PGS TS Lê Văn Sơn, bao gồm:

Chương 1: Hệ phân tán & các vấn đề về đồng bộ hóa.

Chương 2: Xây dựng hệ thống đa Server & cài đặt thuật toán sắp xếp

theo kiểu đóng dấu.

Được sự giúp đỡ tận tình của Thầy giáo hướng dẫn và các bạn đồng

nghiệp, tôi đã hoàn thành được những nhiệm vụ cơ bản đề ra Tuy nhiên, với thời gian và kiến thức có hạn, bản báo cáo này chắn chắn còn nhiều khiếm khuyết, tôi rất mong nhận được góp ý chân thành của Thầy giáo và các bạn đồngnghiệp Nhân dịp này cho phép tôi xin được bày tỏ lòng biết ơn chân thành đối với PGS TS LÊ VĂN SƠN và các đồng môn, bằng hữu đã giúp đỡ tôi hoàn thành nội dung bản báo cáo này./ Học viên thực hiện

Nguyễn Thanh Bình.

Trang 3

CHƯƠNG 1

HỆ PHÂN TÁN & CÁC VẤN ĐỀ VỀ ĐỒNG BỘ HÓA

1.1 TỔNG QUAN VỀ HỆ TIN HỌC PHÂN TÁN

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 đượ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

Đặc điểm cần nhấn mạnh của hệ phân tán là các hệ xử lý thông tin thành phần:

- Không dùng chung hoặc chia sẻ bộ nhớ;

- Không sử dụng chung đồng hồ xung nhịp;

- Chúng liên lạc với nhau thông qua mạng truyền thông

- Mỗi hệ xử lý có bộ xử lý, bộ nhớ và hệ điều hành riêng của nó

Thành phần của hệ phân tán bao gồm các hệ thống cục bộ trong đó mỗi một hay nhiều hệ thống phát các yêu cầu thông tin còn các hệ khác trả lời các yêu cầu có liên quan đến phần dữ liệu của mình Nói một cách tổng quát là trong

hệ luôn luôn diễn ra việc thực hiện các công việc do các hệ thống yêu cầu Các

hệ thống truyền thống như hệ rời rạc hay tập trung không thể đáp ứng nhanh chóng và chính xác các yêu cầu thông tin từ xa với lưu lượng thông tin lớn

Các thao tác chuẩn của hệ phân tán :

1: Tiếp nhận và ghi yêu cầu chỉ dẫn

2: Dịch yêu cầu để có các thông tin cần thiết Thực hiện một số côngviệc của hệ thống cục bộ như kiểm tra quyền truy cập thông tin, lập hóađơn dịch vụ

3: Gửi kết quả cho hệ thống đã phát yêu cầu

Hệ tin học phân tán thực hiện hàng loạt các chức năng phức tạp nhưng chức năng cơ bản nhất là đảm bảo cung cấp cho người sử dụng khả năng truy cập có kết quả đến các tài nguyên vốn có và rất đa dạng của hệ thống như tài nguyên dùng chung

Việc định nghĩa các tài nguyên của hệ như tài nguyên dùng chung sẽ mang đến cho hệ những hiệu năng tốt trong khai thác ứng dụng

Trang 4

Các ưu điểm của tài nguyên dùng chung trong hệ phân tán :

1: Tăng tốc độ bình quân trong tính toán xử lý

2: Cải thiện tình trạng luôn sẵn sàng của các loại tài nguyên

3: Tăng độ an toàn cho dữ liệu

4: Đa dạng hóa các loại hình dịch vụ tin học

5: Bảo đảm tính toàn vẹn của thông tin

Tuy nhiên nó cũng dẫn đến hàng loạt các vấn đề khó khăn trong việc thiết lập hệ liên quan việc cấp phát tài nguyên dùng chung cho các tiến trình

Điều quan trọng là để đảm bảo các chức năng, yêu cầu nêu ra trên, hệ tin học phân tán cần phải có cá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

1.2 VẤN ĐỀ ĐỒNG BỘ HÓA

1.2.1 Đặt vấn đề:

Mọi hệ thống tin học, đều cần cung cấp cơ chế đủ mạnh và hiệu quả để

có thể đồng bộ hóa các tiến trình, điều này thể hiện ở hai nguyên do cơ bản sau:

1: Nhìn chung, các tiến trình kể cả các tiến trình xuất phát từ các ứngdụng độc lập muốn truy cập vào các tài nguyên với số lượng vốn rất hạnchế hay truy cập vào thông tin dùng chung cùng một lúc Trường hợp này

gọi là truy cập tương tranh Tương tranh là nguyên nhân chính của các

xung đột của giữa các tiến trình muốn truy cập vào tài nguyên dùng chung

2: Các tiến trình của cùng một hệ ứng dụng hoạt động theo kiểu hợp lực

để giải quyết các bài toán đặt ra và cho kết quả nhanh chóng nhất Điều nàycho phép tăng hiệu năng sử dụng thiết bị và hiệu quả hoạt động của chương

trình Hợp lực là nguyên nhân chính của sự tác động tương hỗ được lập

trình giữa các tiến trình nhằm cho phép chúng tham gia vào các hành độngchung

Sự tương tranh và hợp lực giữa các tiến trình đòi hỏi phải có trao đổi

thông điệp qua lại với nhau Trong các hệ thống tập trung, điều đó được thực hiện nhờ thuật toán loại bỏ tương hỗ thông qua các biến cùng tác động trong mộtvùng nhớ chung Trong hệ tin học phân tán, các thông tin cần trao đổi thông qua các kênh thuộc hệ thống viễn thông

Trang 5

1.2.2 Bài toán bãi đỗ xe ô tô:

Để rút ra các vấn đề đang đặt ra trong hệ phân tán về việc đồng bộ hóa các tiến trình Ta hãy nghiên cứu một ví dụ kinh điển, đó là bài toán bãi đỗ xe ô

tô, với nội dung được nêu ra như sau :

Hình 1.1 mô phỏng bãi đỗ xe ô tô hiện đại Trong đó:

- BV: người bảo vệ có nhiệm vụ phân phối chỗ cho các xe ô tô.

- VT: vị trí cho từng xe ôtô cụ thể

- Các mũi tên hai chiều được sử dụng để mô tả dòng vào ra của ô tô

BV

BV BV

trong bãi đang có chỗ trống Như vậy, người bảo vệ không nắm được trạng thái

hiện hành của bãi.

b Tình huống thứ 2:

Nếu ta có bãi đỗ xe với nhiều cổng và tại mỗi cổng có một BV thì mỗi BVchỉ có thể biết trạng thái với độ trễ nhất định và điều đó dẫn đến tình huống thứ

Trang 6

2 Đó là tình huống có nhiều trung tâm ra quyết định (hợp lực) như trường hợp

minh họa của hình trên

Trên thực tế, một người bảo vệ nào đó tin rằng không còn chỗ trống nữa, trong khi một người bảo vệ khác lại vừa mới cho ra khỏi bãi một số xe mà anh tachưa kịp báo cho các người bảo vệ khác Cũng có thể diễn ra trường hợp là cùng

một lúc các NBV giải quyết các xe vào cùng một vị trí trong bãi (tương tranh)

do vì họ thiếu thông tin

Tình huống thứ 2, đặt ra ở đây liên quan trực tiếp đến vấn đề cung cấp tài nguyên của hệ, chức năng cung cấp được phân tán trên nhiều trạm của hệ Trong

đó một người bảo vệ có vai trò như là chương trình cung cấp của bãi đỗ xe; Ở

đây, chỗ để xe được xem là tài nguyên của hệ, các ô tô vào bãi là các tiến trình của hệ

Như vậy, các BV phải hợp lực với nhau để phân phối chính xác các chỗ

trống trong bãi, đặc biệt là số lượng chỗ còn trống càng ít (tài nguyên hạn chế)

thì vai trò của hợp lực càng quan trọng

Sự hoạt độ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 hoạt động cung cấp được hoàn toàn chính xác

1.2.2.2 Ví dụ về không gắn bó:

Để thấy được tầm quan trọng mang tính quyết định của trình tự xử lý

thông điệp đối với yêu cầu gắn bó của hệ, ta hãy tiếp tục xem xét một trường

hợp về không gắn bó của bài toán bãi đỗ xe:

Giả sử rằng ở thời điểm cho trước ta có 4 người bảo vệ và có 100 chỗ còn trống Tất cả các BV để có thông tin đó, trạng thái của hệ lúc này là gắn bó Ba trong số họ phát đi thông tin cho ở Bảng 1.1 và trình tự phát các thông điệp của

họ được biểu diễn như Hình 1.2:

Bảng 1.1 Thứ tự & nội dung phát thông tin

Hình 1.2 Sơ đồ trình tự phát, nhận thông tin giữa các cổng

Trang 7

Bảng 1.2 Kết quả của sự không gắn bó giữa 4 người bảo vệ

Bảng 1.2 cho thấy, nếu ta không có ràng buộc nào đối với trình tự xử lý các thông điệp nhận được của các người bảo vệ thì các BV sẽ có thông tin về số

lượng chỗ trống khác nhau Để bảo đảm các bản cập nhật giống nhau thì trình

tự cập nhật nhất thiết phải giống nhau trên tất cả các trạm.

1.2.2.3 Quy tắc cho các thuật toán cung cấp trong hệ phân tán

Một sự hoạt động gắn bó của các chương trình cung cấp phân tán quản lý trên cùng một tập hợp các tài nguyên chỉ đạt được nếu tuân thủ các qui tắc sau:

1 Các bộ cung cấp bắt buộc phải thực hiện cùng một 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ý cùng một trật tự như nhau trong các

chương trình cung cấp

Bảng 1.3 Các quy tắc đảm bảo sự gắn bó trong hệ phân tán

Qui tắc cuối, 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ệ Trật tự này có thể được thực hiện thông qua việc hợp lực của các tiến trình cung cấp Ở phần sau chúng ta nghiên cứu một

số phương pháp sắp xếp nhằm xác lập một trật tự đảm bảo cho yêu cầu đồng bộ hóa

1.2.3 Vấn đề đồng bộ giữa các tiến trình :

Trong các hệ tin học tập trung, vấn đề đồng bộ hóa được giải quyết thông

qua cơ chế loại trừ tương hỗ Cơ chế này cho phép xác lập trật tự hoàn toàn các

sự kiện

Trong hệ phân tán, việc đồng bộ hóa chủ yếu yêu cầu thiết lập một trật tự

giữa các sự kiện Giữa các trạm khác nhau, trật tự đó có thể thể hiện thông qua việc trao đổi các thông điệp với nhau

Một tiến trình nào đó cần sử dụng tài nguyên để phát triển công việc của mình, phải yêu cầu bộ cung cấp một cách hợp thức bằng cách gửi thông điệp

Trang 8

yêu cầu Như thế, một tiến trình có nhu cầu tài nguyên sẽ bị treo chừng nào tài nguyên đó còn chưa được giải phóng hay chưa được cung cấp cho nó.

1.2.3.1 Miền găng

Miền găng: đoạn chương trình mà truy cập vào tài nguyên dùng chung Vấn đề miền găng: các sự truy cập chồng lên nhau có thể dẫn đến các kết quả khác với truy cập tuần tự Do đó làm thế nào bảo đảm rằng các tiến trình thi hành miền găng một cách tuần tự chứ không phải là đồng thời; hay nói cách

khác là làm thế nào tuân theo giải thuật loại trừ tương hỗ

1.2.3.2 Phân nhóm các thuật toán truy cập loại trừ tương hỗ

Truy cập vào miền găng dựa trên sự xác nhận (contention based): Mỗi tiến trình xác nhận yêu cầu của nó để truy cập vào miền găng Hay nói cách khác, các tiến trình cạnh tranh hay tranh giành nhau quyền truy cập vào miền găng

Truy cập vào miền găng dựa trên dấu hiệu (Token based): Việc truy cập vào miền găng được điều khiển bởi một token Người giữ token có quyền thi hành đoạn găng của nó

Một số thông số:

- Số thông điệp/yêu cầu miền găng

- sd (trễ đồng bộ): thời gian giữa thời điểm kết thúc một miền găng và bắtđầu miền găng tiếp theo

- Thời gian đáp ứng, được đo từ khi thông điệp yêu cầu miền găng đượcgửi đi cho đến khi miền găng được thi hành

- Thông lượng hệ thống: tỷ lệ mà hệ thống thi hành các miền găng

Trang 9

- Thông lượng = 1/(sd + thời gian thi hành trung bình E của một miềngăng)

Hoạt động với tải:

- Với tải thấp, một số miền găng được thi hành Khi một tiến trình muốn

đi vào miền găng, nó thường sẽ được cấp quyền ngay lập tức sau khi thihành thuật toán loại trừ tương hỗ Đối với trường hợp hợp tải cao hoặcnặng, luôn luôn có các yêu cầu miền găng phải chờ đợi Ngay khi một trạmkết thúc miền găng của mình, nó sẽ có thể cố gắng khởi tạo miền găngkhác

Nếu gọi E là thời gian trung bình thi hành một miền găng, và T là độ trễthông điệp trung bình, thì trong hầu hết các thuật toán, thời gian cho trườnghợp tốt nhất có cận trên là (2T + E) Điều này cho phép trao đổi thông điệpvòng tròn cộng với sự thi hành miền găng Thời gian cho trường hợp xấunhất là rất nhiều

1.2.3.3 Sắp xếp kiểu đóng dấu

a Khái niệm đồng hồ Logic:

Đối với nhiều ứng dụng, các sự kiện không cần lập lịch hay đồng bộ đối với thời gian thực Nó chỉ là thứ tự sự kiện hoạt động liên quan Trong trường hợp như vậy, đồng hồ logic có thể được dùng để biểu thị thứ tự thông tin cho các sự kiện, đặc biệt trong hệ phân tán, nó khó giữ được đồng hồ vật lý chung giữa tất cả các tiến trình đang sắp xếp Đồng hồ logic Lamport là khái niệm cơ bản để sắp xếp các tiến trình và các sự kiện trong hệ phân tán

b Trật tự từng phần:

Trong thực tế một số hệ thống khi đồng bộ hóa chỉ đòi hỏi trật tự từng phần Chính vì vậy, trật tự hóa từng phần giữa các sự kiện mà tiến trình của nó cần phải đồng bộ là vấn đề cần phải quan tâm

Giả sử rằng ta có thể xác định một trật tự giữa các sự kiện của hệ phân tánnhờ vào quan hệ “có trước” () hay “ở ngay trước”:

Trật tự các sự kiện được xác định dựa trên các nguyên tắc sau:

i Nếu a và b là hai sự kiện của cùng một trạm P và a xảy ra trước b thì ta

có ab (trật tự cục bộ)

Hình 1.3 ( a b) : trật tự cục bộ

Trang 10

ii Nếu a là phát thông điệp từ một trạm P đến trạm Q nào đó và b là nhận thông điệp thì ta có ab (nhân-quả)

iii Nếu ab và bc, thì ac (bắc cầu)

Hình 1.6 Sơ đồ của quan hệ “có trước”:

a  b có nghĩa: chúng ta có thể đi từ a đến b theo sơ đồ bằng cách di

chuyển về phía trước theo thời gian dọc theo các đường tiến trình và thông điệp,

a

Hình 1.4 ( a b) : trật tự Nhân - Quả

P Q

a

Hình 1.5 ( a c) : trật tự bắc cầu

Trang 11

Hai sự kiện là hợp lực nếu chúng có tác động nhân quả với nhau, ví dụ p3

và q3 là hợp lực.

Cho dù q3 xảy ra tại thời điểm vật lý sớm hơn p3, tiến trình P không biết tiến trình Q đã làm gì tại thời điểm q3 cho đến khi nó nhận được thông điệp tại thời điểm p4.

c Gắn thời gian Logic với các sự kiện:

Các đồng hồ lôgic: gán một số cho mỗi sự kiện cục bộ

Hệ thống các đồng hồ lôgic phải chính xác:

Để thực thi các đồng hồ thỏa mãn Điều kiện Đồng hồ, ta có thể áp dụng thuật toán đóng dấu thời gian

1.2.3.4 Đồng hồ theo trật tự tổng quát chặt chẽ (Lamport)

Trật tự từng phần chỉ có thể áp dụng cho một số hệ thống, điều này có nghĩa là một số hệ thống có thể gắn bó được thông qua việc sắp xếp các sự kiện

theo trật tự bằng quan hệ “có trước” Tuy nhiên có rất nhiều hệ phân tán các sự kiện không thể sắp được bằng trật tự từng phần, do vậy phải cần đến trật tự

chặt chẽ (=>) của các sự kiện

a Cấu trúc trật tự tổng quát chặt chẽ (Lamport)

Lamport định nghĩa trật tự chặt chẽ dựa trên quan hệ “có trước”, nó gán

cho mỗi trạm một số duy nhất và sau đó sử dụng số này để lập trật tự cho các sự

kiện không sắp xếp được thứ tự bằng quan hệ “có trước”

Trật tự nhất quán của các sự kiện phát:

Hình 1.7 minh họa cho dạng thông điệp với trật tự chặt chẽ như sau:

 sự kiện a,b: nếu a  b thì C(a) < C(b)

Điều kiện đồng hồ

Trang 12

Hình 1.7 Minh họa cho dạng thông điệp theo trật tự chặt chẽ

b Giải thuật đóng dấu thời gian của Lamport

Đồng hồ lôgic cho phép đóng dấu thời gian, nhằm xác lập trật tự cho từng

sự kiện trong hệ phân tán để với mỗi cặp sự kiện A và B ta có: nếu A có trước B(A  B) thì đồng hồ lôgic của A nhỏ hơn đồng hồ lôgic của B

Nguyên tắc thiết lập: Mỗi trạm S đều có trang bị công tơ với các giá trị nguyên Cs đó chính là đồng hồ logic, hoạt động theo các qui tắc sau:

- Gia tăng C i thêm một trị số giữa hai sự kiện kế tiếp

- Trạm e phát thông điệp m, ghi dấu dấu thời gian cho các thông điệp m

3 2

Trang 13

- Trật tự sự kiện toàn bộ: Một sự kiện a sinh ra trên trạm i được đánh dấubởi đồng hồ cục bộ Ci, nếu a và b là hai sự kiện trên hai trạm i và j ta cóquan hệ sau:

1.2.3.5 Các giải thuật loại trừ tương hỗ trên cơ sở đóng dấu

a Thuật toán Lamport

Thuật toán này được Lamport (1978) đưa ra, nó sử dụng cơ chế đóng dấu thời gian cho việc đồng bộ các đồng hồ lôgic

Các giả định:

Chúng ra giả định mô hình mạng kết nối hoàn toàn trong đó các tiếntrình liên lạc thông qua các kênh FIFO tin cậy Tức là, các thông điệpkhông thể sắp xếp lại theo trật tự khác

Các giả định được thực thi một cách dễ dàng ở tầng giao vận

Các kiểu thông điệp:

(REQ, C i , i): Một yêu cầu cho việc truy cập vào miền găng CS của tiến

trình Pi Yêu cầu này được phát đi cho tất các các tiến trình khác.

(REP, C i , i): Hồi âm từ tiến trình Pi cho tiến trình Pj khi Pi nhận được

yêu cầu từ Pj.

(REL, C i , i): Thông điệp giải phóng từ Pi thông báo cho biết nó đã rời

khỏi CS Thông điệp này được gửi cho tất cả các tiến trình khác.

Các biến tiến trình:

C i : Đồng hồ cục bộ của Pi, khởi tạo từ 0.

q i : Hàng đợi [0 … n-1] chứa các thông điệp

Thuật toán:

Khi một tiến trình tại trạm Si muốn thi hành đoạn găng, nó sẽ gửi thôngđiệp REQ có đánh dấu thời gian cho tất cả các trạm trong hệ thống kể cótrạm Si

Mỗi trạm, Si, duy trì một hàng đợi chứa các thông điệp yêu cầu được sắpxếp theo trật tự các dấu thời gian; các đồng hồ logic và quan hệ trật tự toàn

bộ được sử dụng để gắn các dấu thời gian

a b nếu

C i (a) < C j (b)

hoặc

C i (a) = C j (b) và i < j

Ngày đăng: 12/11/2014, 08:52

HÌNH ẢNH LIÊN QUAN

Hình 1.1 mô phỏng bãi đỗ xe ô tô hiện đại. Trong đó: - Viết chương trình cài đặt thuật toán sắp xếp theo kiểu đóng dấu (BÁO CÁO TIỂU LUẬN  LẬP TRÌNH MẠNG NÂNG CAO)
Hình 1.1 mô phỏng bãi đỗ xe ô tô hiện đại. Trong đó: (Trang 5)
Bảng 1.1 Thứ tự &amp; nội dung phát thông tin - Viết chương trình cài đặt thuật toán sắp xếp theo kiểu đóng dấu (BÁO CÁO TIỂU LUẬN  LẬP TRÌNH MẠNG NÂNG CAO)
Bảng 1.1 Thứ tự &amp; nội dung phát thông tin (Trang 6)
Bảng 1.2.  Kết quả của sự không gắn bó giữa 4 người bảo vệ - Viết chương trình cài đặt thuật toán sắp xếp theo kiểu đóng dấu (BÁO CÁO TIỂU LUẬN  LẬP TRÌNH MẠNG NÂNG CAO)
Bảng 1.2. Kết quả của sự không gắn bó giữa 4 người bảo vệ (Trang 7)
Hình 1.6 Sơ đồ của quan hệ  “có trước”: - Viết chương trình cài đặt thuật toán sắp xếp theo kiểu đóng dấu (BÁO CÁO TIỂU LUẬN  LẬP TRÌNH MẠNG NÂNG CAO)
Hình 1.6 Sơ đồ của quan hệ “có trước”: (Trang 10)
Hình 1.7 Minh họa cho dạng thông điệp theo trật tự chặt chẽ - Viết chương trình cài đặt thuật toán sắp xếp theo kiểu đóng dấu (BÁO CÁO TIỂU LUẬN  LẬP TRÌNH MẠNG NÂNG CAO)
Hình 1.7 Minh họa cho dạng thông điệp theo trật tự chặt chẽ (Trang 12)

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