Nhờ sự phát triển của internet nên hệ phân tán đã góp phần rất lớn vào việc quản lý mạng, điều hành mạng, quản lý file, quản lý bộ nhớ và định vị công việc …, bên cạnh cũng có một số vấn đề cần giải quyết trong hệ phân tán đó là: Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp”
Trang 1MỤC LỤC
MỤC LỤC 1
MỞ ĐẦU 3
CHƯƠNG 1: GIỚI THIỆU CHUNG VỀ HỆ PHÂN TÁN 4
1.1 Định nghĩa về hệ phân tán 4
1.2 Mục tiêu và đặc trưng của hệ phân tán 5
1.2.1 Chia sẻ nguồn tài nguyên (Resource Sharing) 5
1.2.2 Tính trong suốt (Transparency) 6
1.2.3 Tính mơ (Openness) 7
1.2.4 Tính co dãn (Scalability) 8
1.2.5 Tính chịu lỗi(Fault Tolerance) 8
1.3 Các kiểu hệ phân tán 8
1.3.1 Các hệ thống tính toán phân tán(Distributed Computing Systems) 8
1.3.2 Các hệ thống thông tin phân tán (Distribbuted Information Systems) 9
1.3.3 Các hệ thống thông tin rộng khắp(Distributed Pervasive Systems) 10
CHƯƠNG 2: TÀI NGUYÊN TRONG HỆ PHÂN TÁN 10
2.1 Các nguồn tài nguyên 11
2.2 Quản trị tài nguyên 12
2.3 Mô hình chia sẻ tài nguyên 12
2.3.1 Mô hình Client/Server 12
2.3.1 Mô hình hướng đối tượng 13
CHƯƠNG 3: VẤN ĐỀ CHIA SẺ TÀI NGUYÊN TRONG HỆ 14
PHÂN TÁN 14
3.1 Tổng quan về chia sẻ tài nguyên 14
3.1.1 Chia sẻ tài nguyên phần cứng 14
3.1.2 Chia sẻ tài nguyên phần mềm và dữ liệu 15
3.2 Các vấn đề cần quan tâm trong quản lý và chia sẻ tài nguyên 16
3.2.2 Truyền thông (Communication) 17
3.2.3 Bảo vệ tài nguyên 19
KẾT LUẬN 20
Trang 2TÀI LIỆU THAM KHẢO 21
Trang 3MỞ ĐẦU
Hiện nay nhiều lĩnh vực khoa học đã phát triển mạnh mẽ và đạt được nhiều thànhtựu to lớn Trong đó có công nghệ thông tin và đặc biệt là internet đã góp phần không ngỏvào sự phát triển của xã hội
Nhờ sự phát triển của internet nên hệ phân tán đã góp phần rất lớn vào việc quản lýmạng, điều hành mạng, quản lý file, quản lý bộ nhớ và định vị công việc …, bên cạnh cũng
có một số vấn đề cần giải quyết trong hệ phân tán đó là:
“Chia sẻ tài nguyên trong hệ phân tán: vấn đề và giải pháp”
Dưới sự hướng dẫn tận tình của TS Hoàng Minh Thức em đã cố gắng hoàn thành
tốt bài tiểu luận này Nhưng trong quá trình thực hiện không tránh khỏi những sai sót,mong thầy góp ý để bài tiểu luận được hoàn thiện hơn
Em xin chân thành cảm ơn!
Trang 4CHƯƠNG 1: GIỚI THIỆU CHUNG VỀ HỆ PHÂN TÁN
Ví dụ tiếp theo là World Wide Web Đó là một mô hình của tài liệu phântán Để tìm thấy tài liệu, người sử dụng chỉ chỉ ra được nội dung mà mình muốn tìmthì toàn bộ tài liệu sẽ suất hiện trên màn hình Bạn chỉ phải đưa ra một cái tên duynhất trong khung URL (Uniform Resource Locator) Người sử dụng luôn biết được làtài liệu mà mình sử dụng có từ nhiều nơi khác nhau và được xử lý bởi các phục vụkhác nhau
Và một số ví dụ khác như:
Hệ điều hành phân tán (Distributed Operationg Systems)
Cơ sở dữ liệu phân tán (Distributed DataBase)
Các hệ thống tính toán phân tán (Distributed Computing Systems)
Các dịch vụ thông tin trên mạng Internet như E-mail, Web-basedService,
Trang 51.2. Mục tiêu và đặc trưng của hệ phân tán
1.2.1 Chia sẻ nguồn tài nguyên (Resource Sharing)
Là một đặc tính cơ bản của hệ thống phân tán, nó là cơ sở cho những đặctính khác và nó ảnh hướng đến những kiến trúc phần mềm có sẵn trong các hệ phântán Trong hệ phân tán, tập tài nguyên chung là hữu hạn, số lượng các tiến trình cầnchia sẻ tuy cũng là hữu hạn nhưng có thể rất lớn và phân tán trên nhiều trạm, vì thế
cơ chế quản lý và chia sẻ tài nguyên trông hệ phân tán là rất phức tạp và khó khănhơn nhiều so với hệ tập trung
Các nguồn tài nguyên để chia sẻ có thể là phần cứng như ổ đĩa, máy in vàcác thiết bị ngoại vi khác, cũng có thể là phần mềm như hệ thống tập tin, cơ sở dữliệu, các đối tượng dữ liệu … Các thiết bị phần cứng như máy in, ổ đĩa cứng dunglượng lớn và những thiết bị khác được chia sẻ để thuận tiện trong việc sử dụng vàgiảm chi phí
Việc chia sẻ dữ liệu là một yêu cầu cần thiết trong nhiều ứng dụng máy tính,các nguồn tài nguyên của một máy tính đa người sử dụng thông thường được chia
sẻ cho mọi người sử dụng Những nguồn tài nguyên trong một hệ phân tán được góigọn trong các máy tính và chỉ có thể truy nhập từ những máy tính khác bằng cáchliên lạc
Để việc chia sẻ hiệu quả, mỗi tài nguyên phải được quản lý bằng mộtchương trình, cung cấp một giao diện truyền thông cho phép tài nguyên được điềukhiển truy cập và cập nhật một cách tin cậy và đồng nhất
Ta có thể tiếp cận phương thức chia sẻ tài nguyên trên hai mô hình đặctrưng của hệ phân tán, đó là mô hình khách/chủ (Client/Server model) và mô hìnhhướng đối tượng (Object based model)
a Mô hình Client/Server
Trong mô hình Client/Server, có thể có một hay nhiều máy server, mỗimáy server đóng vai trò như một bộ quản lý tài nguyên (resourcemanager) đối với tập hợp các tài nguyên và các tiến trình của máy trạm.Việc thực hiện các vụ đòi hỏi phải có thể truy cập đến các tài nguyênphần cứng và phần mềm trong hê thống Trong mô hình khách chủ, tất
cả các tài nguyên dùng chung đều được nắm giữ và quản lý bởi cácserver Khi máy client có nhu cầu sử dụng tài nguyên, nó sẽ gửi yêu cầulên máy server, nếu yêu cầu được chấp thuận, máy server sẽ thực hiệnyêu cầu và gửi trả lời đến máy trạm
Mô hình client/server rất có hiệu quả trong hệ thống hiện hành vớinhững dịch vụ quản lý được rất nhiều kiểu của những nguồn tài nguyêndùng chung như: thư điện tử, tin nhắn, file, đồng hồ đồng bộ trong mạngdiện rộng, đĩa lưu trữ, máy in, truyền thông trên diện rộng và thậm chíhiển thị trong những không gian cửa sổ trên màn hình của từng máymạng Nhưng nó không thể hữu dụng cho tất cả những nguồn tài nguyên
Trang 6tồn tại trong một hệ phân tán được quản trị và chia sẻ theo cách này; vớinhững nguồn tài nguyên còn lại của máy tính như: RAM, bộ vi xử lýtrung tâm và giao diện mạng cục bộ thường có hiệu quả sử dụng tàinguyên rất thấp Những nguồn tài nguyên cơ bản này được quản trị riêngbiệt bởi một hệ điều hành trên mỗi máy tính, chúng có thể được chia sẻchỉ giữa các tiến trình định vị trên cùng một máy tính.
b Mô hình hướng đối tượng
Hệ thống hướng đối tượng có thể cung cấp nhiều mô hình phức tạp hơncho việc quản lý chia sẻ các nguồn tài nguyên Mỗi tài nguyên được xemnhư là một đối tượng, đối tượng này được định danh duy nhất trong toàn
bộ hệ thống Đối tượng có thể di động trên mạng mà không cần thay đổidịnh danh Nếu một tiến trình cần sử dụng tài nguyên, nó sẽ gửi bản tinyêu cầu tài nguyên đến đối tượng tương ứng và có chương trình điềuphối tương ứng sẽ tập hợp các yêu cầu này, xử lý yêu cầu và trả lời chotiến trình
Không như mô hình client/server, mô hình hướng đối tượng thực thi
cả việc truy cập tài nguyên người sử dụng và tài nguyên người quản trị.Trong mô hình client/server bản đồ tên được sử dụng cho những nguồntài nguyên phụ thuộc vào dịch vụ quản trị chúng Nhưng trong mô hìnhhướng đối tượng những nguồn tài nguyên người sử dụng có thể đượcxem như là tất cả những nguồn tài nguyên cùng loại
Chúng ta có thể sử dụng thuật ngữ quản trị đối tượng là một tập hợpcủa những thủ tục và những giá trị dữ liệu đặc trưng cho một lớp đốitượng
Trong quá trình hoạt động của mô hình hướng đối tượng phát sinhmột vài vấn đề khó khăn Yêu cầu một đối tượng quản trị của một kiểuliên quan phải được định vị bất cứ khi nào một đối tượng trong đó đượcđịnh vị, vì những đối tượng nằm trong một trạng thái biểu diễn củachúng và người quản trị phải được định vị liên hợp với một đối tượngđược sắp xếp truy cập trong trạng thái của chúng Điều này dễ hiểu khinhững đối tượng không thể di chuyển và vài hệ phân tán được thiết kế
để hỗ trợ những đối tượng địa chỉ đồng nhất được tạo ra
1.2.2 Tính trong suốt (Transparency)
Tính trong suốt được định nghĩa như sự che giấu với người dùng cuối và người lập trình ứng dụng sự rời rạc có thể có của hệ thống Nhờ đó hệ thống phân tán được xem như một mạng tích hợp các thành phần, sự phân tán về tài nguyên được che giấu đối với người dùng
ISO định nghĩa 8 mô hình trong suốt – Mô hình tham chiếu cho việc xử lý phân tán mở:
Trang 7a Trong suốt truy cập (Access Transparency)
Cố gắng che dấu sự khác biệt về cách biểu diễn và cách truy cập tài nguyên Ví
dụ như trong quá trình giao tiếp giữa hai máy Intel và Sun, hai máy tuân theohai chuẩn biểu diễn dữ liệu khác nhau: Intel là little-endian còn Sun là big-endian, nhưng nhiệm vụ của hệ phân tán là phải che giấu đi sự khác biệt này đểngười dùng không phát hiện ra
b Trong suốt định vị (Location Transparency)
Cố gắng che dấu vị trí của tài nguyên Ví dụ như cách đặt tên chỉ ra vị trí logiccòn che dấu đi vị trí vật lý đặt trên server
c Trong suốt tương tranh (Concurrency Transparency)
Một mục tiêu quan trọng của hệ phân tán là chia sẻ tài nguyên Như vậy mộtđiều tất yếu là sẽ xảy ra tương tranh trong sử dụng Tương tranh là hiện tượngnhiều người dùng cùng truy cập tới những file của họ trên cùng một server Vìthế, trong suốt tương tranh là che dấu được việc xây ra tương tranh, che dấuđược việc chia sẻ tài nguyên
d Trong suốt nhân bản (Replication Transparency)
Trong hệ phân tán, một dữ liệu gốc phải được sao chép ra nhiều bản sao nhằmtăng tính sẵn sàng hoặc tăng hiệu năng của hệ thống Trong suốt về nhân bản lànhằm che dấu người sử dụng về việc sử dụng các bản sao Để đảm bảo việc nàythì tất cả các bản sao đều phải có cùng một tên Chính vì vậy, hệ thống hỗ trợtrong suốt nhân bản thì cũng đồng thời tron suốt về vị trí
e Trong suốt lỗi (Fault Transparency)
Là che dấu người dùng khi hệ thống bị lỗi và có khả năng phục hồi từ trạng tháilỗi đó
f Trong suốt di trú (Migration Transparency)
Là che dấu khả di chuyển của tài nguyên Tài nguyên có thể được di chuyểnkhắp nơi trên hệ phân tán nhưng không làm ảnh hưởng đến việc truy cập củasever Người dùng đang truy cập có thể đi từ nơi này sang nơi khác mà khôngảnh hưởng đến việc truy cập tài nguyên
g Trong suốt định vị lại (Relocation Transparency)
Là cố gắng che dấu một tài nguyên mà có thể được chuyển sang vị trí kháctrong khi tài nguyên đó đang được sử dụng
Trang 8Language( IDL) Hay nói cách khác, các dịch vụ được cụ thể hoá, chúng được đặc
tả bởi tên các hàm, các biến, các giá trị trả về,… Chỉ cần các gia diện được đặc tảđầy đủ, đúng đắn thì các dịch vụ khác nhau có thể cùng hoạt động trong hệ phân tán Hai thành phần của hệ thống từ những máy khác nhau có thể cùng tồn tại và làmviệc với nhau đơn thuần là chỉ nhờ thông qua các chuyển thông thường gọi là liêntác(Interoperability) Còn thuật ngữ chuyển mạng( Portability) là nhằm chỉ đến việcmột ứng dụng được thiết kế cho hệ phân tán A có thể thực thi trên hệ phân tán B màkhông cần phải sửa đổi gì, chỉ cần trên B cũng có các giao diện giống trên A
1.2.5 Tính chịu lỗi(Fault Tolerance)
Các hệ thống thỉnh thoảng xảy ra lỗi, vì thế phải thiết kế để cho hệ thống vẫnhoạt động, các tiến trình không bị ngắt khi có lỗi xảy ra Có hai giải pháp:
- Tăng cường tài nguyên phần cứng (Hardware Redundancy)
- Phần mềm hệ phân tán: xây dựng phần mềm có thể bỏ qua lỗi khi gặp phải để hệthống vẫn hoạt động, tuy nhiên phải có chức năng phục hồi lỗi để khắc phục lỗi
1.3. Các kiểu hệ phân tán
Dưới đây ta sẽ nói về các kiểu khác nhau của hệ phân tán Chúng ta sẽ phân biệtgiữa các hệ thống tính toán phân tán, các hệ thống thông tin phân tán và các hệ thốngnhúng phân tán
1.3.1 Các hệ thống tính toán phân tán(Distributed Computing Systems)
Một lớp quan trọng nữa của hệ phân tán là nó được dùng cho công việc tínhtoán có hiệu năng cao (high-performance computing tasks) Để đáp ứng cho côngviệc trên ta có hai kỹ thuật hệ thống tính toán là: Cluster Computing Systems vàGrid Computing Systems
Cluster Computing Systems
Là một hệ thống tính toán có hiệu năng cao chỉ thuộc một tổ chức nào đó.Trong hệ thống này nhiều máy tính được ghép với nhau thành một hệ thốngthuần nhất dựa trên kết nối mạng tốc độ cao để xử lý tính toán song song
Trang 9 Grid Computing Systems
Là các hệ thống tính toán thuộc nhiều tổ chức khác nhau Các dữ liệu đơn vịcủa các tổ chức khác nhau được nhóm với lại với nhau thành một tổ chức,gọi là tổ chức ảo Hệ thống này là hệ thống không thuần nhất
1.3.2 Các hệ thống thông tin phân tán (Distribbuted Information Systems)
Dưới đây chúng ta sẽ quam tâm đến hai dạng quan trong của hệ phân tán:
Phần này ta quam tâm đến các ứng dụng cơ sở dữ liệu Các hoạt động trên
cơ sở dữ liệu thường được mảng đến dưới dạng transactions (các giao tác).Khi lập trình có sử dụng đến các transactions thì yêu cầu phải có cáctransaction nguyên thủy Transaction có 4 tính chất cụ thể như sau:
Atomic: transaction không thể chia nhỏ được nữa.
Consistent: transaction không được vi phạm các hệ thông bất biến.
Isolated: transacton song song không được giao tiếp với nhau.
Durable: mỗi khi một transaction cảm kết thì sự thay đổ là thương xuyên.
Nhiều ứng dụng cơ sở dữ liệu là không ghép với cơ sở dữ liệu Vậy cần phảitích hợp các ứng dụng một cách độc lập từ cơ sở dữ liệu của nó Và cácthành phần của ứng dụng có thể truyền thông trức tiếp với nhau, không nhưcách request/reply trong kỹ thuật transaction processing systems Vì nhu cầucần truyền thông giữa các ứng dụng thì dẫn đến nhiều mô hình truyền thôngcần phải tồn tại.Ý tưởng chính là các ứng dụng có thể trào đổi thông tin mộtchức tiếp
Trang 10Trong trường hợp này đã tồn tại nhiều kiểu communication middlewarechẳng hạn như: mô hình RPC (Remote Procedure Calls), RMI (RemoteMethod Invocations), và MOM (Message-Oriented Middleware)
1.3.3 Các hệ thống phân tán rộng khắp (Distributed Pervasive Systems)
Mặc dù tính ổn định chặn chẽ của hệ phân tán mà ta thu được qua các đặc điểm như transparency, nhưng nó trở thành vấn đề khác đối với thiết bị có cấu hình phần ứng thấp như các thiết bị nhỏ chạy trên pin, các thiết bị di động, PDA, chỉ có thể kết nối bằng mạng không giấy Các thiết bị như thế có thể xếp loại trong hệ thống phân tán rộng khắp (Distributed Pervasive Systems)
Ví dụ:
Nhà thông minh (Home Systems)
Các hệ thống chăm sóc sức khỏe (Electronic Health Care Systems)
Mạng cảm ứng (Sensor Network)
CHƯƠNG 2: TÀI NGUYÊN TRONG HỆ PHÂN TÁN
Trang 112.1 Các nguồn tài nguyên
Tài nguyên là một thành phần quan trọng trong bất kỳ một hệ thống nào.Trong hệ phân tán tài nguyên càng chiếm một vị trí quan trọng Đặc biệt việc chia sẻ tàinguyên là một đặc tính cơ bản của các hệ thống phân tán
Các nguồn tài nguyên có thể là các thiết bị phần cứng như: các ổ đĩa, máy in, máyfax , các thực thể phần mềm như: Các tập tin, windows, cơ sở dữ liệu và các đối tượng dữliệu khác
Người sử dụng hệ thống máy tính tập trung và phân tán đều đã quen thuộc với lợi ích củaviệc chia sẻ tài nguyên mà họ có thể dễ dàng bỏ qua, không thấy được tầm quan trọng củaviệc chia sẻ tài nguyên Lợi ích của việc truy cập được chia sẻ vào hệ thống lưu trữ đơngiản bao gồm cơ sở dữ liệu, chương trình, tư liệu và những thông tin khác đã được thừanhận đầu tiên trong hệ thống đa người dùng, hoặc hệ thống chia sẻ thời gian ở đầu thập kỷ
60, và hệ thống UNIX đa người dùng vào những năm 1970
Thiết bị phần cứng như: máy in, các ổ đĩa và thiết bị ngoại vi khác được chia sẻ đểthuận tiện trong việc sử dụng và giảm giá thành
Chia sẻ dữ liệu là một nhu cầu cần thiết trong rất nhiều ứng dụng của máy tính.Người phát triển phần mềm làm việc theo nhóm, có thể cần truy nhập đến mỗi trạmlàm việc khác và có thể chia sẻ những công cụ phát triển, yêu cầu duy nhất một phiên bảnđơn của bộ biên dịch, trình soạn thảo, thư viện thủ tục và trình gỡ rối Bất cứ khi nào mộtcông cụ phát triển mới hoặc một phiên bản mới của trình biên dịch được cài đặt, tất cả mọingười sử dụng ngay lập tức truy cập được
Rất nhiều những ứng dụng thương mại cho phép người sử dụng truy cập vào nhữngđối tượng dữ liệu dùng chung trong cơ sở dữ liệu đơn hiện hành
Một miền mở rộng với tốc độ cao của các ứng dụng cho các mạng, và các hệ phântán được sử dụng cho các máy tính hỗ trợ người dùng làm việc theo nhóm trong các dự ánhợp tác, ban quản trị, hướng dẫn từ xa và rất nhiều những tác vụ khác Máy tính được hỗtrợ làm việc hợp tác (CSCW, luôn được biết đến như một phần mềm nhóm) phụ thuộc rấtnhiều vào sự chia sẻ của các đối tượng dữ liệu giữa các chương trình chạy trên những trạmlàm việc khác nhau
Nguồn tài nguyên của những máy tính đa người dùng thông thường chia sẻ cho tất
cả người sử dụng, nhưng người sử dụng của những trạm làm việc đơn, người sử dụng trongmạng và những máy tính cá nhân thì không thu được lợi ích gì trong việc chia sẻ tàinguyên này