chương_1-giới thiệu
1.1. Định nghĩa hệ phân tán
Liên quan đến khái niệm hệ phân tán, có khá nhiều định nghĩa được đưa ra. Trong số đó, ba định nghĩa về hệ phân tán dưới đây là hay được nhắc tới nhất:
Định nghĩa 1: Hệ phân tán là một hệ máy tính độc lập giao tiếp với người dùng như một hệ thống thống nhất và toàn vẹn.
Định nghĩa 2: Hệ phân tán là một tập các máy tính tự trị được kết nối với nhau qua một mạng máy tính và được cài đặt phần mềm hệ phân tán.
Định nghĩa 3: Hệ phân tán là một hệ thống có chức năng và dữ liệu được phân tán trên các trạm (máy tính) khác nhau, chúng được kết nối với nhau thông qua một mạng máy tính.
Trong ba định nghĩa trên thì định nghĩa một được xuất phát từ quan điểm người dùng còn định nghĩa hai và định nghĩa ba được xuất phát từ quan điểm kỹ thuật.
Dù xuất phát từ quan quan điểm nào đi nữa, các định nghĩa trên đây đều ngầm chỉ ra rằng hai thành phần quan trọng nhất của hệ phân tán chính là hệ thống máy tính và phần mềm phân tán. Như vậy, chúng ta có công thức tượng trưng sau đây : DS ≡ ComputerNetwork + DistributedSoftware
Việc hình dung ra khái niệm hệ phân tán mà chỉ dựa vào một định nghĩa lý thuyết như trên quả thật là rất khó khăn. Sau đây là một số ví dụ điển hình về hệ phân tán để minh họa cho định nghĩa trên:
·Tập hợp các Web server: cơ sở dữ liệu phân tán của các siêu văn bản và các tài liệu đa phương tiện.
·Hệ thống file phân tán trên một mạng LAN
·Hệ thống phân giải tên miền DNS
1.2. Phân loại hệ phân tán
Hình 1.1: Phân loại hệ phân tán
1.2.1. Hệ thống phân tán tính toán (Distributed Computing System)
Là hệ thống giải quyết các nhiệm vụ tính toán hiệu năng cao, các hệ thống có khối lượng tính toán lớn. Từ một nhiệm vụ lớn ta lại phân chia thành các nhiệm vụ nhỏ hơn, thành các hệ thống tính toán song song
1.2.1.1. Cluster computer system:
Hệ thống tính toán phân cụm. Hệ thống được ghép thành các cụm máy tính giống nhau, mỗi cụm được kết nối với nhau thông qua một mạng tốc độ cao
·Nó trở nên phổ biến khi tỉ lệ hiệu năng/giá của các máy tính cá nhân và máy trạm được cải thiện.
·Được sử dụng cho tính toán song song, nơi mà một chương trình được chạy song song trên nhiều máy
Hình 1.2: Hệ thống máy tính phân cụm
1.2.1.2. Grid computer system:
Hệ thống tính toán lưới. Các máy tính trong hệ thống không cần phải giống nhau về platform. Nó giúp chúng ta khai thác hiệu quả hơn các tài nguyên nhàn rỗi.
Tài nguyêntừ nhiều tổ chức khác nhau được gán với nhau để cho phép sự hợp tác giữa một nhóm người, hoặc giữa các phân viện. Sự hợp tác này còn được gọi là tổ chức ảo (virtual organization)
1.2.1.3. Phân biệt hai loại này
Trong hệ thống tính toán cụm, phần cứng phía dưới là một tập hợp các máy trạm giống nhau, được kết nối với nhau bởi một mạng LAN tốc độ cao, và cùng chạy một hệ điều hành giống nhau.
Trong hệ thống tính toán lưới, nó bao gồm một hệ phân tán được xây dựng như là một tập hợp của các hệ thống máy tính, mỗi hệ thống máy tính có thể thuộc về các lĩnh vực hành chính khác nhau, và cúng có thể có phần cứng, phần mềm cũng như công nghệ mạng được triển khai khác nhau
1.2.2. Hệ thống thông tin phân tán (Distributed Information System)
Là các hệ thống tích hợp các ứng dụng khác nhau thành một hệ thống thông tin doanh nghiệp.
Transaction processing system:
Các hệ thống xử lý giao tác, quan điểm của hệ thống này là hoặc tất cả đều được xử lý, hoặc không có yêu cầu nào được xử lý.
Bốn tính chất của giao dịch ACID
·Atomic: với thế giới bên ngoài, giao dịch này là không thể phân tách được
·Consistent: giao dịch không vi phạm các tính bất biến của hệ thống
·Isolated: Các giao dịch xảy ra đồng thời không ảnh hưởng đến nhau
·Durable: Một khi giao dịch đã được commit, sự thay đổi là vĩnh viễn
Nested transaction: được xây dựng từ nhiều subtransaction. Nó rất quan trọng trong hệ phân tán, bởi nó cung cấp một cách tự nhiên để phân tán các giao dịch thông qua nhiều máy tính.
Transaction Processing Monitor
Enterprise Application Integration:
Các hệ thống tích hợp ứng dụng doanh nghiệp, chúng tó thể tích hợp độc lập với cơ sở dữ liệu, và các phương tiện đó có thể truyền thông với nhau.
Để có thể truyền thông giữa chúng, chúng ta sử dụng một số mô hình sau:
·RPC
·RMI : Giống như RPC, ngoại trừ việc nó hoạt động trên các đối tượng thay vì hoạt động trên các ứng dụng.
·MOM : Nhược điểm của hai hình thức trên là cả người gọi và người nhận đều cần phải online và chạy tại thời điểm truyền thông. Với MOM, các ứng dụng chỉ cần gửi thông điệp tới một điểm liên lạc logic (logical contact point), thường thường là một đối tượng. Như thế, một ứng dụng có thể chỉ ra nó quan tâm đến loại thông điệp nào, sau đó, phần trung gian đảm nhiệm vấn đề truyền thông sẽ đảm nhận việc chuyển thông điệp đó tới ứng dụng phù hợp. Hệ thống này còn được gọi là hệ phát hành/đăng kí (publish/subscriber)
1.2.3. Hệ thống phân tán rộng khắp (Distributed pervasive system)
Đây là các hệ thống trong đó bao gồm các thành phần là các thiết bị di động, nhúng.. Chúng sử dụng nguồn điện pin, acqui.
Ba yêu cầu của một ứng dụng phân tán rộng khắp
·Embrace contextual changes: thiết bị phải biết được môi trường của nó có thể thay đổi bất cứ lúc nào
·Encourage adhoc composition: Các thiết bị trong hpt rộng khắp có thể đươc sử dụng theo nhiều cách khác nhau bởi nhiều kiểu người sử dụng khác nhau. Do đó, việc cấu hình tập các ứng dụng chạy trên thiết bị phải dễ dàng.
·Recognize sharing as the default
Mặc dù trở ngại của hệ thống này là vấn đề về đảm bảo nguồn năng lượng, nhưng nó lại có tính di động cao và khả năng phát triển rộng khắp.
Chúng ta cũng có thể liệt kê một số ví dụ phổ biến của hệ thống này:
·Intelligent home systems: Các hệ thống nhà thông minh.
·E-health care systems: Các hệ thống chăm sóc sức khỏe mở rộng.
·Sensor networks: Các mạng sensor.
1.3. Các đặc trưng của hệ phân tán 1.3.1. Chia sẻ tài nguyên (resources sharing)
Các tài nguyên có thể chia sẻ trong hệ phân tán là:
·Tài nguyên vật lý
·Tài nguyên logic
Đối với hệ phân tán, bài toán chia sẻ tài nguyên phức tạp hơn vì bản thân các máy tính tự trị cũng có tài nguyên riêng của nó. Tuy nhiên, ta sẽ không đề cập đến vấn đề chia sẻ các tài nguyên dùng riêng này mà chủ yếu đi vào chia sẻ tài nguyên dùng chung.
Cụ thể hơn, bài toán chia sẻ tài nguyên trong hệ phân tán có hai đối tượng chính:
·Tập các tài nguyên dùng chung : Các tài nguyên này là phân tán, chúng là hữu hạn và có khả năng bổ sung được ( ví dụ như hiệu năng của CPU) . Tuy nhiên, chúng ta không thể bổ sung các tài nguyên này một cách tùy ý, tùy tiện được.
·Tập các người sử dụng (user) : Tập này có đặc điểm là phân tán, hữu hạn và có tốc độ tăng trưởng rất nhanh.
Từ đó, chúng ta dễ dàng nhận tháy, lượng tài nguyên trong hệ phân tán thì hữu hạn mà số lượng người sử dụng lại càng nhiều. Điều đó dẫn tới vấn đề chia sẻ tài nguyên ngày càng trở nên căng thẳng, nó có thể gây ra xung đột, tắc nghẽn trong hệ phân tán. Và hệ phân tán sẽ phải đảm bảo làm thế nào để việc chia sẻ tài nguyên trở nên hiệu quả nhất. Như vậy, một bài toán chia sẻ tài nguyên cần đảm bảo giải quyết các yêu cầu sau:
oMức một : Tránh các hiện tượng xấu ( tắc nghẽn...) xảy ra
oMức hai: Đảm bảo việc chia sẻ tài nguyên một cách hiệu quá.
1.3.2. Tính mở (openess)
Thông thường, một hệ thống nào đó thường cung cấp nhiều dịch vụ khác nhau cho các đối tượng người dùng khác nhau. Đối với hệ phân tán, nó được gọi là có tính mở nếu như khi ta bổ sung một dịch vụ mới, thì dịch vụ này có khả năng chung sống bình thường với các dịch vụ trước đó. Và bài toán chia sẻ tài nguyên vẫn được giải quyết một cách hợp lý.
Một số đặc trưng
·Interoperability : Các thành phần khác nhau trên các hệ thống khác nhau có thể cùng tồn tại và làm việc với nhau.
·Portability: các ứng dụng được triển khai trên hệ phân tán A cũng có thể được thực thi mà không cần chỉnh sửa trên một hệ phân tán B khác có cùng giao diện như hệ phân tán A
·Extensible: Dễ dàng thêm các thành phần mới, thay thế các thành phần cũ mà không hề ảnh hưởng đến phần còn lại của hệ phân tán.
1.3.3. Tính trong suốt (transparency)
Hệ phân tán dù có hoàn hảo, tốt đẹp đến bao nhiêu thì bản chất của nó vẫn là rời rạc, và người thiết kể phải làm thế nào để che giấu, làm giảm ảnh hưởng, khiếm khuyết của hệ phân tán đối với người sử dụng.
Như vậy, tính trong suốt được hiểu là sự che giấusự phân tách, rời rạc của các thành phân trong hệ phân tán đối với người sử dụng. Qua đó, người sử dụng sẽ coi hệ thống như là một hệ thống thống nhất. Tính trong suốt là một tính chất rất mạnh, và cũng rất khó để đạt được. Thông thường, có một vài dạng tính trong suốt chính sau:
1.Access Transparency: Tài nguyên toàn cục và cục bộ cùng đượctruy cập theo cách giống hệt nhau.
2.Location Transparency: Người sử dụng sẽ không nhận biết được vị trí vật lý thực tế của tài nguyên mà họ đong dùng
3.Migration Transparency : Tài nguyên có thể được di chuyển từ nơi này sang nơi khác mà người sử dụng không nhận ra sự thay đổi
4.Replication Transparency: Người sử dụng không nhận ra sự tồn tại của nhiều bản sao của tài nguyên trong hệ thống
5.Failure Transparency: Người sử dụng không nhận ra hệ thống mà họ đang sử dụng đang có lỗi ở một thành phần nào đó.
6.Concurrency Transparency: Người sử dụng không hề biết họ đang chia sẻ tài nguyên dùng chung với rất nhiều người sử dụng khác.
1.3.4. Tính co dãn (Scalability)
Tính co dãn là một tính chất quan trọng trong hệ phân tán. Một hệ thống được gọi là có thể co dãn (scalable) nếu nó có thể kiểm soát được việc gia tăng của tài nguyên, cũng như người sử dụng mà không làm ảnh hưởng tới hiệu năng, cũng như làm tăng độ phức tạp của hệ thống [1]. Hay nói cách khác, điều này liên quan đến việc xây dựng một hệ phân tán sao cho trong bất cứ trường hợp thay đổi nào, thì phần mềm hệ phân tán của chúng ta phải có khả năng đáp ứng được.
Thông thường, việc co dãn thường liên quan đến sự gia tăng kích thước của hệ phân tán theo ba khía cạnh chính sau:
·Size : Khả năng thêm user và tài nguyên vào hệ thống một cách dễ dàng
·Geography: user và tài nguyên có thể ở xa nhau.
·Administration: nó có thể dễ dàng quản lý, ngay cả khi nó mở rộng trên nhiều tổ chức hành chính độc lập nhau, khác nhau.
[1] http://clifford.neuman.name/papers/pdf/94--_scale-dist-sys-neuman-readings-dcs.pdf
Bạn đang đọc truyện trên: Truyen247.Pro