Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
307,5 KB
Nội dung
Cácchiếnlượccungcấptàinguyên Trang 1 BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG TIỂU LUẬN HỆ TIN HỌC PHÂN TÁN Đề tài: CHIẾNLƯỢCCUNGCẤPTÀINGUYÊN Giáo viên hướng dẫn : PGS.TS LÊ VĂN SƠN Học viên : ĐẶNG NGỌC THẮNG Chuyên ngành : Khoa Học Máy Tính Đà Nẵng - Năm 2012 Cácchiếnlượccungcấptàinguyên Trang 2 LỜI MỞ ĐẦU Hiện nay, ngành công nghệ thông tin phát triển vô cùng mạnh mẽ. Con người có thể giao tiếp với nhau và chia sẻ thông tin dữ liệu dù ở khoảng cách rất xa. Nhiều thành tựu mới ra đời, trong đó phải kể đến các phần mềm tăng khả năng điều hành, khai thác hiệu quả cáctàinguyên của hệ thống tin học. Đặc biệt, các nhà nghiên cứu và các lập trình viên chuyên nghiệp rất quan tâm đến việc nghiên cứu và ứng dụng hệ thống tin học phân tán. Nội dung chủ yếu trình bày trong tiểu luận này là Cácchiếnlượccungcấptài nguyên. Tôi xin chân thành cảm ơn PGS.TS Lê Văn Sơn và các bạn lớp Khoa học máy tính khoá 2011 – 2013 Đại học Đà Nẵng đã giúp tôi hoàn thành tiểu luận này. Cácchiếnlượccungcấptàinguyên Trang 3 PHẦN I: LÝ THUYẾT PHẦN I: LÝ THUYẾT CHƯƠNG I CHƯƠNG I CÁC KHÁI NIỆM VỀ HỆ TIN HỌC PHÂN TÁN CÁC KHÁI NIỆM VỀ HỆ TIN HỌC PHÂN TÁN I.1 Hệ tin học phân tán. I.1 Hệ tin học phân tán. Hệ tin học phân tán là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc các bộ xử lý nằm ở xa tạicá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ự thống nhất của hệ điều hành. Hệ tin học phân tán là hệ thống không chia sẻ bộ nhớ và đồng hồ. Trong hệ tin học phân tán, các tính toán có thể được tính trên nhiều bộ xử lý hay trên vi xử lý của hệ thống đa bộ xử lý. Như vậy hệ thống hệ 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 qua các hệ thống đường truyền khác nhau như là cáp chuyên dụng, bus trao đổi, đường điện thoại, cáp quang . Khác với hệ thống máy đơn, mạng máy tính là tập hợp các thiết bị đầu cuối được kết nối với nhau thông qua hệ thống đường truyền. Các thiết bị đầu cuối của 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ị tiếp 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ệ thống tin học này có thể là hệ tập trung hoặc hệ phân tán. Căn cứ vào các thành phần của hệ tin học, ta nhận thấy hệ tin học có thể bao gồm bốn thực thể sau: Trong hệ tin học phân tán, 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ác nhau. Chúng có thể là các bộ xử lý, các trạm làm làm việc, các máy tính tập trung và các máy tính điện tử vạn năng lớn. Chúng được gọi bằng các tên khác nhau như trạm, node . căn cứ vào ngữ cảnh mà ở đó nó được nêu ra. Các hệ thống phần mềm Hệ thống dữ liệu Tập hợp 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. Cácchiếnlượccungcấptàinguyên Trang 4 Ngoài hệ thống phần cứng, phần mềm, dữ liệu thì hệ phân tán còn có hệ thống truyền thông được mô tả như ở trên. Song đ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 là và hệ điều hành mạng chính là nguyên tắc xây dựng hệ. I.2 Nguyên tắc xây dựng hệ phân tán. I.2 Nguyên tắc xây dựng hệ phân tán. STT Tên gọi Thuyết minh 1. Chia sẻ tàinguyên Thực tế phát triển mạng máy tính đặt ra một vấn đề lớn là cần phải dùng chung tài nguyên. Một tiến trình trên một trạm nào đó có thể cungcấptàinguyên dùng chung ở một trạm khác. 2. Liên lạc Khi các hệ thống đã được mắc nối với nhau, các thực thể trong hệ có thể trao đổi thông tin với nhau. 3. Tin cậy Một trạm trong hệ bị sự cố không làm cho toàn hệ ảnh hưởng, mà ngược lại, công việc đó được phân cho các trạm khác đảm nhận. Ngoài ra, trạm bị sự cố có thể tự động phục hồi lại trạng thái ban đầu trước khi có sự cố hay trạng thái ban đầu của 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 các 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á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ử . I.3 Các vấn đề hệ điều hành mạng máy tính. I.3 Các vấn đề hệ điều hành mạng máy tính. Liên lạc là thuật ngữ được sử dụng chỉ những tác vụ trao đổi thông tin giữa các thực thể thuộc hệ thống, trong đó có một thực thể gửi (trạm phát) và một thực thể nhận (trạm nhận). Thông tin trong quá trình gửi và nhận được gọi là thông điệp. Trong các cấu trúc tập trung, ta có hệ thống trung tâm đủ mạnh cho phép lưu trữ toàn bộ thông tin và người sử dụng truy cập vào đó để xử lý thông tin của mình. Tuy nhiên với sự phát triển nhanh chóng như hiện nay và đặc biệt là sự gia tăng nhanh chóng số lượng người sử dụng thì giải pháp như trên không còn phù hợp nữa. Giải pháp mới cho vấn đề này là mỗi một người sử dụng được kết hợp với một trạm đặc biệt, trên đó những thông tin đến họ được lưu trữ. Những trạm đặc biệt có thể coi là các máy chủ và mỗi một máy chủ có thể quản lý một tập hợp các người sử dụng có cùng chung đặc tính nào đó. Mạng máy tính có thể Cácchiếnlượccungcấptàinguyên Trang 5 xem như là tập các máy chủ được kết nối lại với nhau và luôn luôn ở trạng thái sẵn sàng nhận và phát thông tin. Trên máy chủ gắn liền với người sử dụng, người ta thành lập hệ thống tra cứu địa chỉ của mạng và hệ thống này phải luôn luôn được làm tươi để đảm bảo thông tin chứa trong nó phản ánh đúng trạng thái thực của hệ. Khi người sử dụng gửi thông điệp cho người khác ở xa, máy chủ nguồn nơi thông điệp xuất phát phải tra cứu vào đây để xác định hướng của luồng thông tin đến máy chủ đích, máy của thông điệp đến. Hệ thống hoạt động như vậy gọi là hệ phân tán Nhược điểm lớn nhất của hệ này là khi một máy chủ bị sự cố dẫn đến không thể tra cứu thông tin cho các người sử dụng gắn liền với nó. Để khắc phục điều này người ta phân tán các hệ thống tra cứu trên các máy chủ. Các hệ thống thông tin phân tán dùng cho việc tra cứu trên các máy chủ phải giống nhau hoàn toàn. Trong hệ phân tán, thời hạn truyền một thông điệp là hiệu số giữa thời điểm nhận và thời điểm truyền. Ta giả sử rằng: thời hạn này đủ lớn để so sánh với hệ tập trung, là một đại lượng biến thiên, và thời hạn đó ở cặp máy này khác với cặp máy khác. Từ đó ta có các hệ quả như sau: Hệ quả 1: Ở một thời điểm cho trước, một bộ xử lý đang thực hiện ở một trạm chỉ biết được trạng thái gần đúng của các máy khác. Hệ quả này cho ta biết là trong mạng không tồn tại đồng hồ chung. Hệ quả 2: Trật tự nhận các thông điệp trên máy nhận có thể không giống trật tự phát của chính thông điệp đó. Các máy trên trạm có thể bị sự cố và các thông điệp có thể mất. Giải pháp cho vấn đề này là đánh số tất cả các gói tin gửi đi kèm theo số đó cho máy nhận. Hệ quả 3: Hai máy giống nhau chứa thông tin hoàn toàn giống nhau lại không bao giờ giống nhau về trạng thái. I.4 Các đặc tính tổng quát của hệ tin học phân tán. I.4 Các đặc tính tổng quát của hệ tin học phân tán. Thời gian truyền thông tin là một biến với giá trị khác nhau, giá trị này có thể rất lớn. Tần số xuất hiện sự cố trong mạng là rất lớn. Việc cungcấptài nguyên, kích hoạt các tiến trình trong mạng không thể thực hiện bởi một thiết bị duy nhất mà chức năng này phải được phân tán trên nhiều máy trên mạng. Qua định nghĩa về hệ phân tán, ta có thể xem hệ phân tán như là một tập hợp bao gồm các bộ xử lý hoặc vi xử lý với bộ nhớ và đồng hồ nhịp độc lập. Điều này đồng nghĩa với việc các bộ xử lý không sử dụng chung đồng hồ và bộ nhớ. Như vậy mỗi một hệ xử lý thông tin thành phần của hệ phân tán bao gồm một hay nhiều bộ xử lý và bộ nhớ cục bộ. 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 mà nó phải đảm nhận. Cácchiếnlượccungcấptàinguyên Trang 6 Thành phần của hệ của hệ tin học phân tán có thể phản ảnh như sau: 1. Bộ xử lý dùng chung cho máy tính lớn hoặc trung. 2. Bộ vi xử lý. 3. Bộ xử lý hay vi xử lý với các bộ nhớ chính. 4. Bộ xử lý hay vi xử lý với các bộ nhớ chính và kèm theo một vài bộ nhớ truy cập nhanh. 5. Máy lớn, trung hay vi tính với điều kiện không sử dụng chung đồng hồ. 6. Trạm làm việc của mạng máy tính. 7. Thiết bị đầu cuối của mạng. 8. Các hệ thống tin học đóng vai trò nút trung chuyển. 9. Các mạng cục bộ hoạt động trong mạng lớn. 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 cungcấp cho người sử dụng khả năng truy cập có kết quả đến cáctàinguyên vốn có và rất đa dạng của hệ thống như tàinguyên dùng chung. Việc định nghĩa cáctàinguyên của hệ như tàinguyên dùng chung sẽ mang đến cho hệ những hiệu năng tốt trong khai thác ứng dụng. Các ưu điểm của tàinguyên dùng chung trong hệ phân tán so với hệ tập trung: 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 hoá 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. Đ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ộ hoá 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. 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ông việc của hệ thống cục bộ như kiểm tra quyền truy cập thông tin, lập hoá đơn dịch vụ. 3. Gửi kết quả cho hệ thống đã phát yêu cầu. Cácchiếnlượccungcấptàinguyên Trang 7 CHƯƠNG II CHƯƠNG II CÁCCHIẾNLƯỢCCUNGCẤPTÀINGUYÊNCÁCCHIẾNLƯỢCCUNGCẤPTÀINGUYÊN TRONG HỆ PHÂN TÁN TRONG HỆ PHÂN TÁN II.1 Một số khái niệm. II.1 Một số khái niệm. Thông thường vấn đề cungcấptàinguyê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. Thực hiện các tiến trình của một số ứng dụng phân tán đòi hỏi phải có các đối tượng khác nhau như bộ xử lý bộ nhớ, thiết bị ngoại vi, các tập tin, .cũng như quyền được truy cập theo kiểu loại trừ tương hỗ đến các thông tin, quyền được sử dụng các hàm, thủ tục, chương trình. Chúng ta định nghĩa tàinguyê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ế số lượng NSD hay không . Trong hệ phân tán, người ta hay sử dụng khái niệm giao dịch như là thực thể sử dụng, ví dụ như người sử dụng cáctàinguyên chẳng hạn. 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. Một tiến trình nào đó cần sử dụng tàinguyên để phát triển công việc của mình, phải yêu cầu bộ cungcấp một cách hợp thức bằng cách gửi thông điệp yêu cầu. Như thế, một tiến trình có nhu cầu tàinguyên sẽ bi treo chừng nào tàinguyên đó còn chưa được giải phóng hay chưa đuợc cungcấp cho nó. Bộ cungcấp có thể áp dụng nhiều kiểu cungcấ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àinguyêncũ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 . Thuật ngữ tải là một 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ó 3 tham số đặc trưng cho tải là: 1. Số lượng được cungcấpcác yêu cầu 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ộ cungcấptàinguyên cho tiến trình đề nghị với điều kiện là yêu cầu đó phải tuân thủ cácnguyên 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àinguyên đã được cungcấ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. Cácchiếnlượccungcấptàinguyên Trang 8 2.Thu hồi: Sự lấy lại tàinguyên đã được cungcấp cho tiến trình. Bộ cungcấptàinguyên sẽ tiến hành công việc này. Trong hệ, 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áctàinguyên dùng chung được xem là tuyệt vời, nếu không để xảy ra bế tắc và thiếu thốn tàinguyê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 hai tàinguyên lại phát yêu cầu về nhu cầu sử dụng tàinguyên mà tiến trình kia còn đang sử dụng. Hình dưới đây cho phép chúng ta hình dung vấn đề một cách rõ ràng hơn. Theo hình vẽ này, ta có bốn tàinguyên T 1 ,T 2 ,T 3 ,T 4 và có ba tiến trình nhu cầu tàinguyên Tr 1 ,Tr 2 ,Tr 3 . Cả ba tiến trình này đang ở trong tình trạng bế tắc. Tiến trình Tr 2 chờ tàinguyên T 3 do Tr 3 đang chiếm giữ. Tiến trình Tr 3 chờ tàinguyên T 2 được giải phóng bởi Tr 1 và Tr 3 . Thêm vào đó, tiến trình Tr 1 chờ tiến trình Tr 2 giải phóng T 1 . Lúc này, ta thấy có hai chu trình kín trong đồ thị là: Tr 1 - T 1 - Tr 2 - T 3 - T 2 - Tr 1 và Tr 3 - T 2 - Tr 2 - Tr 3 - Tr 3 Thiếu tàinguyê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à sử dụng luật ưu tiên để cungcấptài nguyên. Một chiếnlượccungcấptàinguyên tồi cũng có thể là nguồn gốc huỷ 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 các hiên tượng đó, bộ cungcấptàinguyên cần phải đảm bảo chức năng điều khiển. Có thể thực hiện theo hai phương pháp sau: T T 3 3 T T 1 1 T T 2 2 T T 4 4 Tr2Tr1 Tr3 Hình 2 Đồ thị cungcấptàinguyên bị bế tắc Cácchiếnlượccungcấptàinguyên Trang 9 1. Phân tán các yêu cầu giữa cáctàinguyên tương đương có khả năng thoả mãn. Chức năng này gọi là phân phối tải. Trong hệ phân tán,nó cần 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áctàinguyên tương đương lại rỗi rãi trên các trạm khác. 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ộ cungcấp cần phải phân phối cáctàinguyê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áctàinguyêncùng loại (cùng có thể thoả mãn) 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. Mục đích của chương trình này là phân tích các vấn đề mới phát sinh chỉ trong các hệ phân tán và giới thiệu các giải thuật hoạt động trong môi trường phân tán. II.2 Cungcấptàinguyên duy nhất. II.2 Cungcấptàinguyên duy nhất. Vấn đề cungcấptàinguyê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àinguyên này cho một tập hợp các tiến trình trên cơ sở qui 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àinguyên ngay tại trạm có tàinguyên mà 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àinguyê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. II.2.1 Truy cập bởi server duy nhất II.2.1 Truy cập bởi server 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àinguyên và 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 có thể viết như sau: Vòng lặp M:= Cho_thong_diep(nil) { Treo } < Chương trình xử lý các yêu cầu và gửi kết quả > Kết thúc vòng lặp. Do vậy sơ đồ này loại bỏ tất cả các đặc tính song song để truy cập vào tài nguyên. Tiến trình server có thể được lập trình để triển khai toàn bộ chiếnlược liên quan đến loại trừ tương hỗ của các yêu cầu (độ ưu tiên, quyền truy cậptài nguyên). Cácchiếnlượccungcấptàinguyên Trang 10 II.2.2 Truy cập tương tranh có điều khiển. II.2.2 Truy cập tương tranh có điều khiển. Trong trường hợp này tàinguyê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 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. 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 vẽ 3 cho thấy được tiến hành bằng một chương trình trực duy nhất. Tiến trình đánh thức duy nhất D đứng sau hàng đợi làm nhiệm vụ phân phối yêu cầu cho các server cục bộ. Các tiến trình khách không biết server. Trong hình 4 việc truy cập được tiến hành trực tiếp với các server. Vì vậy các server đều đượ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 vào một môđun quản lý tàinguyên như chương trình monitor trong các hệ điều hành. Tr 1 Tr 2 Tr n D S1 S2 Sn T Hàng đợi các yêu cầu T: Tàinguyên Tr: Tiến trình Si: Server D Đánh thức Hình 3 Đồ thị truy cập vào tàinguyên bằng một chương trình trực duy nhất S1 S2 Sn T Hình 4 Đồ thị truy cập trực tiếp vào các server Tr2 Trn Tr1