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

thời gian logic vector và vấn đề đồng bộ hóa các tiến trình trong bài toán đỗ xe nhiều công

5 731 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thời gian logic vector và vấn đề đồng bộ hóa các tiến trình trong bài toán bãi đỗ xe nhiều cổng
Tác giả Ngũ Phúc Huy
Người hướng dẫn PGS.TSKH. Trần Quốc Chiến
Trường học Đại học Sư phạm
Chuyên ngành Tin học
Thể loại Báo cáo
Năm xuất bản 2008
Thành phố Đà Nẵng
Định dạng
Số trang 5
Dung lượng 337,89 KB

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

Nội dung

luận văn về thời gian logic vector và vấn đề đồng bộ hóa các tiến trình trong bài toán đỗ xe nhiều công

Trang 1

THỜI GIAN LOGIC VECTOR VÀ VẤN ĐỀ ĐỒNG BỘ

HÓA CÁC TIẾN TRÌNH TRONG BÀI TOÁN BÃI ĐỖ XE NHIỀU CỔNG

LOGIC VECTOR TIME AND SYNCHRONIZATION OF PROCESSES IN PARK WITH DISTRIBUTED STATIONS

SVTH: NGŨ PHÚC HUY

Lớp 04CCT01, Trường Đại Học Sư Phạm

GVHD: PGS.TSKH TRẦN QUỐC CHIẾN

Khoa Tin học, Trường Đại Học Sư Phạm

TÓM TẮT

Ngày nay, một trong những hướng nghiên cứu quan trọng trong hệ thống phân tán đó là vấn

đề đồng bộ hóa các tiến trình sử dụng tài nguyên dùng chung Để đạt được điều đó thì chúng

ta phải đảm bảo được trật tự như nhau các thông điệp yêu cầu tài nguyên ở tất cả các trạm/máy chủ có trong hệ Đề tài tập trung nghiên cứu vấn đề đồng bộ hóa các tiến trình của bài toán bãi đỗ xe nhiều cổng với hệ thống thời gian vector (Vector time) của Fidge, Mattern và Schmuck Giải pháp này có thể đảm bảo được trật tự nhân quả chặt chẽ của các sự kiện diễn

ra trong hệ thống phân tán, đảm bảo các tiến trình trong bài toán hoạt động hoàn toàn ăn khớp với nhau và đạt được trạng thái gắn bó tài nguyên thông tin dùng chung

ABSTRACT

Nowadays, synchronization of processes in distributed system is very important and this requires people to guarantee the same order among messages sent and received by servers This research paper concentrates on vector time invented by Fidge, Mattern and Schmuck, and synchronization of processes in park with distributed stations This method can lead to complete causal order between events, and can satisfy the synchronization of processes and common information resources in distributed system

1 Đặt vấn đề

Một hệ thống phân tán bất kỳ nào cũng được cấu tạo từ n thành phần Các thành phần này

có thể là các tiến trình hoặc các trạm, các nút hoặc các máy Server không dùng bộ nhớ chung

và liên lạc với nhau bằng cách duy nhất là trao đổi thông điệp Mỗi một thành phần như thế hoạt động như một otomat có nghĩa là nó triển khai các phép toán có khả năng thay đổi trạng thái của mình và của toàn hệ thống

Các phép toán thực hiện bằng một trong những thành phần vừa nêu phải được sắp xếp một cách tự nhiên theo những trình tự diễn ra Nếu một tiến trình nào đó cho phép chứa nhiều luồng, trên hệ thống đơn bộ xử lý, đó chính là trật tự thực hiện các lệnh trên bộ xử lý này Chính bộ xử lý này đảm nhận vai trò sắp xếp các sự kiện

Việc xác định trật tự các sự kiện trên hệ thống đa bộ xử lý là một vấn đề phức tạp liên quan đến những khó khăn trong việc duy trì một thời gian tuyệt đối gắn bó Đối với hệ tin học phân tán, việc thống nhất các giá trị của đồng hồ vật lý để đồng bộ hóa các sự kiện là việc làm không khả thi vì những lý do sau đây:

Độ trễ của truyền thông

Sự không thống nhất các đồng hồ vật lý theo một chuẩn nhất định

Xử lý không theo thời gian thực

Trang 2

Hệ thống đồng hồ vector được Fidge, Mattern và Schmuck đề xuất Mỗi đồng hồ là một

vector n chiều thể hiện bởi n phần tử không âm Mỗi trạm Si nắm giữ một vector Hi [1 n], với

Hi được gọi là đồng hồ cục bộ của trạm Si (i là số thứ tự của trạm Si trong hệ, 1≤ i ≤n , n là số

trạm có trong hệ)

Hi[j] cho thấy hiểu biết mới nhất của Si về thời gian cục bộ của trạm Sj Như vậy thời gian

vector cho ta thấy toàn cảnh của thời gian logic giữa các trạm

2 Cập nhật đồng hồ logic

Các quy luật để một trạm Si cập nhật lại đồng hồ logic vector của mình:

 Trước khi thực hiện một sự kiện bất kỳ, Si cập nhật lại thời gian logic của nó như sau:

Hi[i]=Hi[i] + d (Với d là một số gia)

 Trước khi gửi một thông điệp m đi, trạm Si sẽ gán nhãn thời gian cho thông điệp ấy

theo thời gian t mới nhất của trạm Si vào thời điểm gửi Trạm Sj khi nhận được thông

điệp sẽ cập nhật lại đồng hồ logic của nó theo công thức:

Hj = sup( Hj ,t);

Với sup(u,v)=w; w[i]=max(u[i],v[i]) (u, v, w là các vector n chiều; 1≤i≤n; 1≤i≤n)

3 So sánh hai vector

Cho hai vector H1, H2 với kích thước thước n, chúng có thể được so sánh với nhau theo công

thức sau đây:

H1≤H2 nếu H1[i]≤H2[i] với 1≤i≤ n

H1<H2 nếu H1≤H2 và not (H1=H2)

H1||H2 nếu not (H1<H2) and not (H2<H1)

4 Xác lập thứ tự nhân quả giữa hai sự kiện

Việc xác lập trật tự nhân quả của hai sự kiện e1 và e2 bất kỳ được thực hiện dựa trên những

quy luật sau đây:

Quy tắc 1: Nếu hai sự kiện e1, e2 xảy ra trên cũng một trạm Si (i là số thứ tự của trạm

trong hệ), khi đó e1e2 khi và chỉ khi Hi(e1)<Hi(e2)

Quy tắc 2: Nếu e1 là sự kiện gửi đi một thông điệp m trên một trạm, và e2 là sự kiện

nhận đươc chính thông điệp đó thì e1e2

Quy tắc 3: Nếu hai sự kiện e1, e2 xảy ra trên hai trạm Si, Sj bất kỳ trong hệ (i, j là số

thứ tự của trạm) thì ta có e1e2  Hi(e1)<Hj(e2)

Quy tắc 4 :Nếu hai sự kiện e1, e2 ta có e1||e2  H(e1)||H(e2)

3 Bài toán bãi đỗ xe nhiều cổng

Bài toán được phát biểu như sau: Có một bãi đỗ xe hiện đại trong đó có m chỗ để xe và n cổng

vào/ra, tại mỗi cổng có người bảo vệ có nhiệm vụ phân phối cho các xe cụ thể

Trang 3

Mô hình của bãi đỗ xe nhiều cổng

Trong bài toán, chúng ta xem các trạm gác là các Server, người thực giữ cổng là các chương trình cài đặt trên các Server, các chỗ trong bãi đỗ xe là các tài nguyên Tại mỗi trạm sẽ

có hai tiến trình, trong đó, một tiến trình phát có nhiệm vụ truyền đi các thông điệp: Thông điệp kiến nghị vào bãi, hoặc ra khỏi bãi, hoặc yêu cầu cung cấp, tiến trình nhận có nhiệm vụ nhận các thông điệp truyền đến nó

Khi một xe yêu cầu vào vị trí đậu, có nghĩa là tiến trình yêu cầu tài nguyên dùng chung Ngược lại, khi một xe yêu cầu ra khỏi vị trí đậu, nghĩa là tiến trình khuyến nghị giải phóng tài nguyên dùng chung

Bài toán đỗ xe có ít nhất là hai cổng, ở đây ta giả sử là có bốn cổng Số lượng vị trí trong bãi là

25, mỗi cổng tương ứng với một trạm trên mạng Mỗi trạm có một địa chỉ IP duy nhất định danh cho trạm và một Port để quy định dịch vụ hoạt động trên cổng đó

Nói cách khác, hệ thống bãi đỗ xe là một hệ thống đa Server bao gồm Server1 (bảo vệ 1), Server2 (bảo vệ 2), Server3 (bảo vệ 3), Server4 (bảo vệ 4) Mỗi Server đều có một cơ sở dữ liệu riêng rẽ để chứa dữ liệu Dữ liệu ở đây là các thông tin vào và ra của các xe

Như vậy, tại một trạm nào đó, một xe yêu cầu được vào bãi thì tiến trình phát tại trạm này sẽ phát sinh các thông điệp và gởi các thông điệp đến trạm khác và ngay cả chính nó Những thông điệp này sẽ được nhận bởi các tiến trình nhận tạị trạm nhận và đưa vào hàng đợi cục bộ của nó

Phân tích bài toán bãi đỗ xe ở trên, chúng ta nhận thấy việc sắp xếp các thông điệp được phát

ra từ các trạm là điều cực kỳ quan trọng để đảm bảo tính đồng bộ của dữ liệu nhằm quản lý tốt các dòng xe vào và ra Vấn đề này đặt ra yêu cầu phải duy trì một thời gian tuyệt đối đồng bộ

4 Giải pháp cho bài toán bãi đỗ xe nhiều cổng

Việc đồng bộ hóa các tiến trình vào và ra trong bài toán bãi đỗ xe được thực hiện nhờ giải thuật loại trừ tương hỗ phân tán nhờ dấu trên cơ sở thời gian vector

Gọi n là số trạm trong hệ, m1 là thông điệp yêu cầu vào bãi, m2 là thông điệp trả lời của tiến

Trang 4

Khi tiến trình Pi muốn vào bãi thì quá trình gửi và nhận thông điệp sẽ xảy ra như sau:

 Pi gửi thông điệp yêu cầu vào m1 cho tất cả các tiến trình trong mạng Pj (với 1≤j≤n)

 Pj nhận được thông điệp này thì đẩy thông điệp vào hàng đợi cục bộ của trạm

và trả lời cho Pi bằng thông điệp m2

 Tại Pi sau khi nhận được thông điệp trả lời (từ tất cả các trạm) rồi dựa trên sự xem xét yêu cầu của nó xem có tiếp tục vào bãi không

Tiến trình Pi muốn ra khỏi bãi:

 Pi gửi thông điệp yêu cầu ra m3 cho tất cả các tiến trình khác trong mạng

 Xóa yêu cầu vào tương ứng của nó trong hàng đợi cục bộ

5 Kết luận

Đề tài nhằm tập trung nghiên cứu về thời gian vector và vận dụng thời gian nhằm tiến hành đồng bộ hóa các tiến trình trong bài toán Bãi đỗ xe nhiều cổng và đạt được những kết quả sau:

- Mô phỏng bài toán bãi đỗ xe là một hệ thống đa Server trong hệ phân tán

- Xác lập trật tự nhân quả chặt chẽ của các thông điệp trên cơ sở thời gian vector

- Dựa vào trật tự nhân quả chặt chẽ giữa các thông điệp, xây dựng giải pháp đồng bộ hóa

dữ liệu giữa các trạm

- Kết quả thu được cho thấy sự hợp lực chính xác giữa các bảo vệ của các trạm bằng cách trao đổi thông điệp đã đảm bảo điều khiển chính xác các dòng xe vào và ra

Những kết quả mà bài toán bãi đỗ xe đạt được là rất đáng khích lệ bởi vì nó có thể phát triển để giải quyết những bài toán tương tự đặt ra trong thực tế như bài toán đặt vé máy bay, đặt nơi du lịch, hoặc các ứng dụng lớn như thương mại điện tử, giáo dục điện tử…Đây là những bài toán cần phân tán các chức năng của nó trên các trạm để thời gian trả lại có kết quả tốt hơn Do đó nó cần được mô phỏng như một hệ đa Server trong hệ phân tán

Vì lượng thông tin của chúng rất lớn và nhu cầu giao dịch rất nhiều, do đó cần phân tán các giao dịch trên các trạm khác nhau để thời gian giao dịch nhanh chóng và chính xác, tránh lãng phí tài nguyên và tranh chấp tài nguyên Muốn vậy, giải pháp xây dựng cần phải đảm bảo một sự đồng bộ dữ liệu giữa các trạm tại mọi thời điểm Điều này ta hoàn toàn có thể tin tưởng

ở kết quả thu được từ bãi toán Bãi đỗ xe

Đề tài có thể được nghiên cứu tiếp theo những hướng sau:

- Tiến hành giảm kích thước của nhãn thời gian vector khi đính vào thông điệp và gửi đi trên đường truyền

- Tạo lát cắt ổn định (Consistent Cut) và ảnh chụp quang cảnh hệ thống (Snapshot) nhằm

xử lý trường hợp mạng bị sự cố, tiến hành khôi phục lại tình trạng ổn định của mạng trước

sự cố

Trang 5

TÀI LIỆU THAM KHẢO

[1] PGS-TS Lê Văn Sơn (2002), Hệ tin học phân tán, NXB Đại học Quốc gia TP.Hồ Chí Minh

[2] PGS-TS Lê Văn Sơn (1999), Nguyên lý hệ điều hành, Giáo trình

[3] Nguyễn Kim Tuấn (2004), Giáo trình lý thuyết hệ điều hành, Khoa CNTT-Trường ĐHKH Huế

[4] Kỹ thuật lập trình Java (2002), Hoàng Đức Hải-Nguyễn Tô Thành, Nhà xuất bản lao động

xã hội

[5] Victor Larios, Félix F.Ramos (2004), Advanced Distributed System, Third Intenational School and Symposium, ISSAD

[6] Nicola Santoro (1997), Design and Analysis of distributed algorithms, vWiley

[7] K Mani Chandy (1985), Distributed Snapshots- Determining Global States of Distributed System, University of Texas

[8] M.Raynal, M.Singhal (1995), Logical Time: A way to capture Causality in Distributed System, Institut National de Recherche en infomatique et en automatiue

[9] Michel Raynal, Mukesh Singhal, Capturing Causality in Distributed Systems, University

of Rennes, Ohio State University

[10] J.Wetch (1998), Distributed Algorithms and Sysrtem, A&M University

[11] Friedmann Mattern, VirtualTime and Global State of Distributed Systems, University of Kaiserslautern, Germany

[12] William Grosso (2001), Java RMI, O’Relly

[13] John O’ Donahue (2002 , Java Database Programming Bible, Wiley

[14] Chris Adamson, Joshua Marinacci (2002), Swing Hacks, O’Relly

[15] Dick Steflik, Prashant Sridharan, Richard Steflik (2003), Advanced Java Networking,

O’Relly

[16] www.javavietnam.org

[17] www.ddth.com

Ngày đăng: 13/04/2013, 10:34

HÌNH ẢNH LIÊN QUAN

Mô hình của bãi đỗ xe nhiều cổng - thời gian logic vector và vấn đề đồng bộ hóa các tiến trình trong bài toán đỗ xe nhiều công
h ình của bãi đỗ xe nhiều cổng (Trang 3)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w