ĐỒNG bộ hóa NHỜ dấu tự MÌNH đặt RA một bài TOÁN, lập TRÌNH GIẢI TRÊN máy đơn BẰNG PASCAL và TRÊN ASP hãy rút RA NHỮNG kết LUẬN QUAN TRỌNG TRONG hệ PHÂN tán
Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
343 KB
Nội dung
Đề Tài : ĐỒNGBỘHÓANHỜDẤU LỜI MỞ ĐẦU Cùng với sự phát triển ngày càng cao của công nghệ thông tin. Sự ra đời và phát triển ồ ạt của máy vi tính và các phương tiện xử lý thông tin khác, cũng như nhu cầu trao đổi thông tin trong mọi hoạt động xã hội loài người . Đòi hỏi sự phát triển đồngbộ các phương pháp truyền thông . Mạng máy tính ra đời làm cho mọi người trên thế giới trở nên gần nhau hơn . Hệ tin học phântánra đời nhằm phát triển nhu cầu của công nghệ thông tin . Hệ tin học phântánhay nói ngắn gọn là hệphântá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 và đượ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ộthệ điều hành. Để đảm bảo tính gắn bó của hệ, yêu cầu đặtra trước hết là đồngbộhóa các tiến trình. Trìnhtựvàđồngbộ các tiến trìnhtronghệphântán chỉ ra cho ta các vấn đề đồngbộ có thể sẽ dẫn đến phải thiết chế một trật tự tổng quát của các sự kiện diễn ratronghệ . Cần phải xác định mối liên hệ trao đổi thông qua các thông điệp với thời gian truyền khác nhau, những thông tin tạm thời trao đổi không có giá trị tuyệt đối vàtrìnhtự tổng quát cần phải được thể hiện bằng phương tiện giải thuật đảm bảo hoạt động nhịp nhàng giữa các tiến trình có liên quan với nhau. Trong giới hạn của tiểu luậnkết thúc môn học này, với vấn đề chính việc “Đồng bộhóanhờ dấu”, tiểu luận chủ yếu tập trung phân tích cách giải quyết vấn đề dựa vào các thuật toán liên quan đến đồngbộ của Lamport . Ví dụ của bài toán kinh điển – bãiđậu xe ô tô, được sử dụng để minhhọa cho các yêu cầu đồngbộvà gắn bó dữ liệu. nội dung của tiểu luận gồm nhữngphần chính sau : - Khái quát chung về hệphân tán. - Bài toán bãi để xe ôtô và vấn đề đồngbộhoá giữa các tiến trình. Bài tập : Bài số 4 chương IV – Trang 195. Để hoàn thành tiểu luận này, tôi xin chân thành cám ơn sự chỉ bảo tận tình của Thầy giáo: PGS.TS.Lê Văn Sơn và các bạn học viên trong lớp . Tuy nhiên chắc hẳn vẫn còn nhiều thiếu sót, kính mong sự góp ý của thầy giáo và các bạn . HỌC VIÊN : TRẦN TẤN NHA Khoa Học Máy Tính K24 1 Đề Tài : ĐỒNGBỘHÓANHỜDẤU MỤC LỤC ĐỒNGBỘHÓANHỜ DẤU……………………………………………………… .…… 3 CHƯƠNG I : KHÁI QUÁT CHUNG VỀ HỆ TIN HỌC PHÂNTÁN I.1.Tổng quan về hệ tin học: …………………………………….… 3 I.2. Hệ tin học phântán ………………………………………………4 CHƯƠNG II : BÀI TOÁN BÃIĐẬU XE Ô TÔ VÀ VẤN ĐỀ ĐỒNGBỘ GIỮA CÁC TIẾN TRÌNH ………………………………………………………… 7 II.1 Đặt vấn đề:…………………………………………….………… 7 II.2 Bài toán bãi để xe ô tô…………………………………………….7 II.3 Vấn đề đồngbộ giữa các tiến trình……………………….…… 11 II.4 Sắp xếp kiểu đóng dấu:……………………………………… …12 II.5 Loại trừ tương hỗ nhờ dấu………………………………………17 KẾT LUẬN…………………………………………………………… .19 TÀI LIỆU THAM KHẢO………………………………………………… .20 PHẦN LÝ THUYẾT ĐỒNGBỘHÓANHỜDẤU HỌC VIÊN : TRẦN TẤN NHA Khoa Học Máy Tính K24 2 Đề Tài : ĐỒNGBỘHÓANHỜDẤU CHƯƠNG I : KHÁI QUÁT CHUNG VỀ HỆ TIN HỌC PHÂNTÁN I.1.Tổng quan về hệ tin học: Một cách tổng quát, hệ tin học có thể bao gồm các thành phần bản như phần cứng, hệ điều hành, các chương trình ứng dụng và người sử dụng (NSD) … và có thể được mô tả như hình sau : Các thiết bị phần cứng bao gồm các thiết bị xử lý trung tâm, bộnhớvà các thiết bị ngoại vi đóng vai trò là mộttrong hai loại tài nguyên cơ sở của hệ thống tin học. Các chương trình ứng dụng là thành phần tiếp theo sau hệ điều hành được hiểu như là các phần mềm cơ sở phục vụ cho viểc triển khai các ứng dụng cụ thể như chương trình dịch, hệquản trị cơ sở dữ liệu, các chương trình trợ giúp sử dụng các thiết bị chuyên dụng, các trò chơi điện tử . . . Người sử dụng ở đây được hiểu theo nghĩa rộng, dưới góc độ của hệ điều hành, có thể là các nhà chuyên môn, các máy tính, các hệtựđộng vận hành, gắn với máy tính . . . đang khai thác hệ thông qua lệnh điều khiển theo một thuật toán nào đó nhằm đạt được mục tiêu xác định từ trước . Hệ điều hành các máy tính và mạng máy tính gọi tắt là hệ điều hành được đặt sát phần cứng, nó gắn kết chặt chẽ với phần thiết bị bởi mộthệ thống các chương HỌC VIÊN : TRẦN TẤN NHA Khoa Học Máy Tính K24 3 Đề Tài : ĐỒNGBỘHÓANHỜDẤU trình, điều khiển và sắp xếp nhằm khai thác phần cứng phục vụ cho các chương trình ứng dụng khác nhau của NSD khác nhau với kết quả và hiệu năng chấp nhận được . Như vậy, hệ tin học bao gồm ba thực thể : phần cứng, phần mềm và dữ liệu , được mô tả ở hình I-2. Vậy hệ thống tin học (Informatic System ) là mộthệ thống bao gồm hai thành phần cơ bản phần cứng (hardware) vàphần mềm (software) gắn bó hữu cơ với nhau và có khả năng xử lý thông tin. I.2. Hệ tin học phântán I.2.1.Định nghĩa Hệ tin học phântánhay nói ngắn gọn là hệphântá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ộthệ điều hành. I.2.2. Các thực thể tronghệphântánHệphântán gồm 4 thực thể : HỌC VIÊN : TRẦN TẤN NHA Khoa Học Máy Tính K24 4 Đề Tài : ĐỒNGBỘHÓANHỜDẤU I.2.3. Đặc điểm của hệphântán : Đặc điểm cần nhấn mạnh của hệ 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ântán bao gồm các hệ thống cục bộtrong đó mỗi mộthay 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à tronghệ 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. I.2.4.Các ưu điểm của tài nguyên dùng chung tronghệphântán : Hệ tin học phântá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 HỌC VIÊN : TRẦN TẤN NHA Khoa Học Máy Tính K24 5 Đề Tài : ĐỒNGBỘHÓANHỜDẤU 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 - Tăng tốc độ bình quântrong tính toán xử lý. - Cải thiện tình trạng luôn sẵn sàng của các loại tài nguyên. - Tăng độ an toàn cho dữ liệu. - Đa dạng hóa các loại hình dịch vụ tin học. - 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ậphệ 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 quantrọ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ântán cần phải có các cơ chế kỹ thuật đủ mạnh nhằm đồngbộhóa hoạt động của các tiến trìnhvà 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. I.2.5.Các thao tác chuẩn của hệphântán : - Tiếp nhận và ghi yêu cầu chỉ dẫn. - Dịch yêu cầu để có các thông tin cần thiết. Thực hiện một số công việc của hệ thống cục bộ như kiểm tra quyền truy cập thông tin, lậphóađơn dịch vụ. - Gửi kết quả cho hệ thống đã phát yêu cầu. HỌC VIÊN : TRẦN TẤN NHA Khoa Học Máy Tính K24 6 Đề Tài : ĐỒNGBỘHÓANHỜDẤU CHƯƠNG II : BÀI TOÁN BÃIĐẬU XE Ô TÔ VÀ VẤN ĐỀ ĐỒNGBỘ GIỮA CÁC TIẾN TRÌNH II.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ể đồngbộ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 ứng dụ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ạn chế 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 chính 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ộthệ ứng dụng hoạt động theo kiểu hợp lực để giải quyết các bài toán đặtravà cho kết quả nhanh chóng nhất. Điều này cho 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ậptrình giữa các tiến trình nhằm cho phép chúng tham gia vào các hành động chung. Vì vậy, 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 trừ tương hỗ thông qua các biến cùng tác độngtrongmột vùng nhớ chung. Tronghệ 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. HỌC VIÊN : TRẦN TẤN NHA Khoa Học Máy Tính K24 7 Đề Tài : ĐỒNGBỘHÓANHỜDẤU II.2 Bài toán bãi để xe ô tô. II.2.1. Bài toán bãi để xe : Để rútra các vấn đề đang đặtratronghệphântán về việc đồngbộ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 II-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ô. Bài toán nêu ramột số tình huống sau: Tình huống thứ 1: Giả sử bãi để xe ô tô là loại bãi lớn có một cổng vào dưới sự kiểm soát của một người bảo vệ (NBV) duy nhất. NBV chỉ biết được mộtphần trạng thái của bãi để xe. Trong khi anh ta nghĩ rằng bãi xe đã bị đầy, khi đó lại có nhiều lái xe đang cho xe chạy ra cổng. Vì suy nghĩ như vậy, trong trường hợp này, anh ta không giải quyết cho các xe tiếp tục vào bãi nữa, mặc dù lúc này trongbãi đang có chỗ trống. Như vậy, NBV không nắm được trạng thái hiện hành của bãi. 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 NBV thì mỗi NBV chỉ 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ứ 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 minhhọ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ãimột số xe mà anh ta chư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 HỌC VIÊN : TRẦN TẤN NHA Khoa Học Máy Tính K24 8 Đề Tài : ĐỒNGBỘHÓANHỜDẤUmột lúc các NBV giải quyết các xe vào cùng một vị trí trongbãi (tương tranh) do vì họ thiếu thông tin. Tình huống thứ 2, đặtra ở đâ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ântántrê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 NBV phải hợp lực với nhau để phân phối chính xác các chỗ trốngtrong 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. II.2.2 Ví dụ về không gắn bó: Để thấy được tầm quantrọng mang tính quyết định của trìnhtự 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 NBV để 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 II-1 sau: Bảng II-2: cho thấy, nếu ta không có ràng buộc nào đối với trìnhtự xử lý các thông điệp nhận được của các người bảo vệ thì các HỌC VIÊN : TRẦN TẤN NHA Khoa Học Máy Tính K24 Stt Ký hiệu Thông tin phát đi 1 M1 thêm 20 chỗ trống 2 M2 có 10 chỗ bị chiếm 3 M3 dành 10% chỗ trống để quét dọnbãiBảng II-1 9 Đề Tài : ĐỒNGBỘHÓANHỜDẤU NBV 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ìnhtự cập nhật nhất thiết phải giống nhau trên tất cả các trạm. trật tự xử lý Bảo vệ 1 Bảo vệ 2 Bảo vệ 3 Bảo vệ 4 Thông điệp giá trị Thông điệp giá trị Thông điệp giá trị Thông điệp giá trị 100 100 100 100 1 M1 120 M1 120 M3 90 M2 90 2 M3 108 M2 110 M1 110 M3 81 3 M2 98 M3 99 M2 100 M1 101 Bảng II-2: Sự không gắn bó giữa 4 người bảo vệ II.2.3 Qui tắc cho các thuật toán cung cấp tronghệ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ântánquả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: HỌC VIÊN : TRẦN TẤN NHA Khoa Học Máy Tính K24 10 . của một hệ điều hành. Để đảm bảo tính gắn bó của hệ, yêu cầu đặt ra trước hết là đồng bộ hóa các tiến trình. Trình tự và đồng bộ các tiến trình trong hệ phân. để xe : Để 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