Trong các hệ thống tập trung, mỗi một loại tài nguyên của hệ được quản lý bởi một chương trình cung cấp duy nhất, chương trình này tiếp nhận tất cả các yêu cầu, khuyến nghị giải phóng và
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
TIỂU LUẬN MÔN HỌC
HỆ PHÂN TÁN
ĐỀ TÀI:
I Tài nguyên và chiến lược cung cấp tài nguyên
II Cho hai loại tài nguyên: tài nguyên truy cập theo kiểu loại trừ và tài nguyên truy cập theo kiểu chia sẻ Trình bày thuật toán Lomet và Menasce nhằm xử lý việc cung cấp tài nguyên của hai nhóm tài nguyên nêu trên.
Giảng viên hướng dẫn: PGS.TS Lê Văn Sơn
Học viên thực hiện: Nguyễn Nương Quỳnh Lớp: Khoa học Máy tính - K24 Quảng Bình
Quảng Bình, tháng 12 năm 2012
LỜI MỞ ĐẦU
Trang 2Hệ thống tin học hiện đại ngày nay đóng một vai trò quan trọng không thể thiếu trong sự phát triển của toàn xã hội Một thành tựu nổi bật nhất trong hệ thống công nghệ thông tin là sự phát triển các phần mềm cơ sở nhằm trực tiếp làm tăng khả năng điều hành, khai thác hiệu quả tất cả các tài nguyên của hệ thống thông tin
Hệ thống tin học nói chung là hệ thống bao gồm hai phần cơ bản là phần cứng
và phần mềm được gắn bó một cách hữu cơ với nhau để thực hiện có hiệu quả cao nhất về xử lý thông tin Hệ tin học phân tán (hay nói gọn hệ phân tán) cũng là một
hệ thống xử lý thông tin nhưng 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ột hệ điều hành Có thể xem hệ phân tán như là một tập hợp bao gồm các bộ xử lý, bộ vi xử lý với bộ nhớ và đồng hồ nhịp độc lập (tức là hệ phân tán không chia sẻ bộ nhớ và đồng hồ) Do vậy, hệ tin học phân tán đòi hỏi hệ thống phần cứng của máy tính phải trang bị bộ nhớ cục bộ, các bộ xử lý trao đổi với nhau thông qua các hệ thống đường truyền khác nhau Trong hệ phân tán, hệ xử lý thông tin thành phần phải được thiết kế sao cho về cấu trúc, số lượng và dung lượng
có thể cho phép thực hiện một cách trọn vẹn các chức năng của nó
Khác nhau cơ bản của hệ tin học phân tán với hệ tin học tập trung là ngoài hệ thống phần cứng, phần mềm, dữ liệu như cấu thành hệ tin học tập trung, hệ tin học phân tán còn có hệ thống truyền thông Với sự khác nhau đó mà một số vấn đề được đặt ra là: Một xu hướng kỹ thuật mới ra đời - xu hướng phân tán các thành phần tạo nên hệ tin học theo hướng tiếp cận nơi sử dụng và nơi sản xuất thông tin Đồng thời
để khai thác có hiệu quả cao nhất của hệ thống thông tin, vấn đề hàng đầu là cần phải tính đến các tài nguyên nói chung, tài nguyên thông tin nói riêng và các chiến lược khai thác, cung cấp, sử dụng tài nguyên ấy một cách tối ưu nhất
Trong các hệ thống tập trung, mỗi một loại tài nguyên của hệ được quản lý bởi một chương trình cung cấp duy nhất, chương trình này tiếp nhận tất cả các yêu cầu, khuyến nghị giải phóng và sắp xếp chúng trong một hàng đợi xử lý theo kiểu loại trừ và xử lý chúng theo một trật tự nhất định của hàng đợi đó Còn trong hệ phân tán, chương trình cung cấp được nằm trên một trạm và các tiến trình đề nghị lại ở trên các trạm khác, các yêu cầu khuyến nghị giải phóng được truyền cho chương trình cung cấp thông qua hình thức thông điệp chuyển theo các kênh của hệ thống viễn thông Hơn nữa, vì lý do ổn định và hiệu quả mà ta phải phân tán chức năng cung cấp trên nhiều trạm khác nhau 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
Trang 3Hệ tin học phân tán là hệ xử lý thông tin bao gồm nhiều bộ xử lý hay bộ vi xử
lý được phân bổ tại những vị trí khác nhau và được nối ghép vào nhau thông qua các phương tiện truyền tin và được điều khiển bởi một hệ điều hành duy nhất Vì vậy, thời hạn truyền thông tin trong hệ sẽ không giống nhau, các thông điệp có thể
bị mất trong quá trình chuyển tải, các thông điệp có thể được truyền kép và hệ thống
có thể rơi vào sự cố bất cứ lúc nào Mặt khác, một hay nhiều máy tính cấu thành của
hệ phân tán cũng có thể xảy ra sự cố và hoạt động của hệ sẽ trở nên đình trệ, kém hiệu quả Do đó, việc bảo vệ tính vẹn toàn dữ liệu, quản lý tài nguyên, cung cấp tài nguyên và sử dụng tài nguyên là vấn quan trọng hàng đầu Chiến lược cung cấp tài nguyên và các biện pháp khắc phục tình trạng bế tắc là nội dung được trình bày trong tiểu luận này
Với một lĩnh vực kiến thức còn khá mới, đa dạng và phức tạp cho nên việc nghiên cứu của tôi còn nhiều hạn chế, rất mong được sự góp ý và định hướng của Thầy Lê Văn Sơn và các anh chị cùng lớp để tôi có thể tiếp tục nghiên cứu và đạt được kết quả tốt hơn trong thời gian tới
Xin chân thành cảm ơn Thầy PGS.TS Lê Văn Sơn đã nhiệt tình giảng dạy và giúp tôi hoàn thành tiểu luận này
Trang 4MỤC LỤC
A
Trang 5Chương 1
HỆ TIN HỌC PHÂN TÁN
1 Quá trình phát triển hệ thống tin học
Hệ tin học có thể bao gồm các thành phần cơ 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…Các thiết bị phần cứng bao gồm bộ xử lý trung tâm, bộ nhớ, và các thiết bị ngoại vi đóng vai trò là một trong 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 ví dụ như các phần mềm ứng dụng
Người sử dụng 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 thông qua các 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 Ở từng thời điểm, số lượng người sử dụng cho mỗi thành phần ứng dụng là khác nhau và bị giới hạn trong khả năng kỹ thuật ghép
Chiếc máy tính đầu tiên ra đời trong những năm 50 của thế kỷ 20 là các hệ thống đồ sộ, nặng nề, tiêu tốn nhiều năng lượng, hiệu quả hoạt động kém, dung lượng bé và đặc biệt là rất khó khăn trong quá trình sử dụng, vận hành nhưng chính các hệ thống này đã đóng góp cho nhân loại những bài học về nguyên lý mà giá trị của chúng vẫn còn nguyên vẹn cho đến tận hôm này và có lẽ mãi mãi về sau Đặc trưng của thời kỳ này là tỷ trọng phần mềm trong hệ thống không đáng kể so với phần cứng Các chương trình trợ giúp hệ thống vừa thiếu về số lượng vừa yếu về chức năng phục vụ
Và theo thời gian, con người đã xây dựng nên các chương trình trợ giúp có tính chất hệ thống như chương trình dịch từ hợp ngữ sang ngôn ngữ máy, chượng trình soạn thảo theo dòng,…do đó làm giảm nhẹ công việc lập chương trình
Vào cuối những năm 50, đầu những năm 60, con người đã xay dựng các chương trình monitor thường trú cho phép liên kết hợp các công việc lại với nhau
và thực hiện một lần Việc liên kết ấy có ý nghĩa rất lớn trong tự động hoá và các hoạt động của hệ tin học
Năm 1960, chương trình BPS( Batch processing system) được xây dựng thành công nhằm vào các thiết bị phần cứng nhằm sử dụng hết hiệu năng của bộ xử lý và bước đầu triển khai cơ chế bảo vệ
Năm 1969, hệ điều hành UNIX được xây dựng bởi ông Ken Thompson cho phép người sử dụng làm việc theo kiểu chia sẽ thời gian trong hệ thống đa nhiệm.Vào những năm 70, các máy tính cá nhân ra đời với sự tiện ích cao, khả năng vượt trội, và đặc biệt là giá cả hợp lý đã nhanh chóng chinh phục mọi người và mở
ra một trang mới trong việc phát triển ngành tin học
Trang 6Tiếp theo là sự xuất hiện của hệ thống song song cho phép cải tiến các máy vốn sử dụng một bộ xử lý hay bộ vi xử lý duy nhất thành hệ thống đa bộ xử lý nhằm tăng độ tin cậy của hệ thống.
Vào những năm 80 Hệ thống mạng cục bộ Ethernet và Token Ring được phát minh là những mạng tiêu biểu cả về lý thuyết lẫn triển khai ứng dụng
Hệ tin học phân tán đòi hỏi phần cứng của mình phải trang bị bộ nhớ cục bộ, các bộ xử lý trao đổi thông qua các hệ thống đường truyền khác nhau như cáp chuyên dụng, bus trao đổi, đường điện thoại, đường cáp quang, mạng điện chiếu sáng cao và hạ thế.’…
Hệ thống thời gian thực với hệ điều hành tiêu biểu là hệ tự động hoá điều khiển lò luyện thép
Vào năm 1974, xuất hiện mạng Internet toàn cầu là mạng ARPANET với giao thức NCP Tuy nhiên, khi giao thức TCP/IP được xây dựng bởi Vint Cert và Robert Kahn thì khái niệm mạng của các mạng mới được hình thành Và đến năm 1990 thì mạng Internet phát triển vượt bậc với những kết quả mà chúng ta có được như ngày hôm nay
2 Hệ tin học phân tán
2.1 Khái niệm hệ tin học phân tán
Hệ tin học phân tán hay gọi tắt là hệ phân tán là một hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc các bộ vi xử lý được đặt ở xa tại các vị trí khác nhau
và được liên kết với nhau thông qua các phương tiện viễn thông dưới sự thống nhất của hệ điều hành
Hệ tin học phân tán là một hệ thống không chia sẽ bộ nhớ và đồng hồ Các tính toán trong hệ tin học phân tán có thể được thực hiện trên nhiều bộ xử lý hay vi
xử lý của hệ thống đa bộ xử lý Do đó hệ thống tin học phân tán đòi hỏi hệ thống của mình phải trang bị bộ nhớ cục bộ Các bộ xử lý trao đổi thông tin thông qua các đường truyền khác nhau như cáp mạng chuyên dụng, bus trao đổi, đường điện thoại, cáp quang hoặc có thể là sóng…
Không như các máy tính đơn lẽ, mạng máy tính là tập hợp các thiết bị đầu cuối được nối với nhau bởi hệ thống đường truyền, những đường truyền nối với các trạm rất xa nhau có thể là một mạng viễn thông Các thiết bị đầu cuối của mạng máy tính rất đa dạng, bao gồm tập hợp các máy tính, các thiết bị chuyên dụng, các thiết bị truyền tin, các thiết bị nhận và hiển thị thông tin…Hệ thống mạng máy tính được điều khiển bằng hệ điều hành mạng Hệ tin học này có thể là hệ tập trung hay
là hệ phân tán
Trang 72.2 Đặc điểm cơ bản của hệ tin học phân tán
Căn cứ vào thành phần của hệ tin học, ta nhận thấy hệ tin học phân tán có thể bao gồm bốn thực thể như hình 1 bên dưới
Cấu hình phần cứng của mạng có thể bao gồm các bộ xử lý có cấu tạo hoàn toàn khác nhau về khả năng, tốc độ và được thiết kế cho các chức năng không giống nhau Chúng có thể là các bộ xử lý, các trạm làm việc, các máy tính trung và các máy tính điện tử vạn năng lớn
Bên cạnh hệ thống phần cứng, phần mềm, dữ liệu, hệ phân tán còn có hệ thống truyền thông Nhưng điều cơ bản để phân biệt hệ tin học phân tán với mạng máy tính và hệ điều hành mạng chính là nguyên tắc xây dựng hệ được liệt kê như bản dưới đây:
1. Chia sẽ tài nguyên
4 Tăng tốc
Đây là khái niệm mới về phân tán tải Một tính toán lớn nào đó nếu chỉ sử dụng một trạm thì thời gian cho kết quả lâu Tính toán này được chia nhỏ và thực hiện song song trên các trạm Điều này cũng cần thiết đối với các trạm quá tải
Một trong những tư tưởng lớn của hệ phân tán là phân tán hoá các quá trình xử
lý thông tin và thực hiện công việc đó trên các trạm xa nhau Đó là những cơ sở căn
Các hệ thống phần mềm
Hệ thống dữ liệu
Các hệ thống phần cứng
Hệ thống truyền thông
Hình 1: Bốn thực thể của hệ tin học phân tán.
Trang 8bản cho việc xây dựng các ứ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ử, thư viện điện tử và bệnh viện ảo.
2.3 Các vấn đề liên quan đến mạng máy tính
Liên lạc là thuật ngữ được sử dụng để chỉ các thao tác trao đổi thông tin giữa các thực thể thuộc hệ thống Trạm phát sẽ phát thông tin được gọi là thông điệp, là một hình thức phổ biến trao đổi thông tin đến trạm nhận
Nếu người sử dụng mạng muốn liên hệ với nhau, họ phải sử dụng hệ thống tên quy ước hay còn gọi là địa chỉ mạng Các địa chỉ này phải tuân theo nguyên tắc xây dựng nhất định và không trùng nhau Trong mạng, một người sử dụng nào đó có thể
sử dụng bất cứ trạm nào để liên lạc với người sử dụng mà họ muốn liên lạc
Trong cấu trúc tập trung, ta có hệ thống máy trung tâm để cho phép lưu trữ toàn bộ thông tin, người sử dụng có thể truy cập vào đó để xử lý thông tin của mình Giải pháp này dễ dàng triển khai và được ứng dụng rộng rãi trong thập niên 60 và 70
Khi nhiều người sử dụng liên lạc với nhau trong mạng để thực hiện công việc nào đó thông qua kênh truyền hình bằng cách sử dụng giao diện của mình, giao thức
là tập hợp những quy tắc cần thiết cho các dịch vụ tầng có thể thực hiện được và cho phép việc nhận và gửi thông tin đến tầng tương ứng
Người sử dụng có thể chia cắt thông tin truyền theo các kiểu khác nhau, song, chung quy có thể có hai kiểu là chia cắt logic và chia cắt vật lý
Chia cắt logic thường khi các thông điệp bao gồm tập hợp thông tin gắn bó với nhau theo một logic nào đó như bản ghi, tập tin, do đó kích cỡ của thông điệp thường không phải là đại lượng cố định, để truyền các thông điệp này người ta phải
có thêm những thông tin điều khiển như giá trị số chỉ kích cỡ, tín hiệu bắt đầu và kết thúc một thông điệp
Chia cắt vật lý thông thường được phân nhóm nhằm thoả mãn những ràng buộc đường truyền hoặc ràng buộc về mặt lưu trữ Những thông điệp này thường là những gói thông tin có kích cỡ cố định Trước khi phát thông tin vào đường truyền, trạm phát phải chia thông tin thành các gói theo những quy ước chặt chẽ Quá trình này được tiến hành tự động ở các tầng thấp và người sử dụng không thể nhận biết được quá trình đó
2.4 Các đặc trưng của hệ tin học phân tán
Đối tượng nghiên cứu của môn học hệ tin học phân tán là xử lý các vấn đề đặt
ra một cách tương đối chi tiết
Các khía cạnh của hệ tin học phân tán chỉ dừng lại ở các vấn đề cơ bản có tính chất nguyên lý
Trang 9Vấn đề lập trình và thực hiện ứng dụng phân tán mô tả các phương pháp điều khiển thực hiện chương trình phân tán, vấn đề định danh và đặc biệt là vấn đề cấu trúc truy vấn tổng quát trong hệ.
Trình tự và đồng bộ các tiến trình chỉ ra cho ta các vấn đề đồng bộ có thể 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 ra trong hệ
Cung cấp tài nguyên cho thấy được những khó khăn đang gặp phải trong quá trình phân tán dữ liệu và cung cấp các tài nguyên vật lý và logic Trong không gian phân tán ta có thể nắm bắt được ngay lập tức trạng thái tổng quát của việc cung cấp tài nguyên và cũng khó có thể tránh được tình trạng bế tắc diễn ra
Thời hạn truyền thông tin trong hệ không giống nhau Các thông điệp có thể bị mất trong quá trình chuyển tải, các thông điệp có thể truyền kép và hệ thống có thể rơi vào sự cố
Một hay nhiều máy tính cấu thành của hệ phân tán có thể bị sự cố và hoạt động của toàn bộ hệ sẽ trở nên kém hiệu quả
Không có phương pháp xử lý duy nhất cho các vấn đề về độ tin cậy của hệ phân tán, các phương pháp nhằm tăng độ tin cậy chủ yếu nhằm vào các vấn đề chống dư thừa, tái lập cấu hình, phát hiện sự cố,…
Trang 10Chương 2 TÀI NGUYÊN VÀ CHIẾN LƯỢC CUNG CẤP TÀI NGUYÊN
Vấn đề cung cấp tài nguyên được đánh giá như là một trong những lĩnh vực tri thức rất quan trọng vì nó vận dụng thường xuyên trong quá trình triển khai nghiên cứu, khảo sát, phân tích, thiết kế và xây dựng các hệ điều hành nói chung, hệ tin học phân tán nói riêng Trong chương này sẽ tập trung nghiên cứu vấn đề về tài nguyên
và các chiến lược cung cấp tài nguyên cho hệ phân tán
1 Một số khái niệm
1.1 Tài nguyên
Chúng ta định nghĩa tài nguyên như là một đối tượng mà trong đó các quy tắc
sử dụng và chia sẻ được kết hợp với nhau Nói chính xác, đó là những vấn đề quyền truy cập loại trừ hay truy cập chia sẻ, có hạn chế người sử dụng hay không,… Trong đó, tài nguyên truy cập theo kiểu loại trừ chỉ cung cấp cho một giao dịch và tài nguyên truy cập theo kiểu chia sẻ được cung cấp cho một tập hợp bất kỳ các giao dịch Hệ tin học phân tán thực hiện 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 loại tài nguyên vốn có và rất đa dạng của hệ thống như là những tài nguyên dùng chung, nó mang đến cho người sử dụng những tiện ích và đem lại cho hệ những hiệu năng tốt trong khai thác ứng dụng
Chia sẻ tài nguyên có thể hiểu là chia sẻ dữ liệu, chia sẻ máy in, chia sẻ các tập tin, chia sẻ tài liệu, hay chia sẻ những đối tượng nào đó,…
1.2 Giao dịch, thông điệp yêu cầu và bộ cung cấp
Giao dịch là phép toán hợp thành một logic hoàn chỉnh mà việc triển khai nó
có thể dẫn đến thực hiện một tiến trình duy nhất hay nhiều tiến trình được định vị trên các trạm khác nhau Trường hợp dẫn đến thực hiện nhiều tiến trình trên các trạm ở xa là đối tượng mà ta cần quan tâm nghiên cứu Khái niệm giao dịch được sử dụng như là một thực thể sử dụng (ví dụ như người sử dụng các tài nguyên)
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 cung cấp một cách hợp thức bằng cách gửi thông điệp yêu cầu (ta quy
ước gọi các thông điệp yêu cầu là 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ó
Bộ cung cấp có thể áp dụng nhiều kiểu cung cấp khác nhau như tiến trình duy nhất, tập hợp các tiến trình, tập hợp các thủ tục,… Các thông điệp yêu cầu sử dụng tài nguyên cũng có thể có các dạng khác nhau như gọi thủ tục, thông báo, thực hiện các lệnh đặc biệt,…
Trang 111.3 Tải
Thuật ngữ tải là tập hợp các yêu cầu phục tùng các quy tắc của một bộ cung cấp Các tham số đặc trưng cho tải là:
1 Số lượng các yêu cầu được cung cấp tài nguyên
2 Bản chất của các yêu cầu
3 Phân tán theo thời gian các yêu cầu tạo ra nó
Một yêu cầu được thoả mãn bởi bộ cung cấp tài nguyên cho tiến trình đề nghị với điều kiện là yêu cầu đó phải tuân theo các quy tắc nhất định
Có hai điều kiện làm cho tiến trình mất khả năng sử dụng tài nguyên đã được cung cấp trước đó Đó là:
1 Giải phóng Tiến trình phát tín hiệu ngừng sử dụng tài nguyên
2 Thu hồi Sự lấy lại tài nguyên đã được cung cấp cho tiến trình Bộ
cung cấp tài nguyên sẽ tiến hành công việc này
Trong hệ phân tán, hoạt động của một tập hợp các tiến trình trên một tập hợp các tài nguyên dùng chung được xem là tuyệt vời, nếu không xảy ra bế tắc hay thiếu thốn tài nguyên vĩnh viễn
1.4 Bế tắc và vấn đề thiếu tài nguyên vĩnh viễn
Bế tắc (hay còn gọi là khoá tương hỗ) là sự kẹt chéo lẫn nhau có tính chất
sống còn của các tiến trình Bế tắc diễn ra khi hai tiến trình đang sử dụng tài nguyên lại phát yêu cầu về nhu cầu sử dụng tài nguyên mà tiến trình kia còn đang sử dụng
Ví dụ xét đồ thị cung cấp tài nguyên như hình vẽ sau đây:
T4T3
Hình 1: Đồ thị cung cấp tài nguyên bị bế tắc
Theo đồ thị này, ta có bốn tài nguyên T1,T2, T3, T4 và có ba tiến trình nhu cầu tài nguyên là Tr1, Tr2, và Tr3 Cả 3 tiến trình này đang ở tình trạng bế tắc Tiến trình
Tr2 chờ tài nguyên T2 do Tr3 đang chiếm giữ Tiến trình Tr3 chờ tài nguyên T3 được giải phóng bởi Tr1 trạm Tr3 Thêm vào đó, tiến trình Tr1 chờ tiến trình Tr2 giải phóng
T1 Ta có hai chu trình kín trong đồ thị trên là:
Trang 12Thiếu tài nguyên vĩnh viễn là sự chờ đợi bất tận của một tiến trình mà yêu cầu của nó trễ đến mức không thể xác định được Nguyên nhân của hiện tượng vừa nêu
có nhiều, nhưng ta có thể chỉ ra ví dụ thường gặp là do sử dụng luật ưu tiên để cung cấp tài nguyên
2 Các chiến lược cung cấp tài nguyên
Một chiến lược cung cấp tài nguyên tồi cũng có thể là nguồn gốc hủy hoại hiệu năng hoạt động của hệ do các hiện tượng “sốc”, làm tăng các yêu cầu mà không được đáp ứng của một số tài nguyên (ví dụ như sự sụp đổ của hệ đa chương trình) Để tránh hiện tượng đó, bộ cung cấp tài nguyên cần phải bảo đảm chức năng điều khiển
Cung cấp tài nguyên cho chúng ta thấy những khó khăn gặp phải trong quá trình phân tán dữ liệu và cung cấp các tài nguyên vật lý và logic Trong không gian phân tán, ta khó có thể nắm bắt ngay lập tức trạng thái tổng quát của việc cung cấp tài nguyên và khó có thể tránh được tình trạng bế tắc xảy ra Tồn tại nhiều biện pháp khác nhau cho phép khắc phục hiện tượng vừa nêu Bộ cung cấp cần phải phân phối các tài nguyên trên cơ sở tuân thủ các quy tắc sử dụng, tránh xảy ra các
bế tắc và thiếu thốn vô hạn, phân bố tải tương đối đồng đều giữa các tài nguyên cùng loại và giới hạn nhu cầu nhằm duy trì hệ thống hoạt động để dạt hiệu quả cao nhất
Ta có thể chia thành hai phương diện để nghiên cứu:
- Phương diện 1: Phân tán các yêu cầu giữa các tài nguyên tương đương có
khả năng thỏa mãn Chức năng này gọi là phân phối tải Trong hệ thống phân tán ,
nó cần phải tạo điều kiện để tránh tình hình mà ở đó các yêu cầu đợi đến lượt được thoã mãn trên một trạm bị đầy, trong khi đó các tài nguyên tương đương lại rỗi trên các trạm khác
- Phương diện 2: Giới hạn số lượng các yêu cầu được phép cho một số tài
nguyên Việc đó có thể thực hiện bằng cách hạn chế (tĩnh hay động) số các tiến trình hay số các giao dịch được chọn (trúng tuyển) sử dụng toàn bộ hay từng phần tài nguyên Ta gọi trường hợp này là điều khiển tải tổng quát
Tóm lại, Bộ cung cấp cần phải phân phối các tài nguyên trên cơ sở tuân thủ các quy tắc sử dụng, tránh xảy ra bế tắc và thiếu thốn vô hạn, phân bố tải tương đối đồng đều giữa các tài nguyên cùng loại và giới hạn nhu cầu nhằm duy trì hệ thống hoạt động đạt mức hiệu quả nhất định
Chu trình 1: Tr1-T1-Tr2-T2-Tr3-T3-Tr1
Chu trình 2: Tr3-T3-Tr2-T2-Tr3
Trang 132.1 Chiến lược cung cấp tài nguyên duy nhất
Vấn đề cung cấp tài nguyên duy nhất trên một trạm trong hệ phân tán liên quan đến việc phân phối tài nguyên này cho một tập hợp các tiến trình trên cơ sở quy tắc: truy cập loại trừ hay chia sẻ, có hệ số ưu tiên, không được mất,…Các tiến trình có thể đề nghị sử dụng tài nguyên ngay tại trạm và cũng có thể ở các trạm khác từ xa Việc quản lý các truy cập đến một tài nguyên duy nhất có thể được thực hiện theo hai cách:
- Truy cập bằng một tiến trình duy nhất
- Truy cập bằng các tiến trình tương tranh
Truy cập bởi tiến trình duy nhất
Một tiến trình duy nhất hay còn gọi là server được giao nhiệm vụ quản lý tài nguyên Nó xử lý tất cả các yêu cầu truy cập từ các tiến trình và các khách (client)
Sự loại trừ truy cập được bảo đảm bởi tính duy nhất của server Server đồng thời cũng là chương trình đánh thức Chương trình như sau:
Ví dụ: Server quản lý các tập tin hoạt động dựa vào nguyên lý trên trong môi
trường phân tán của Swinchart
Hình 2: Đồ thị truy cập vào tài nguyên bằng server duy nhất
Truy cập tương tranh có điều khiển
Trong trường hợp này, tài nguyên được truy cập bởi nhiều server, thông thường có số lượng không cố định Các server này thực hiện các truy cập tương ứng với các yêu cầu dưới dạng gọi thực hiện các thủ tục Việc thực hiện các thủ tục này được điều khiển bởi cơ chế đảm bảo tôn trọng các quy tắc truy cập
T: Tài nguyênTr: Tiến trình (Khách)
Trang 14Hình 3: Đồ thị truy cập tài nguyên bằng một chương trình trực duy nhất
Các quy tắc này được khởi sự bằng hai cách bởi các tiến trình khách Hình 3
cho thấy việc truy cập được tiến hành bằng một chương trình trực duy nhất
Trong cách thứ hai, việc truy cập được tiến hành trực tiếp với các server và thể
hiện bằng hình 4 sau đây:
S1 Tr1
S2 Tr2
Sn Trn
T
KiÓm tra truy cËp
Hình 4: Truy cập trực tiếp vào các server
Trong hình 3, ta thấy một tiến trình đánh thức D duy nhất sau hàng đợi làm
nhiệm vụ phân phối các yêu cầu cho các server cục bộ Các tiến trình khách không
biết server Ngược lại trong hình 4, các máy server đều được các tiến trình khách
biết trước
Việc triển khai đặc biệt đối với các server có liên quan đến việc phối hợp chúng với các điểm của một mô-đun quản lý các tài nguyên như chương trình monitor chẳng hạn
Hàng đợi các yêu cầu
T: Tài nguyên Tr: Tiến trình (Khách)Si- Server D-Đánh thức