1. Trang chủ
  2. » Giáo án - Bài giảng

Đáp án đề cương Hệ thống phân tán MTA

28 382 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 1,04 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

CÂU HỎI ÔN TẬP1.Làm rõ các dạng trong suốt của hệ phân tán.2.Tính co dãn của hệ phân tán. Các biện pháp nâng cao khả năng co dãn của hệ phân tán.3.Trình bày những hiểu biết về thin client và fat client trong các hệ phân tán. Từ những hiểu biết đó hãy cho biết trường hợp vận dụng cụ thể.4.Trình bày những hiểu biết về đặc điểm phần cứng của hệ phân tán. Phân biệt hệ thống multiprocessor và multicomputer.5.Trình bày những hiểu biết về truyền thông RPC. Yếu tố nào đảm bảo các lời triệu gọi thủ tục từ xa khác nhau thì thực hiện các công việc khác nhau.6.Nêu những hiểu biết về truyền thông hướng thông điệp và trường hợp vận dụng.7.Nêu những hiểu biết về truyền thông hướng dòng. Tại sao trong truyền thông hướng dòng thì đồng bộ hóa các dòng lại có ý nghĩa quan trọng.8.Trình bày những hiểu biết về tiến trình trong các hệ phân tán.9.Luồng trong các hệ phân tán. Ý nghĩa của việc sử dụng các hệ thống đa luồng.10.Trình bày những hiểu biết về mô hình đa luồng phía client và mô hình đa luồng phía server. Cho ví dụ sử dụng trên thực tế.11.Trình bày các mô hình di trú mã. Ý nghĩa.12.Trình bày các hiểu biết về tên, địa chỉ và điểm truy cập.13.Ý nghĩa của phân giải tên. Trình bày phương pháp phân giải tên tuần tự14.Ý nghĩa của phân giải tên. Trình bày phương pháp phân giải tên đệ quy.15.Trình bày những hiểu biết về phân giải tên tuần tự và phân giải tên đệ quy. Trường hợp nào thì sử dụng kiểu phân giải tên nào.16.Tại sao đối với các thực thể di động thì phải có cách tổ chức tên và phân giải tên đặc biệt. Trình bày phương pháp định vị thực thể di động bằng phương pháp truyền thông nhóm rộng rãi.17.Tại sao đối với các thực thể di động thì phải có cách tổ chức tên và phân giải tên đặc biệt. Trình bày phương pháp định vị thực thể di động bằng phương pháp chuyển con trỏ.18.Tại sao đối với các thực thể di động thì phải có cách tổ chức tên và phân giải tên đặc biệt. Trình bày phương pháp định vị thực thể di động bằng phương pháp thông qua điểm gốc19.Đồng bộ hóa. Khái niệm, lý do.20.Ý nghĩa của đồng bộ hóa đồng hồ vật lý. Trình bày các giải thuật đồng bộ hóa đồng hồ vật lý.21.Đồng bộ hóa đồng hồ logic. Ý nghĩa, trường hợp vận dụng.22.Trình bày các giải thuật bầu trọn trong đồng bộ hóa đồng hồ logic.23.Đồng bộ hóa đồng hồ logic. Nêu các giải pháp cấp khóa, khóa file và thu hồi khóa trong các hệ thống file phân tán.24.Trình bày những hiểu biết về nhất quán và nhân bản trong các hệ thống phân tán.25.Trình bày những hiểu biết về các giao thức kéo và đẩy trong quản lý các bản sao.26.Phân biệt bản sao khởi tạo bởi client và bản sao khởi tạo bởi server. Ý nghĩa và trường hợp vận dụng.27.Sao chép và caching được sử dụng trong các hệ phân tán như thế nào?28.Trình bày các cách thức lan truyền cập nhật (chỉ thông báo là có cập nhật, truyền dữ liệu cập nhật từ bản sao này tới bản sao khác, lan truyền các thao tác cập nhật)29.Tính chịu lỗi trong các hệ phân tán. Ý nghĩa, ví dụ một hệ thống có tính chịu lỗi30.Làm rõ tính sẵn sàng, tính tin cậy, tính an toàn và khả năng bảo trì của một hệ thống có tính chịu lỗi.31.Các loại dư thừa được sử dụng để tăng tính chịu lỗi trong các hệ phân tán. Làm rõ các hiểu biết về che dấu lỗi bằng dư thừa thông tin.32.Các loại dư thừa được sử dụng để tăng tính chịu lỗi trong các hệ phân tán. Làm rõ các hiểu biết về che dấu lỗi bằng dư thừa thời gian.33.Các loại dư thừa được sử dụng để tăng tính chịu lỗi trong các hệ phân tán. Làm rõ các hiểu biết về che dấu lỗi bằng dư thừa vật lý.34.Hiểu thế nào là phân tán theo chiều dọc và chiều ngang?35.Nhắc lại hiểu biết về mạng các server cạnh.36.Trình bày hiểu biết về di trú mã. Nêu ví dụ ứng dụng.

Trang 1

CÂU HỎI ÔN TẬP Môn: Hệ thống phân tán

1 Làm rõ các dạng trong suốt của hệ phân tán (Chương 1, slide 18)

2 Tính co dãn của hệ phân tán Các biện pháp nâng cao khả năng co dãn của hệ phân tán (Chương 1, slide 23)

3 Trình bày những hiểu biết về thin client và fat client trong các hệ phân tán Từ những hiểu biết

đó hãy cho biết trường hợp vận dụng cụ thể (Chương 2, slide 18)

4 Trình bày những hiểu biết về đặc điểm phần cứng của hệ phân tán Phân biệt hệ thống multiprocessor và multicomputer (Chương 1, slide 32)

5 Trình bày những hiểu biết về truyền thông RPC Yếu tố nào đảm bảo các lời triệu gọi thủ tục

từ xa khác nhau thì thực hiện các công việc khác nhau (Chương 3, slide 22)

6 Nêu những hiểu biết về truyền thông hướng thông điệp và trường hợp vận dụng (Chương 3, slide 43)

7 Nêu những hiểu biết về truyền thông hướng dòng Tại sao trong truyền thông hướng dòng thì đồng bộ hóa các dòng lại có ý nghĩa quan trọng (Chương 3, slide 53)

8 Trình bày những hiểu biết về tiến trình trong các hệ phân tán (Chương 4, slide 4)

9 Luồng trong các hệ phân tán Ý nghĩa của việc sử dụng các hệ thống đa luồng (Chương 4, slide 5)

10 Trình bày những hiểu biết về mô hình đa luồng phía client và mô hình đa luồng phía server Cho ví dụ sử dụng trên thực tế (Chương 4, slide 10)

11 Trình bày các mô hình di trú mã Ý nghĩa (Chương 4, slide 16)

12 Trình bày các hiểu biết về tên, địa chỉ và điểm truy cập (Chương 5, slide 5)

13 Ý nghĩa của phân giải tên Trình bày phương pháp phân giải tên tuần tự (Chương 5, slide 19)

14 Ý nghĩa của phân giải tên Trình bày phương pháp phân giải tên đệ quy (Chương 5, slide 19)

15 Trình bày những hiểu biết về phân giải tên tuần tự và phân giải tên đệ quy Trường hợp nào thì

sử dụng kiểu phân giải tên nào (Chương 5, slide 19)

16 Tại sao đối với các thực thể di động thì phải có cách tổ chức tên và phân giải tên đặc biệt Trình bày phương pháp định vị thực thể di động bằng phương pháp truyền thông nhóm rộng rãi (Chương 5, slide 25)

17 Tại sao đối với các thực thể di động thì phải có cách tổ chức tên và phân giải tên đặc biệt Trình bày phương pháp định vị thực thể di động bằng phương pháp chuyển con trỏ (Chương

5, slide 27)

18 Tại sao đối với các thực thể di động thì phải có cách tổ chức tên và phân giải tên đặc biệt Trình bày phương pháp định vị thực thể di động bằng phương pháp thông qua điểm gốc (Chương 5, slide 29)

Trang 2

19 Đồng bộ hóa Khái niệm, lý do (Chương 6, slide 2)

20 Ý nghĩa của đồng bộ hóa đồng hồ vật lý Trình bày các giải thuật đồng bộ hóa đồng hồ vật lý (Chương 6, slide 4)

21 Đồng bộ hóa đồng hồ logic Ý nghĩa, trường hợp vận dụng (Chương 6, slide 14)

22 Trình bày các giải thuật bầu chọn trong đồng bộ hóa đồng hồ logic (Chương 6, slide 43)

23 Đồng bộ hóa đồng hồ logic Nêu các giải pháp cấp khóa, khóa file và thu hồi khóa trong các hệ thống file phân tán (Chương 6, slide )

24 Trình bày những hiểu biết về nhất quán và nhân bản trong các hệ thống phân tán (Chương 7, slide 2)

25 Trình bày những hiểu biết về các giao thức kéo và đẩy trong quản lý các bản sao (Chương 7, slide 32)

26 Phân biệt bản sao khởi tạo bởi client và bản sao khởi tạo bởi server Ý nghĩa và trường hợp vận dụng (Chương 7, slide 27)

27 Sao chép và caching được sử dụng trong các hệ phân tán như thế nào? (Chương 7, slide)

28 Trình bày các cách thức lan truyền cập nhật (chỉ thông báo là có cập nhật, truyền dữ liệu cập nhật từ bản sao này tới bản sao khác, lan truyền các thao tác cập nhật) (Chương 7, slide 28)

29 Tính chịu lỗi trong các hệ phân tán Ý nghĩa, ví dụ một hệ thống có tính chịu lỗi (Chương 8, slide 2)

30 Làm rõ tính sẵn sàng, tính tin cậy, tính an toàn và khả năng bảo trì của một hệ thống có tính chịu lỗi (Chương 8, slide 4)

31 Các loại dư thừa được sử dụng để tăng tính chịu lỗi trong các hệ phân tán Làm rõ các hiểu biết

về che dấu lỗi bằng dư thừa thông tin (Chương 8, slide 10)

32 Các loại dư thừa được sử dụng để tăng tính chịu lỗi trong các hệ phân tán Làm rõ các hiểu biết

về che dấu lỗi bằng dư thừa thời gian (Chương 8, slide 10)

33 Các loại dư thừa được sử dụng để tăng tính chịu lỗi trong các hệ phân tán Làm rõ các hiểu biết

về che dấu lỗi bằng dư thừa vật lý (Chương 8, slide 10)

34 Hiểu thế nào là phân tán theo chiều dọc và chiều ngang?

35 Nhắc lại hiểu biết về mạng các server cạnh

36 Trình bày hiểu biết về di trú mã Nêu ví dụ ứng dụng (Chương 4, slide 16)

Trang 3

TRẢ LỜI CÂU HỎI

Câu 1+2

- Hệ phân tán (distributed system): là một hệ thống có chức năng và dữ liệu phân tán trên các

máy tính độc lập được kết nối với nhau bởi một mạng máy tính và được cài đặt phần mềm hệ phân tán, giao tiếp với người dùng như một hệ thống thống nhất, toàn vẹn

- 6 đặc trưng cơ bản của hệ phân tán: kết nối người dùng với tài nguyên, tính trong suốt, tính mở, tính co dãn, tính chịu lỗi, tính an toàn bảo mật

* Tính trong suốt (transparency): là khả năng che dấu tính rời rạc và nhược điểm có thể đối với người dùng và người lập trình ứng dụng về sự tồn tại độc lập của các thành phần hệ thống, làm họ cảm nhận hệ thống như là một thể đồng nhất

1 Trong suốt truy cập: che giấu sự khác biệt về cách biểu diễn và cách thức truy cập tài

nguyên (toàn cục/ cục bộ như nhau)

2 Trong suốt vị trí: che giấu vị trí đích thực của tài nguyên (đã được định vị và chỉ dẫn theo

tên logic trong một hệ thống thống nhất)

3 Trong suốt di trú: che giấu khả năng chuyển vị trí của tài nguyên (di chuyển định vị vật lý

mà không cần đổi tên)

4 Trong suốt tái định vị: che giấu việc di chuyển của tài nguyên (giữa các máy trạm) ngay cả

khi đang được sử dụng

5 Trong suốt nhân bản: che giấu các bản sao của tài nguyên khi được nhân bản

6 Trong suốt về tương tranh (truy xuất đồng thời): một tài nguyên có thể được chia sẻ cho

nhiều người và bởi nhiều người, nhưng người dùng ko biết về sự chia sẻ này

7 Trong suốt lỗi: che giấu lỗi hệ thống nếu có (cách truy xuất đến tài nguyên nằm trên vị trí

khác, sau khi lỗi được khắc phục thì tự động cho phép truy xuất lại)

8 Trong suốt bền vững: che giấu việc di chuyển tài nguyên từ bộ nhớ ngoài vào bộ nhớ trong

và ngược lại

* Tính co dãn (scalability): một hệ phân tán được gọi là có tính co giãn nếu nó thích nghi với sự

thay đổi quy mô của hệ thống

+ Dễ bổ sung người sử dụng và tài nguyên hệ thống: khi hệ thống thay đổi quy mô về mặt địa

lý dẫn đến sự thay đổi vị trí địa lý của người sử dụng và các tài nguyên

+ Hệ thống có thể đáp ứng những thay đổi quy mô về quản trị

- 3 biện pháp nâng cao khả năng co dãn của hệ phân tán:

Trang 4

+ Rút ngắn thời gian đợi: Sử dụng trong trường hợp mở rộng về mặt địa lý Ý tưởng của nó là

hạn chế tối đa thời gian chờ đối với trả lời từ server ở xa VD: hạn chế khối lượng thực hiện trên Server bằng cách san sẻ công việc cho Client

+ Phân tán: phân nhỏ các thành phần hệ thống và phân tán chúng ở các nơi khác nhau trong

hệ thống (quản lý phân cấp) VD: DNS xác định theo cách phân cấp miền lớn thành các miền con Tên miền mỗi vùng được xử lý bởi 1 server tên miền Với phương pháp này sẽ giải quyết được vấn đề khi thêm người dùng hay tài nguyên vào hệ thống

+ Nhân bản: sao chép giữa các thành phần của hệ thống nhằm cân bằng tải giữa các thành

phần và tăng hiệu suất làm việc của hệ thống VD: bộ nhớ cache

Câu 3

- Mô hình kiến trúc (architectural styles): mô tả một cách đặc biệt các cấu hình của các thành

phần (component) và các kết nối (connector)

- 3 kiến trúc hệ thống trong hệ phân tán: tập trung, phi tập trung, hỗn hợp

- Kiến trúc tập trung: kiến trúc client-server, kiến trúc phân tầng, kiến trúc đa tầng

* Kiến trúc đa tầng: client chỉ chứa các chương trình thực hiện các cấp giao diện người dùng,

server chứa các chương trình thực hiện ở mức xử lý và mức độ dữ liệu

- Cách tiếp cận để tổ chức các máy client – server là phân phối các chương trình ở các lớp ứng dụng của phân tầng ứng dụng với các máy khác nhau Ở dạng đơn giản máy client được sử dụng trong hai dạng là thin-client và fat-client

- Thin client: máy khách chỉ đảm nhiệm phần giao diện, máy chủ thực hiện chức năng của lớp

chức năng và lớp CSDL, mọi tính toán tập trung ở máy chủ

Nếu sử dụng thin - client, server sẽ cung cấp các quá trình xử lý và quản lý dữ liệu; cung cấp cho khách hàng những giao diện đồ họa đơn giản Với kiến trúc này ta sẽ dễ dàng quản lý hơn, đáng tin cậy hơn, các máy client không cần phải quá lớn và cấu hình cao nhưng lại làm mất các hoạt động nhận thức của client

Trang 5

+ Ưu điểm: là giảm sự lưu thông trên mạng và tốc độ nhanh hơn do lớp chức năng của

chương trình nằm ở máy chủ cùng với CSDL, do đó mọi thao tác với CSDL của chương trình đều được thực hiện ngay trên máy chủ và thông tin lưu thông trên mạng chỉ là những kết quả được trả

về cho người dùng sau khi được tính toán Mặt khác, do phần lõi của chương trình được đặt tập

trung tại máy chủ nên việc cập nhật chương trình sẽ dễ dàng hơn

+ Nhược điểm: do công việc được tập trung quá nhiều tại máy chủ nên đòi hỏi cấu hình máy

chủ phải đủ mạnh đặc biệt là khi có nhiều máy khách cùng truy xuất tới máy chủ cùng lúc

- Fat client: client thường phải đảm nhận cả 2 lớp là giao diện và chức năng, còn server thường

chỉ đảm nhận nhiệm vụ của lớp CSDL

Nếu sử dụng fat – client, tất cả các ứng dụng xử lý dữ liệu và một số dữ liệu tại phía client sẽ làm giảm khối lượng công việc tại máy chủ, có khả năng mở rộng hơn nhưng lại khó quản lý bời quản trị hệ thống và kém an toàn

+ Ưu điểm : đơn giản, hợp cho những ứng dụng nhỏ

+ Nhược điểm: Do tính toán nghiêng về phía client nhiều nên đòi hỏi client phải có cấu hình

đủ mạnh Do lớp chức năng của chương trình nằm ở phía client nên khi cần nâng cấp chương trình thì sẽ rất khó khăn vì phải cập nhật lại chương trình nằm ở toàn bộ các client Do mọi thao tác nằm

trên client nên thao tác yêu cầu dữ liệu giữa client và server nhiều dẫn đến tốc độ chương trình

chậm

* Vận dụng:

+ Thin - client: mô hình học trực tuyến vì cần quản lý dữ liệu tập trung, có sự thống nhất

trong việc test, cập nhật… nên cần sự trao đổi giữa client và server thường xuyên Năng lực của Server đảm bảo quản lý tập trung dữ liệu

+ Fat - client: với các game cần năng lực xử lý cao thì không cần server xử lý nhiều, server

chỉ xử lý các thông tin quan trọng, client sẽ xử lý nhiều hơn

Câu 4

- Phần cứng của một hệ phân tán bao gồm các máy tính độc lập và các kết nối mạng truyền dẫn

Cụ thể tài nguyên phần cứng như : CPU, máy in, RAM,

- Có 2 loại máy tính:

+ Các loại máy tính có chia sẻ bộ nhớ (Shared memory): các loại máy đa xử lý (multiproccessor) - tất cả các máy tính đều sử dụng chung một bộ nhớ (chỉ có một không gian địa chỉ duy nhất được sử dụng cho tất cả các bộ vi xử lý)

+ Các máy tính không chia sẻ bộ nhớ (Private memory): các hệ thống đa máy tính (multicomputer) - mỗi máy tính sử dụng bộ nhớ của mình

Trang 6

- Trong mỗi loại lại chia thành 2 loại theo kiểu mạng kết nối:

+ Kết nối dựa trên bus (bus-based): chỉ có một đường kết nối chung duy nhất

+ Kết nối dựa trên chuyển mạch (switch-based): có nhiều đường kết nối từ máy này sang máy khác theo kênh riêng với các công nghệ khác nhau

* Phân biệt hệ thống multiprocessor và multicomputer

- Một hệ thống đa xử lý chỉ đơn giản là một

máy tính có nhiều hơn một CPU xử lý Nhờ vậy

hệ thống có thể thực thi nhiều tác vụ cùng một

lúc Lỗi trong một bộ xử lý sẽ không ảnh hưởng

đến nhiệm vụ của các bộ xử lý khác Do đó, một

bộ đa xử lý là đáng tin cậy hơn

- Có một bộ nhớ (không gian địa chỉ vật lý)

được chia sẻ cho tất cả các CPU Vì vậy tốc độ

xử lý của hệ thống cũng chậm hơn

- Lập trình một hệ thống đa xử lý sẽ dễ dàng

hơn việc lập trình hệ thống đa máy tính Tuy

nhiên, việc xây dựng hệ thống khá khó khăn và

tốn kém

- Phù hợp với xử lý song song

- Đa máy tính là một hệ thống được tạo thành từ một số máy tính, mỗi máy có thể có nhiều bộ xử

lý Các máy được kết nối với nhau thông qua mạng truyền thông, hoạt động cùng nhau để giải quyết vấn đề

- Mỗi bộ xử lý có bộ nhớ riêng và chỉ có thể truy cập được bởi bộ xử lý cụ thể đó Do đó, tốc

độ nhanh hơn hệ thống đa xử lý

- Xây dựng một hệ thống multicomputer dễ dàng và tiết kiệm chi phí hơn so với multiprocessor Mặt khác, lập trình một hệ thống đa máy tính là khó khăn

- Thích hợp để xử lý phân tán do hệ thống đa máy tính có khả năng truyền thông điệp giữa các bộ xử lý, có thể phân chia nhiệm vụ giữa các bộ xử lý để hoàn thành nhiệm vụ

Câu 5+6+7

- Truyền thông giữa các tiến trình trong hệ phân tán có thể chia thành hai mức:

+ Mức mạng máy tính (OSI: ứng dụng, trình diễn, phiên, giao vận, mạng, liên kết, vật lý) + Mức middleware (thay thế cho tầng phiên và tầng trình diễn trong mô hình OSI)

- Có 4 mô hình dịch vụ được sử dụng rộng rãi cho truyền thông ở mức middleware:

+ Gọi thủ tục từ xa RPC (Remote Procedure Call)

+ Triệu gọi đối tượng từ xa ROI (Remote Object Invocation)

+ Middleware hướng thông điệp (Message - oriented Middleware)

+ Middleware hướng dòng (Stream - oriented Middleware)

Trang 7

- Cụ thể, trong mô hình client – server thì lời gọi thủ tục từ xa được thực hiện qua các bước sau:

Client program – Client stub – Client OS – Server OS – Server stub – Server procedure

+ Tiến trình muốn thực hiện thủ tục ở máy client sẽ gọi client stub

+ Client stub sẽ tạo một bản tin và có lời gọi đến hệ điều hành của client đó

+ Hệ điều hành của máy client sẽ gửi bản tin đó tới hệ điều hành của máy server

+ Hệ điều hành của server sẽ gửi bản tin tới server stub

+ Server stub lấy các thông tin của gói tin và gọi server tương ứng

+ Server thực hiện công việc được yêu cầu và trả kết quả về cho server stub

+ Server stub đóng gói kết quả đó vào bản tin rồi gọi hệ điều hành của server đó

+ Hệ điều hành của máy server này sẽ gửi bản tin kết quả đó hệ điều hành của máy client + Hệ điều hành của máy client sẽ gửi bản tin cho client stub

+ Client stub sẽ mở gói tin kết quả và trả về cho client

Trong đó, client stub và server là các thành phần nhằm giảm nhẹ công việc cho client và server, làm cho hệ thống hoạt động một cách trong suốt hơn

- Chi tiết các thao tác RPC:

+ Đóng gói các tham số (parameter marshaling): Client stub sẽ sắp xếp các tham số và đưa

vào hàng đợi để chuẩn bị truyền đi Các tham số này giúp cho server hiểu được công việc mình cần thực hiện tương ứng là gì để xác định lời gọi đến thủ tục thích hợp

+ Truyền tham số: có hai cách truyền tham số từ client

 Truyền tham biến: các tham số được truyền đi là con trỏ hay biến chứa địa chỉ của nơi chưa giá trị thực của chúng Các thủ tục được gọi sẽ căn cứ vào địa chỉ này để tham chiếu đến giá trị khi tính toán Khi giá trị này bị thay đổi trong khi thực hiện thủ tục thì sẽ được thông báo cho client và các lần gọi sau sẽ dùng giá trị mới đó

 Truyền tham trị: các tham số được truyền đi là các giá trị cụ thể Các thủ tục được gọi đến

sẽ coi các tham số này như là các biến được khởi tạo cục bộ, có thể thay đổi giá trị nhưng không ảnh hưởng tới giá trị gốc trong lần gọi sau Vấn đề đặt ra khi truyền tham trị là yêu cầu giữa các máy phải có sự đồng nhất về việc biểu diễn dữ liệu và các kiểu dữ liệu

- Các mô hình RPC mở rộng: truyền thông không đồng bộ (RPC dị bộ), RPC đồng bộ trễ, RPC đơn tuyến

Trang 8

- RMI là một sự cài đặt cơ chế RPC trong ngôn ngữ lập trình hướng đối tượng Java

* Truyền thông hướng thông điệp:

- Thông điệp là một tập các đối tượng dữ liệu được định kiểu nhằm dễ dàng chuyển đổi đối tượng

dữ liệu trong hệ thống

- Thông điệp gồm: đầu thông điệp (chứa thông tin điều khiển phụ thuộc hệ thống) và thân thông điệp (chứa các đối tượng dữ liệu)

- Các loại truyền thông hướng thông điệp:

+ Truyền thông cơ bản:

 Truyền thông kiên trì: Khi 1 trạm muốn gửi bản tin trên mạng, nó sẽ gửi bản tin đến interface của máy mình Qua bộ nhớ đệm, bản tin truyền đi trong mạng cục bộ để đến mail server cục bộ Mail server lưu bản tin vào bộ nhớ đệm, xác định địa chỉ trạm đích rồi gửi tới server cục bộ của trạm đích tương ứng (có thể qua nhiều mail server trung gian) Tới mail server cuối, bản tin sẽ được lưu lại và gửi cho trạm đích tương ứng

VD: thư điện tử

 Truyền thông nhất thời: Bản tin gửi đi chỉ được lưu lại trong phiên trao đổi đó Khi phiên trao đổi đã hoàn thành hoặc kết nối bị hủy thì bản tin cũng bị hủy trên các server Vì vậy, nếu 1 server trung gain không thể chuyển tiếp bản tin thì bản tin sẽ bị hủy bỏ

Trang 9

VD:

 Truyền thông đồng bộ, nhất thời: Bản tin không được lưu trữ lâu dài Khi gửi đi bản tin, trạm gửi sẽ chờ nhận thông báo đã nhận thành công từ trạm nhận sau đó mới thực hiện tiếp công việc của mình

VD:

* Truyền thông hướng dòng:

- Medium: chỉ các phương tiện dùng để truyền thông tin như các thiết bị lưu trữ, đường truyền, các phương tiện hiển thị, …

- Data stream: là chuỗi các đơn vị dữ liệu

- Dòng đơn (simple stream) là dòng chỉ gồm một chuỗi đơn vị dữ liệu

- Dòng phức (complex stream): bao gồm nhiều chuỗi đơn vị dữ liệu khác nhau Mỗi chuỗi này được gọi là một dòng con (sub stream)

- Với data stream, thời gian là yếu tố quyết định Để kiểm soát thời gian, có 3 phương thức truyền: + Truyền dị bộ: các mục dữ liệu truyền tuần tự và không có ràng buộc thời gian truyền

+ Truyến đồng bộ: quy định trước độ trễ tối đa cho mỗi đơn vị dữ liệu trong data stream + Truyền đẳng thời: quy định độ trễ lớn nhất và nhỏ nhất cho mỗi đơn vị dữ liệu trong data stream Cách truyền này đóng một vai trò quan trọng trong việc trình diễn audio và video

- Có 2 loại đồng bộ các dòng:

+ Đồng bộ đơn giản: thực hiện đồng bộ giữa dòng trễ và dòng liên tục Ví dụ trong việc trình diễn slide có kèm âm thanh Dòng hình ảnh slide là dòng trễ còn dòng âm thanh là dòng liên tục, phải đồng bộ hai dòng này để thu được kết quả trình diễn như ý muốn

+ Đồng bộ phức tap: là đồng bộ giữa các dòng dữ liệu liên tục Ví dụ trong việc xem phim trực tuyến, cả dòng âm thanh và dòng hình ảnh đều là các dòng liên tục cần phải được đồng bộ

Ví dụ như xem phim trực tuyến, âm thanh và hình ảnh đều là dòng liên tục Cần phải đồng bộ

2 dòng này để thu được kết quả là bộ phim chiếu đúng

Câu 8

Trang 10

- Tiến trình là 1 chương trình đang trong quá trình thực thi bởi 1 trong các bộ xử lý ảo của hệ điều

+ Phải dừng hoạt động do hết thời gian

+ Đợi một thao tác I/O hoàn tất

+ Phải chờ một sự kiện xảy ra

- Tại một thời điểm, tiến trình có thể có một trong các trạng thái:

+ Khởi tạo (New): tiến trình vừa được tạo lập;

+ Sẵn sàng (Ready): tiến trình đã được cấp phát đầy đủ tài nguyên (trừ processor) và đang đợi trong hàng đợi (ready queue) chờ chiếm dụng CPU để tiếp tục;

+ Thực thi (Running): tiến trình đang được xử lý bởi CPU (đang chiếm dụng CPU);

+ Bị chặn - đợi (Blocked, Waiting): tiến trình tạm dừng và chờ vì thiếu tài nguyên hay chờ 1

- Mỗi tiến trình có 1 không gian địa chỉ và chỉ có 1 dòng xử lý Để có nhiều dòng xử lý công việc

có thể cùng chia sẻ 1 không gian địa chỉ, và các dòng xử lý hoạt động song song với nhau, cần có

1 cơ chế xử lý được gọi là tiểu trình (luồng)

Câu 9+10

- Tiểu trình (luồng) là 1 đơn vị xử lỹ cơ bản trong hệ thống Một hay nhiều luồng có thể tồn tại

cùng trong một tiến trình và cùng sử dụng tài nguyên

- Mỗi luồng xử lý tuần tự đoạn code của nó, sở hữu 1 con trỏ lệnh, tập các thanh ghi và một vùng nhớ stack riêng

Trang 11

- Trên một bộ vi xử lý hỗ trợ đa luồng, processor chuyển đổi và xử lý giữa các luồng Các luồng

được thực hiện luân phiên nhau, không có luồng nào chiếm ưu thế trong CPU Sự chuyển đổi này xảy ra thường xuyên đủ cho người dùng cảm nhận việc thực hiện các luồng hoặc nhiệm vụ này như là liên tục Trong các hệ thống đa bộ vi xử lý hoặc đa lõi, các luồng hoặc nhiệm vụ thực sự có thể được thực hiện đồng thời thực sự với việc mỗi bộ xử lý hoặc mỗi lõi sẽ xử lý một luồng hoặc công việc riêng biệt

- Ý nghĩa: Kỹ thuật đa luồng cho phép khai thác tính song song khi thực thi một chương trình trên một hệ thống nhiều bộ xử lý Khi đó mỗi luồng được gán cho một CPU khác nhau trong khi dữ liệu dùng chung được lưu trữ trong bộ nhớ chính dùng chung Phương pháp này thường được dùng trong môi trường UNIX

+ Đáp ứng nhanh: cho phép chương trình tiếp tục thực hiện thậm chí khi một bộ phận của nó

bị khóa hoặc đang thực hiện một hoạt động dài

+ Chia sẻ tài nguyên: cho phép một ứng dụng có một số luồng khác nhau hoạt động trong cùng một không gian địa chỉ

+ Thực hiện trong kiến trúc multiprocessor: lợi ích của đa luồng tăng lên trong kiến trúc multiprocessor, vì các luồng có thể chạy song song trên các processor

+ Kinh tế: tạo và chuyển ngữ cảnh luồng kinh tế hơn so với tiến trình Sử dụng CPU hiệu quả hơn

* Mô hình đa luồng phía client (Multithreaded Client):

- Hệ phân tán hoạt động trong một mạng lớn cần phải che dấu số lần truyền thông các thông điệp nội bộ

- Độ trễ trong mạng lớn có thể từ vài trăm ms đến vài s Thông thường để ẩn độ trễ trong kết nối là

để thiết lập kết nối và ngay lập tức thực thi 1 việc khác

Trang 12

- Một ví dụ điển hình là hoạt động của trình duyệt web: bao gồm tệp tin HTML, hình ảnh, video, biểu tượng… Để lấy từng phần của tài liệu trình duyệt sẽ thiết lập 1 kết nói TCP/IP đọc dữ liệu gửi đến và chuyển chúng đến phần hiển thị Thiết lập kết nối cũng như đọc dữ liệu sẽ ngăn cản các hoạt động khác Khi xử lý các kết nối lâu ta có những bất lợi đó là thời gian hoàn thành tác vụ này tương đối dài Một trình duyệt web thường bắt đầu với các trang HTML và sau đó là hiển thị nó

Để ẩn trễ tới mức tốt nhất, một số trình duyệt bắt đầu hiển thị các dữ liệu trong khi vẫn nhận các thông tin mới Như vậy người dung sẽ không phải đợi đến khi mà toàn trang được tải xong thì mới xem được nội dung của trang

- Viêc sử dụng multithreaded client, conection có thể được thiết lập tới các bản copy khác nhau của webserver, cho phép dữ liệu truyền song song

- Trong thực tế, trình duyệt web thực hiện một số nhiệm vụ đồng thời, ngay khi mà trang chính

HTML được tải xuống, các luồng riêng biệt được bật để quản lý các phần khác Mỗi luồng được thiết lập riếng với máy chủ để lấy dữ liệu.Như vậy, khi ta dùng một máy chủ và ở thời điểm có rất nhiều máy cùng gửi yêu cầu đến máy chủ đó thì máy chủ này sẽ phải chịu tải rất lớn và trở nên chậm chạp.Tuy nhiên trong trường hợp này, máy chủ web được nhân rộng trên nhiều máy tính nơi

mà mỗi máy chủ cung cấp một cách chính xác cùng một bộ tài liệu Như vậy khi 1 yêu cầu được gửi đến máy chủ thì yêu cầu này sẽ được chuyển đến 1 trong các máy chủ đó theo cơ chế cân bằng tải Tuy nhiên việc này chỉ thực sự có hiệu quả khi mà trình duyệt của máy khách có thể xử lý đồng thời các tài liệu web được gửi đến

* Mô hình đa luồng phía client (Multithreaded Client):

- Mặc dù những lợi ích quan trọng của việc sử dụng đa luồng trên ứng dụng phía client nhưng ứng dụng đa luồng trong hệ phân tán lại nằm bên phía máy chủ

- Đa luồng không chỉ làm đơn giản mã trên máy chủ mà còn làm cho việc phát triển máy chủ khai thác xử lý song song đạt được hiệu năng cao

- Trong thực tế, việc tổ chức một tập tin cho máy chủ mà thông thường phải đợi khoảng một thời

gian để đọc đĩa Máy chủ tệp tin thường đợi các yêu cầu từ phía client và xử lý trả về kết quả.Tuy nhiên thì có thể thực hiện việc bằng cách khác, sẽ có một luồng trên đóng vai trò là luồng điều phối chuyên nhận các yêu cầu từ phía client và kiểm tra xem các luồng khác ở trên server luồng nào là đang ở trạng thái chờ và chuyển yêu cầu của client cho luồng đó Khi luồng nhận yêu cầu từ phía client thì nó cũng chuyển sang trạng thái bị block và chỉ làm việc với các thao tác liên quan đến tệp tin và chỉ chuyển lại trạng thái chờ khi xử lý xong yêu cầu của client Như vậy rõ ràng là một lợi thế bởi nếu tất cả tài nguyên CPU chỉ tập trung cho việc xử lý tệp tin (1 luồng) thì mỗi tệp tin có thể xử lý nhanh nhưng đối với những sử lý lớn thì nó vẫn cần phải có thời gian giải quyết và các yêu cầu tiếp theo từ phía client (dù rất nhỏ) cũng phải xếp hàng và chờ đợi

Trang 13

Câu 11+36

- Di trú mã: là quá trình di chuyển các chương trình hoặc đoạn mã chương trình từ máy này sang

máy khác Toàn bộ hiệu suất hệ thống có thể được nâng lên, nếu các tiến trình được di chuyển từ máy có mức độ xử lí quá nhiều đến máy có mức độ xử lí ít hơn

- Lý do cần phải di trú mã:

+ Hiệu suất:

 Cải thiện hiệu suất hệ thống khi tiến trình được di chuyển từ máy đang ở mức độ xử lý thấp đến cao nên sẽ giảm tài nguyên, thông qua cân bằng tải giữa các server trong hệ thông

 Tăng hiệu quả sử dụng tài nguyên, qua đó, tăng tính mềm dẻo trong thực thi hệ phân tán

 Tận dụng cơ chế song song mà không cần quan tâm đến vấn đề lập trình song song

 Có tính chịu lỗi cao

+ Tính linh hoạt:

 Cấu hình linh động

 Client không cần cài đặt trước phần mềm

- Quy ước 1 tiến trình bao gồm 3 thành phần :

1 Code segment : chứa tập lệnh chương trình

2 Resource segment: chứa các tham chiếu đến tài nguyên bên ngoài mà tiến trình cần

3 Execution segment : chứa trạng thái thực thi hiện hành của tiến trình

* Các mô hình di trú mã:

+ Mô hình di động yếu (weak mobility): chỉ chuyển code segment theo 1 số điều kiện ban đầu Một đặc điểm của mô hình mã di trú yếu là một chương trình được chuyển luôn bắt đầu ở trạng thái khởi tạo của nó

Lợi thế của di trú yếu đó là tính đơn giản, nó chỉ cần máy đích có thể thực thi mã là được

+ Mô hình di động mạnh (strong mobility): chuyển luôn cả 3 thành phần Đặc điểm này của

mô hình này là tiến trình đang chạy có thể được dừng, sau đó di chuyển đến máy khác và rồi được thiết lập lại trạng thái đã bị dừng trước đó

Mô hình mã di trú di động mạnh tốt hơn nhiều so với mô hình mã di trú yếu, tuy nhiên sẽ khó thực hiện hơn

+ Di trú được khởi tạo từ phía gửi: Di trú được khởi động từ máy mà phần code của tiến trình được lưu trữ hoặc đang thực hiện

Di trú này hoàn thành khi upload chương trình

Trang 14

+ Di trú được khởi tạo từ phía nhận: Di trú được khởi động từ máy tính cần nhận tiến trình đang được thực hiện trên máy tính khác

Di trú này hoàn thành khi download chương trình Di trú được khởi tạo từ phía nhận thực thi đơn giản hơn di trú được khởi tạo từ phía gửi

* Ví dụ ứng dụng di trú mã: Trong trường hợp server chứa lượng cơ sở dữ liệu lớn, và client cần

thực hiện nhiều hoạt động trên csdl này, có thể nên chuyển một phần mã của ứng dụng client sang server và chỉ gửi kết quả qua mạng, giúp giảm tải đáng kể Điều này có thể áp dụng tương tự cho phía client

Câu 12

- Tên (name): là các dòng bit hoặc các kí tự để dẫn đến các thực thể

- Thực thể (entity): là tất cả những gì thuộc hệ thống như máy in, ổ cứng, process, host, người dùng, hòm thư, trang web, …

- Điểm truy cập (acess point): là một loại thực thể đặc biệt trong hệ phân tán, được sử dụng để truy cập tới các thực thể khác

- Địa chỉ (address): là một dạng tên gọi đặc biệt của điểm truy cập, gắn liền với thực thể

- Định danh (identifier): là một kiểu tên đặc biệt thỏa mãn 3 tính chất

+ ID trỏ đến không nhiều hơn một thực thể

+ Mỗi thực thể không có nhiều hơn 1 ID trỏ đến nó

+ Không thể sử dụng ID đã sử dụng cho thực thể khác

* Một số đặc điểm:

- Ý nghĩa của tên gọi: đảm bảo cùng sử dụng tài nguyên, xác định tính duy nhất của thực thể hoặc đường dẫn tới nơi lưu trữ Đặc tính quan trọng của việc đặt tên là nó có thể giải được và từ đó có thể tìm được thực thể

- Thực thể có thể có nhiều hơn một điểm truy cập do điểm truy cập có thể thay đổi theo thời gian (VD: địa chỉ IP thay đổi khi di chuyển tới nơi khác)

- Địa chỉ không gắn cứng với thực thể mà phải thông qua điểm truy cập bởi vì trong nhiều trường hợp nó giúp hệ thống đơn giản và dễ triển khai hơn VD: khi đổi server chỉ cần điều chỉnh địa chỉ

mà người dùng vẫn quen sử dụng sang server mới thì vẫn đảm bảo hệ thống hoạt động bình thường

- Địa chỉ và ID là 2 kiểu tên gọi quan trọng, mỗi loại sử dụng vào 1 mục đích khác nhau

Ngày đăng: 28/12/2018, 11:11

TỪ KHÓA LIÊN QUAN

w