Transcript File

Chương 1: GiỚI THIỆU HỆ PHÂN TÁN KS. Ngô Thanh Huy

1

Tổng quan

• Giới thiệu • Ưu và nhược điểm của hệ thống phân tán (DS) • Mục tiêu • Một số tính chất mong muốn • Các dịch vụ trên DS • Các phương thức truyền thông mạng • Thách thức • Các vấn đề chuyên môn trong thiết kế

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 2

Giới thiệu

• Một sự tích hợp các dịch vụ hệ thống, trình bày một cái nhìn trong suốt của một hệ thống nhiều máy tính với các tài nguyên phân tán ( distributed resources ) và được kiểm soát.

• “A collection of independent computers that appear to the users of the system as a single computer” • Ví dụ: – Các máy trạm cá nhân + một nhóm các vi xử lí + một hệ thống tập tin duy nhất – Ngân hàng lớn với hàng trăm văn phòng chi nhánh trên toàn thế giới – …

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 3

Giới thiệu(tt)

• Hệ thống mạng khắp mọi nơi?

– Hệ thống mạng mobile – Hệ thống mạng trong các doanh nghiệp – Hệ thống mạng trong các nhà máy – Hệ thống mạng tại nhà – Hệ thống mạng trên xe lửa, máy bay,… – ….

 Hệ thống phân tán = Hệ thống mạng + Các dịch vụ hệ thống

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 4

Ưu điểm của hệ thống phân tán so với hệ thống tập trung

• Economics – các bộ vi xử lý cung cấp một mức giá cả / hiệu quả tốt hơn so với máy tính lớn (mainframes) • Speed – một hệ thống phân bố có thể có thêm sức mạnh tính toán hơn máy tính lớn • Reliability – nếu một máy có vấn đề, toàn bộ hệ thống vẫn có thể tồn tại • Incremental growth thiện với gia số nhỏ – sức mạnh tính toán có thể được cải

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 5

Ưu điểm của hệ thống phân tán so với các máy đơn lẽ

• Data sharing – cho phép nhiều người sử dụng truy cập cơ sở dữ liệu thông thường • Device sharing – Cho phép nhiều người sử dụng có thể dùng chung các thiết bị đắt tiền, ví dụ như máy in màu,… • Communication – làm cho con người giao tiếp với con người dễ dàng hơn • Flexibility – phân chia khối lượng công việc trên máy có sẵn với chi phí hiệu quả nhất

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 6

Nhược điểm

• Software – hệ thống phần mềm phức tạp • Networking – dễ dàng bị nghẽn mạng hoặc có thể phát sinh các vấn đề khác • Security – các dữ liệu mang tính bí mật không được an toàn

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 7

Mục tiêu (I)

• Cung cấp một môi trường tính toán hiệu suất cao và mạnh mẽ với “ nhận thức ” ít nhất về quản lý và kiểm soát tài nguyên hệ thống phân tán • Hiệu quả (Efficiency) - khó khăn do sự chậm trễ thông tin liên lạc – Các vấn đề về thiết bị vật lý – Giao thức giao tiếp tầng trên • Giao tiếp nguyên thủy hiệu quả, sử dụng các giao thức tốt – Phân bố tải - nút cổ chai hoặc tắc nghẽn trong mạng / SW • Cân bằng và chồng chéo lên nhau giữa tính toán và truyền tải thông tin • Xử lí phân tán và chia sẽ tãi

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 8

Mục tiêu (II)

• Mềm dẻo (Flexibility) – Mức nhìn người dùng: hệ thống thân thiện và tự do trong việc sử dụng • Tính thân thiện: giao diện người dùng, tính nhất quán, độ tin cậy  use OO • Tự do: – Không có sự hạn chế không rõ lí do trong việc sử dụng – Dễ dàng xây dựng các công cụ và dịch vụ hỗ trợ thêm – Mức nhìn hệ thống • Có khả năng mở rộng và di chuyển • Khả năng module hóa, khả năng tương tác,… – Khó khăn… • Sự không đồng nhất giữa các thành phần HW/SW

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 9

Mục tiêu (III)

• Nhất quán (Consistency) - Thiếu thông tin toàn cục, vấn đề sao chép và phân vùng dữ liệu, độ phức tạp của sự tương tác giữa các thành phần – Người dùng: thống nhất trong việc sử dụng hệ thống và hành vi có thể dự đoán của hệ thống – Hệ thống: cơ chế kiểm soát đồng thời phù hợp, xử lý thất bại và các thủ tục phục hồi • Mạnh mẽ (Robustness) - vấn đề với những thất bại trong các liên kết truyền đạt thông tin, xử lí các node và các tiến trình client/server – Hệ thống phải tự khởi tạo lại trạng thái tốt nhất và đảm bảo chỉ bị mất mát nhỏ nhất – Xử lý các trường hợp ngoại lệ và sai sót, thay đổi topology, sự chậm trễ thông điệp, không có khả năng xác định vị trí máy chủ – Sự bảo mật: tin cậy, bảo vệ tốt các điều khiển truy cập

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 10

Một số tính chất mong muốn

• Tính trong suốt • Tính mở của hệ thống • Khả năng mở rộng • Khả năng nâng cấp

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 11

Tính trong suốt - Transparency

• Tính trong suốt – Che dấu tất cả các chi tiết bên trong hệ thống – Tạo ra một mức nhìn riêng biệt đối với người dùng – Cân bằng giữa sự hiệu quả và đơn giản của hệ thống • Mục tiêu – Cung cấp một mức nhìn luận lý đối với hệ thống – Đồng thời làm giãm sử ảnh hưởng của cấu trúc vật lý của hệ thống, giãm mức quan tâm cấu trúc vật lý của hệ thống đến mức tối thiểu

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 12

Các loại trong suốt (I)

• Access : che dấu sự khác biệt về cách thức trình bày dữ liệu, cách thức tài nguyên được truy cập,… • Location (name): che dấu vị trí lưu trữ tài nguyên – sử dụng tên gọi logic • Migration : tài nguyên có thể được di chuyển đến nơi khác mà không ảnh hưởng tên, việc truy nhập,… • Concurrency : chia sẽ tài nguyên mà không chồng chéo lẫn nhau • Relocation : che dấu việc tài nguyên có thể di chuyển đến vị trí khác trong khi đang sử dụng tài nguyên

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 13

Các loại trong suốt(II)

• Replication : che dấu việc sao chép tài nguyên, đảm bảo tính nhất quán, nhiều bản copy  tăng tốc độ truy cập • Parallelism và khi nào : cho phép các hoạt động song song và người dùng không cần biết hệ thống thực hiện như thế nào, ở đâu • Failure : che dấu lỗi khắc phục lỗi, đảm bảo hệ thống chịu tổn hại thấp nhất • Persistence : (software) tài nguyên có thể được lưu trữ trong bộ nhớ hoặc đĩa hệ thống

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 14

Tính trong suốt đối với các mục tiêu của hệ phân tán

• Efficiency – Concurrency – Parallelism • Flexibility – Access – Location – Relocation – Migration • Consistency – Access – Replication – Persistence • Robustness – Failure – Replication

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 15

Các dịch vụ (I)

• Primitive services– nền tảng trong kernel – Được hiện thực ở mức nền tảng (kernel) trong mỗi node của hệ thống – Truyền thông – message passing (send/receive primitives) • Đồng bộ hoặc bất đồng bộ – Truyền thông liên node, liên tiến trình: đồng bộ, bất đồng bộ • Đồng bộ về ngữ nghĩa – Bộ ghép vi xử lý (Processor multiplexing) -- Process server – … • Tạo, xóa, theo vết bộ nhớ và thời gian xử lý

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 16

Các dịch vụ (II)

• Services by System Servers – Cung cấp các dịch vụ cơ bản để quản lí tiến trình, tập tin và truyền đạt thông tin giữa các tiến trình – Có thể được thực thi bất cứ nơi nào trong hệ thống, vẫn có thể thực thi các dịch vụ cơ bản nguyên thủy – Ánh xạ giữa địa chỉ luận lý và địa chỉ vật lý • Name server: xác định tiến trình, người dùng, máy trạm,...

• Directory server: xác định files, các cổng giao tiếp – Chuyển đổi các địa chỉ và vị trí thành các đường dẫn giao tiếp: network server – Broadcast messages: broadcast or multicast servers – File servers, print servers, migration server, authentication server – …

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 17

Các dịch vụ (III)

• Value-added Services – không cần thiết phải hiện thực trong hệ thống nhưng có thể hữu ích, ở mức cao hơn hoặc các dịch vụ đặc biệt (ứng dụng người dùng,…) – Tăng cường khả năng tính toán, khả năng chịu lỗi và các hoạt động phối hợp – Tạo nhóm các Process cùng tương tác – Máy chủ chỉnh sửa đồng loạt – …

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 18

Mô hình kiến trúc giao tiếp mạng

• Kết nối phần cứng + Giao thức truyền thông liên node, liên tiến trình • Kết nối phần cứng: – Kết nối điểm điểm – kết nối trực tiếp giữa các node – Kết nối đa điểm– kết nối các node thành cụm (cluster) • Common bus – time shared – IEEE 802 LAN Standard – Ethernet, Token Bus/Ring, FDDI… • Switch – space/time multiplexing: tỉ lệ giá/độ phức tạp phần cứng tốt hơn – ISDN, SMDS, ATM • LAN, MAN, WAN – LAN: nhỏ, thành phần khép kín, phù hợp cho xử lý phân tán – MAN/WAN: lớn, hướng truyền thông

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 19

WAN, MAN, LAN

Point-to-Point Point-to-Point

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 20

Giao thức giao tiếp mạng

• Phương thức giao tiếp: tập các quy tắc điều chỉnh việc trao đổi các thông điệp để cung cấp một dòng thông tin đáng tin cậy và có trật tự giữa các tiến trình giao tiếp • Dịch vụ hướng kết nối – Cần thiết lập tường minh kênh kết nối trước khi truyền thông – Thông điệp sẽ được truyền tải tin cậy một cách tuần tự – Virtual circuit • Dịch vụ không hướng kết nối – Không cần thiết phải thiết lập kết nối – Tin nhắn được phân phối trên cơ sở nỗ lực tốt nhất về thời gian và tuyến đường và tùy ý về thứ tự – Datagram

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 21

Mô hình OSI

• Mô hình 7 lớp • OSI tập trung trên các máy tính kết nối với nhau • Một tiến trình giao tiếp với tiến trình khác bằng cách truyền dữ liệu thông qua 7 lớp, cuối cùng dữ liệu đến thông qua 7 lớp theo chiều ngược lại – Phân đoạn/tích hợp lại – Tính trong suốt giữa các tầng – sự đóng gói • Thêm tiêu đề (header) cho dữ liệu tương ứng với mỗi tầng • Header sẽ được loại bỏ theo chiều ngược lại

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 22

Mô hình OSI(tt)

Application Presentation Session Transport Network Data Link Peer-to-Peer Protocols Intermediate Node

Network Network Data Link Data Link

Application Presentation Session Transport Network Data Link Physical

Physical Physical

Communication Link Physical Communication Link

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 23

Giao thức TCP/IP

• Truyền thông liên node, liên tiến trình: – Hai tiến trình đang chạy giao tiếp với nhau như thế nào?

• Transport Layer  TCP • Hướng kết nối (TCP) hoặc không hướng kết nối (UDP) – Thông điệp được truyền thông qua các node mạng như thế nào?

• Network Layer  IP • Virtual circuit hoặc Datagram • TCP / IP tập trung vào mạng lưới kết nối • ( TCP , UDP) * (Virtual Circuit, Datagram) – Đảm bảo sự tin cậy khi dịch chuyển thông tin từ môi trường mạng sang OS • Port và Socket (Chapter 4) – Port: cổng dịch vụ – Socket: điểm kết nối

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 24

Giao thức TCP/IP(tt)

Application processes message Transport layer packet

Peer to Peer Protocols

Internet layer datagram Gateway Internet layer Data link and physical Layer Data link and physical Layer

Frame in bits

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Application processes Transport layer Internet layer Data link and physical Layer Slide 25

Thách thức

• Tính không đồng nhất • Tính mở • Sự bảo mật • Khả năng mở rộng • Các lỗi sai – Failure Handling • Tính đồng thời • Tính trong suốt

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 26

Thách thức – Ví dụ

• Nhà sách online (www): – Các khách hàng có thể kết nối đến máy tính của nhà sách (web server): • Tìm kiếm hàng hóa • Đặt hàng • …

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 27

Thách thức – Ví dụ

• Nếu như: – Khách hàng sử dụng cấu hình phần cứng khác nhau (PC,MAC,…) – …sử dụng các hệ điều hành khác nhau (Window, Unix,…) – …sử dụng mô tả dữ liệu khác nhau  Sự không đồng nhất • Hoặc: – Muốn di chuyển nhà sách đến Libya (vì lý do thời tiết) – Các thành viên nhà sách muốn di chuyển đến Iraq (sở thích)  Sự trong suốt

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 28

Thách thức – Ví dụ

• Nếu như: – Có 2 khách hàng cùng đặt một món hàng cùng một thời điểm?

 Tính đồng thời • Hoặc: – Cơ sở dữ liệu hàng tồn kho gặp trục trặc – Khách hàng không thực hiện được giao dịch đặt hàng  Khắc phục sự cố

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 29

Thách thức – Ví dụ

• Nếu như – Ai đó muốn phá hỏng hệ thống để lấy dữ liệu – Bị nghẽn thông tin – Khách hàng đã thực hiện giao dịch nhưng không nhận được hồi âm từ hệ thống  Tính bảo mật • Hoặc: – Có hàng ngàn người truy cập vào nhà sách tại cùng một thời điểm  Khả năng mở rộng

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 30

Thách thức – Ví dụ

• Khi xây dựng hệ thống: – Có thể viết tất cả các phần mềm trên hệ thống (network, database,…) – Khả năng cập nhật các công nghệ mới  Tính tái sử dụng và mở rộng

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 31

Những vấn đề chính trong thiết kế

• Một hệ thống phân tán bao gồm các quá trình đồng thời truy cập vào tài nguyên phân tán (có thể được chia sẻ, nhân bản) thông qua việc truyền thông điệp trong một môi trường mạng có thể không đáng tin cậy và có các thành phần nguy hiểm – Làm thế nào để mô hình và xác định các đối tượng – Làm thế nào để phối hợp sự tương tác giữa các đối tượng – Làm thế nào để đạt được sự truyền tải thông tin tốt nhất giữa các đối tượng – Làm thế náo quản lí các đối tượng chia sẽ hoặc nhân bản – Làm thế nào bảo vệ các đối tượn và bảo mật hệ thống • Làm thế nào hỗ trợ sự trong suốt trong hệ thống

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 32

Những vấn đề chính trong thiết kế(tt)

• Đối tượng: tiến trình, tập tin dữ liệu, bộ nhớ, các thiết bị, processors, mạng,… • Tất cả các đối tượng đều được biễu diễn một cách đồng nhất – Các chi tiết vật lý của một đối tượng thì trong suốt đối với các đối tượng khác • Xác định một server: – Bởi tên – ánh xạ tên đến địa chỉ luận lý – Địa chỉ vật lý hoặc luận lý – sử dụng các dịch vụ mạng, port – Bởi dịch vụ - CAS (

Central Authentication Service

)

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 33

Những vấn đề chính trong thiết kế(tt)

• Phối hợp tốt các tương tác đồng thời của các tiến trình để đạt được sự đồng bộ • Yêu cầu – Đồng bộ biên (Barrier synchronization) – một tập các tiến trình (hoặc các sự kiện) phải đạt được một điểm đồng bộ chung trước khi tiếp tục – Sự phối hợp điều kiện (Condition coordination) – Sự ngăn chặn loại trừ (Mutual exclusion) • Cần thông tin trạng thái của các tiến trình khác – Thông qua các thông điệp  – một tập các quá trình (hoặc các sự kiện) phải chờ đợi một điều kiện không đồng bộ được thiết lập bởi các quá trình khác để duy trì một số thứ tự thực hiện công việc –các tiến trình đồng thời phải loại trừ lẫn nhau khi truy cập vào một tài nguyên chia sẻ quan trọng không chính xác hoặc không hoàn thành (mạng không tin cậy) – Centralized coordinator (chapter 04) • Xử lí Deadlock – cơ chế phát hiện và phục hồi

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 34

Những vấn đề chính trong thiết kế(tt)

• Sử dụng các phương thức truyền thông mức cao (high – level) để đạt tính trong suốt – Message passing – vật lý ở mức thấp – Client/Server Model – sự tương tác của hệ thống thông qua sự trao đổi thông điệp: request/reply – RPC - request/reply, xây dựng ở tầng trên của mô hình client/server • RPC: point to point, nhưng cần group (multicast, broadcast) • Các tài nguyên phân tán – khả năng xử lý dữ liệu – Phối hợp đa xử lý – phân phối tải tĩnh hay chia sẽ tãi động • Di trú mã, sắp xếp thời gian thực (real-time scheduling) – Hệ thống tập tin phân tán, bộ nhớ chia sẽ phân tán • Chia sẽ và nhân bản dữ liệu • Khả năng chịu lỗi và bảo mật

Đại học Trà Vinh - 2011 Khoa Công nghệ Thông tin

Slide 35