Bài tập hệ phân tán có đáp án chi tiết

12 8.6K 94
Bài tập hệ phân tán có đáp án chi tiết

Đ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

Vai trò của Middleware trong Hệ Phân Tán: giúp cải thiện tính trong suốt của hệ thống, giúp cho việc cấu hình là duy nhất. Middleware thừa kế tính trong suốt của DOS, tính mở của NOS > Thừa kế ưu điểm của cả 2Tính trong suốt của hệ phân tán: Hệ thống là duy nhất với người sử dụng.Các kiểu trong suốt: Che giấu về quy mô, vị trí, việc điều hướng, dữ liệu...

Chương 1: Giới thiệu Assignment for Introduction Câu hỏi 1: Vai trò Middleware Hệ Phân Tán gì? Câu hỏi 2: Tại nói Middleware thừa kế ưu điểm DOS NOS? Câu hỏi 3: Giải thích tính suốt HPT, đưa ví dụ cho kiểu suốt khác Câu 4: Tại khó để che giấu xuất lỗi phục hồi lỗi HPT? Câu 5: Tại lúc tốt giữ độ suốt mức cao có thể? Câu 6: Thế HPT mở? Các lợi ích tính mở đem lại gì? Câu 7: Những kỹ thuật sử dụng để mở rộng hệ thống? Bài làm: Câu 1: Vai trò Middleware Hệ Phân Tán: giúp cải thiện tính suốt hệ thống, giúp cho việc cấu hình Câu 2: Middleware thừa kế tính suốt DOS, tính m NOS -> Th ừa kế ưu điểm Câu 3: Tính suốt hệ phân tán: Hệ thống v ới người s dụng Các kiểu suốt: Che giấu quy mô, vị trí, việc điều h ướ ng, d ữ liệu Câu 4: Rất khó để che dấu xuất lỗi phục hồi lỗi Hệ phân tán nh hiệu không đảm bảo mức độ Câu 5: Bởi độ suốt tỷ lệ nghịch v ới hiệu Nếu giữ độ suốt mức cao hiệu lại thấp Câu 6: Hệ phân tán mở hệ phân tán có khả kết nối thêm, m rộng máy tính, tài nguyên mà không bị đặc kiến trúc máy tính Các lợi ích tính m đem lại: + Cho phép thành phần sản xuất t nhiều nhà sản xuất khác + Khả chuyển, mềm dẻo, không tạo nên tính đặc quyền, dễ dàng nâng cấp hệ thống Hệ thống nhanh chóng hoàn thiện Câu 7: Những kỹ thuật sử dụng để mở rộng hệ thống: - Phân tán liệu - Sao lưu - Sử dụng ức chế đệm Labwork_exercise: Introduction Câu hỏi 1: Chỉ đường dẫn đến file html chứa nội dung trang web mặc định apache Câu hỏi 2: Cổng mặc định giao thức http mà web server lắng nghe cổng nào? Câu hỏi 3: Phân quyền 755 nghĩa nào? Câu hỏi 4: Sau gõ địa bạn thấy điều gì? giải thích Câu hỏi 5: muốn cho máy khác mạng LAN với máy tính vừa làm việc truy cập vào địa example.com test.com phải làm gì? giải thích Bài làm: Câu 1: Đường dẫn /var/www/example.com/index.html Câu 2: Cổng mặc định: 80 Câu 3: Phân quyền 755: set quyền cho app để hoạt động tốt IP Câu 4: Sau gõ địa trên, kết hiển thị hình d ưới đây: Câu 5: Muốn cho máy khác mạng Lan v ới máy tính v ừa làm việc truy cập vào địa example.com test.com cần đặt cổng mặc định cho giao th ức http web server Chương 2: Kiến trúc Assignment for Architecture Câu hỏi 1: Khi máy client server đặt xa mặt địa lý, điều dẫn tới việc độ trễ thời gian trao đổi thông tin máy cao, hậu làm giảm hiệu hệ thống Bạn có đề xuất để giải vấn đề này? Câu hỏi 2: Kiến trúc client-server tầng gì? Câu hỏi 3: Sự khác phân tán dọc phân tán ngang gì? Câu hỏi 4: Trong mạng overlay có cấu trúc, thông điệp định tuyến dựa theo hình trạng mạng (topology) Nhược điểm quan trọng hướng tiếp cận gì? Câu hỏi 5: Xét chuỗi tiến trình P1, P2, , Pn triển khai kiến trúc client-server đa tầng Cơ chế hoạt động tổ chức sau: tiến trình Pi client tiến trình Pi+1, Pi trả lời Pi-1 nhận câu trả lời từ Pi+1 Vậy vấn đề nảy sinh với tổ chức xem xét hiệu yêu cầu-trả lời tới P1? Câu hỏi 6: Xét mạng CAN hình Giả sử tất node biết node hàng xóm Một giải thuật định tuyến đưa gửi gói tin cho node hàng xóm gần hướng đến đích Giải thuật có tốt không? Giải thích Bài làm: Câu 1: - Chia đoạn mã client thành đoạn nhỏ cho chạy độc lập - Thiết kế client cho làm việc khác sau g ửi yêu cầu - Thay trao đổi thông tin đồng sang bất đồng chiều Câu 2: Kiến trúc client-server tầng: - Giao diện - Nghiệp vụ - Dữ liệu Câu 3: Sự khác phân tán dọc phân tán ngang là: - Phân tán dọc phân tầng theo chức - Phân tán ngang phân tầng theo tải Câu 4: Nhượ c điểm: Liên kết node liên kết logic nên không thấy liên kết vật lý bên d ưới Câu 5: - Hiệu bị ảnh hưở ng (n-2) tươ ng tác phía - Nếu Pi bị treo không gửi yêu cầu cho Pi-1 Câu 6: Giải thuật chưa tối ưu: VD: Từ nút A gửi cho nút C theo giải thuật, t A->D->C th ời gian h ơn so v ới A->B->C Chương 3: Tiến trình luồng Assignment for Processes and Threads Câu 1: Có cần thiết phải giới hạn số lượng luồng tiến trình server? Câu 2: Có nên gắn luồng đơn với tiến trình nhẹ? Câu 3: Có nên có tiến trình nhẹ đơn gắn với tiến trình? Câu 4: Bài toán yêu cầu bạn so sánh thời gian đọc tệp (file) máy chủ tập tin (file server) đơn luồng máy chủ đa luồng Phải tổng cộng 15 ms để nhận yêu cầu (request) thực trình xử lý, giả định liệu cần thiết nằm nhớ đệm nhớ Nếu cần thiết phải thực thao tác truy cập ổ đĩa cần thêm 75 ms, biết việc phải thực thao tác có xắc suất 1/3 Hỏi máy chủ nhận yêu cầu/giây trường hợp: máy chủ đơn luồng máy chủ đa luồng (ngoài luồng nhận xử lý request, có thêm luồng để truy cập ổ đĩa cần thiết)? Giải thích Câu 5: Hệ thống X định máy user chưa server, ứng dụng lại coi client Điều có vô lý không? Giải thích Câu 6: Giao thức thiết kế cho hệ thống X gặp phải vấn đề tính mở rộng Chỉ giải pháp để giải vấn đề đó? Câu 7: Với việc xây dựng server đồng thời, so sánh việc server tạo luồng tạo tiến trình nhận yêu cầu từ phía client Câu 8: Nếu webserver tổ chức lưu lại thông tin địa IP client trang web client vừa truy cập Khi có client kết nối với server đó, server tra xem bảng thông tin, tìm thấy gửi nội dung trang web cho client Server có trạng thái (stateful) hay không trạng thái (stateless)? Bài làm: Câu 1: Cần giới hạn số lượ ng luồng tiến trình server tạo nhiều luồng tốn nh Câu 2: Không phải làm Câu 3: Không nên có tiến trình nhẹ đơn gắn v ới tiến trình Câu 4: - Đơn luồng: Thời gian để nhận yêu cầu: 15 x 2/3 + (15+75) x 1/3 = 40 (ms) => Số yêu cầu/giây: 1000/40 = 250 (yêu cầu) - Đa luồng: 1000/15 (yêu cầu) Câu 5: Điều không vô lý Câu 6: Giải pháp: - Cải thiện giao thức X protocol - Nén thông điệp Câu 7: Tạo tiến trình tốn tài nguyên so v ới luồng Tạo tiến trình -> Xử lý tách biệt tài nguyên -> Đơn giản h ơn Nếu muốn collection trao đổi v ới nên tạo luồng Câu 8: Server không trạng thái (stateless) đặc trưng webserver Labwork_exercise: processes and threads Câu hỏi 1: Thông điệp "HTTP/1.1 200 OK" gì? Giải thích Câu hỏi 2: Mô tả tượng xảy gõ địa vào trình duyệt Giải thích chi tiết Chương 4: Trao đổi thông tin Assignment to Communication Câu hỏi 1: Trong giao thức phân tầng, tầng có header riêng Vậy có nên triển khai hệ thống mà tất header tầng đưa chung vào phần (gọi header chung), gắn vào đầu thông điệp để xử lý chung? Giải thích Câu hỏi 2: Xét thủ tục incr với tham số nguyên Thủ tục làm nhiệm vụ cộng tham số với Bây xét trường hợp gọi thủ tục với biến lần, ví dụ incr(i, j) Nếu biến i khởi tạo giá trị 0, giá trị i sau gọi thủ tục trường hợp sau: - Lời gọi tham chiếu - Phương pháp chép-phục hồi sử dụng Câu hỏi 3: Hãy mô tả trình trao đổi thông tin không hướng kết nối client server sử dụng socket Câu hỏi 4: Liệu áp dụng phương pháp trao đổi thông tin bất đồng bền vững vào chế RPC không? Phân tích Bài làm: Câu 1: Không nên triển khai hệ thống làm hệ thống không ý nghĩa phân tầng, tầng cần độc lập với nhau, việc thay thế, cải tiến làm tính suốt hệ thống Câu 2: - Trườ ng hợp 1: Lời gọi tham chiếu Mỗi trỏ trỏ -> i, i tăng đơn vị -> i tăng lần -> i = - Trườ ng hợp 2: Phươ ng pháp chép phục hồi sử dụng: Sao lưu không làm tăng giá trị Ghi đè giá trị lần -> i =1 Câu 3: Quá trình trao đổi thông tin không hướ ng kết nối gi ữa client server s dụng socket: Trướ c trao đổi liệu, bên gửi bên nhận thiết lập kênh truyền chung, thống v ới giao thức sử dụng Câu 4: Áp dụng phươ ng pháp trao đổi thông tin bất đồng bền vững vào c chế RPC: - Tính bất đồng bộ: Thông tin không tự block sau gọi - Tính bền vững: Có nh trung gian để lưu tr ữ -> biến trung gian - Tính tin cậy: Coi reply thông điệp báo nhận Đặc điểm RPC: - Ko cần báo nhận - Ko cần kiểm soát luồng - Ẩn trình thiết lập kết nối - Phù hợp với datagram tầng giao vận Chương 5: Tên hệ phân tán Assignment for Naming Câu hỏi 1: Tại lấy địa Access Point để sử dụng địa thực thể? Câu hỏi 2: Với việc sử dụng Định Danh, vấn đề cần phải xem xét? Câu hỏi 3: Xét thực thể di chuyển từ vị trí A sang vị trí B Trong trình di chuyển thực thể có qua nút trung gian dừng lại khoảng thời gian ngắn Khi đến B, thực thể dừng lại Chúng ta biết việc thay đổi địa dịch vụ tổ chức vị trí phân cấp (hierarchical location service) thời gian để hoàn thành, cần tránh làm việc thực thể tạm dừng nút trung gian Hãy đề xuất mô hình kết hợp dịch vụ tổ chức vị trí phân cấp chế chuyển tiếp trỏ (forwarding pointers) để xác định vị trí thực thể nút trung gian Câu hỏi 4: Khi thêm node vào hệ thống Chord, có cần phải cập nhật toàn bảng finger? Câu hỏi 5: Phân giải tên đệ qui có ưu điểm so với phân giải tên không đệ qui? Bài làm: Câu 1: Vì thông tin có khả di chuyển từ Access point sang Access point khác Câu 2: Các vấn đề: Không gian định danh hữu hạn -> Cạn kiệt định danh Giải pháp: Sử dụng lại -> Có khả bị trùng Câu 3: - Khi thông tin dịch chuyển vị trí trung gian A & B, để lại trỏ đến B ghi thêm địa m ới -> mô hình phân cấp - Chuỗi trỏ trung gian bị xóa đi, địa A bị xóa Câu 4: Không cần phải cập nhật toàn bảng finger, cần cập nhật cho nút sau nút tr ước hệ thống Chord, nút quản lý khóa nút tr ướ c Câu 5: Ưu điểm phân giải có đệ quy so v ới phân giải không đệ quy: - Phân giải tên có đệ quy xử lý nhiều bên server, phân giải ko đệ quy x lý nhiều bên client Khi client xa, phân giải không đệ quy phải gửi gửi lại dẫn t ới độ trễ cao - Phân giải tên có đệ quy name server tổ ch ức l ưu trữ đệm, server l ưu tr ữ kết quả, trả lời nhanh cho client Chương 6: Đồng hóa Assignment for Synchronization Câu hỏi 1: Trình bày ví dụ để mô vấn đề gặp phải máy tính/tiến trình hoạt động hệ thống phân tán mà đồng hộ vật lý dùng chung Câu hỏi 2: Tại Lamport lại đề xuất sử dụng đồng hồ logic thay cho đồng hồ vật lý hệ phân tán? Câu hỏi 3: Đặc điểm mạng không dây (wireless network) khiến cho thiết kế giải thuật đồng khác kiểu mạng khác? Câu hỏi 4: Giải thuật Lamport đưa để thực loại trừ lẫn (mutual exclusion) Giải thuật mô tả sau: Hệ thống có n tiến trình: P1, P2, Pn Có tài nguyên chia sẻ dùng chung gọi SR (Shared Resource) Mỗi tiến trình lưu trữ hàng đợi queuei để lưu yêu cầu tiến trình khác chưa thực Khi tiến trình Pi muốn truy cập vào SR, quảng bá thông điệp REQUEST(tsi,i) cho tất tiến trình khác, đồng thời lưu trữ thông điệp vào hàng đợi (queuei) tsi timestamp yêu cầu Khi tiến trình Pj nhận yêu cầu REQUEST(tsi,i) từ tiến trình Pi đưa yêu cầu vào hàng đợi (queuej) gửi trả lại cho Pi thông điệp REPLY Tiến trình Pi tự cho phép sử dụng SR kiểm tra thấy yêu cầu nằm đầu hàng đợi queueivà yêu cầu khác có timestamp lớn yêu cầu Tiến trình Pi, không dùng SR xóa yêu cầu khỏi hàng đợi quảng bá thông điệp RELEASE cho tất tiến trình khác Khi tiến trình Pj nhận thông điệp RELEASE từ Pi xóa yêu cầu Pi hàng đợi Câu hỏi: a) Để thực thành công tiến trình vào sử dụng SR, hệ thống cần tổng cộng thông điệp? b) Có cách cải thiện thuật toán sau: sau Pj gửi yêu cầu REQUEST cho tiến trình khác nhận thông điệp REQUEST từ Pi, nhận thấy timestamp REQUEST vừa gửi lớn timestamp REQUEST Pi, không gửi thông điệp REPLY cho Pi Cải thiện có hay không? Và với cải thiện tổng số thông điệp cần để thực thành công tiến trình vào sử dụng SR bao nhiêu? Giải thích Câu hỏi 5: Giải thuật Szymanski thiết kế để thực loại trừ lẫn Ý tưởng giải thuật xây dựng phòng chờ (waiting room) có đường đường vào, tương ứng với cổng cổng vào Ban đầu cổng vào mở, cổng đóng Nếu có nhóm tiến trình yêu cầu muốn sử dụng tài nguyên chung SR (shared resource) tiến trình xếp hàng cổng vào vào phòng chờ Khi tất vào phòng chờ tiến trình cuối vào phòng đóng cổng vào mở cổng Sau tiến trình sử dụng tài nguyên chung Tiến trình cuối sử dụng tài nguyên đóng cổng mở lạicổng vào Mỗi tiến trình Pi có biến flagi, tiến trình Pi có quyền ghi, tiến trình Pj (j ≠ i) đọc Trạng thái mở hay đóng cổng xác định việc đọc giá trị flag tiến trình khác Mã giả thuật toán tiến trình i viết sau: #Thực vào phòng đợi flag[i] ← await(all flag[1 N]∈{0,1,2}) flag[i] ← ifany flag[1 N]=1: flag[i] ← await(any flag[1 N]=4) flag[i] ← await(all flag[1 i-1]∈{0,1}) #Sử dụng tài nguyên # #Thực giải phóng tài nguyên await(all flag[i+1 N]∈{0,1,4}) flag[i] ← Giải thích ký pháp thuật toán: await(điều_kiện): chờ đến thỏa mãn điều_kiện all: tất any: có Câu hỏi: flag[i] có giá trị trạng thái từ 0-4 Dựa vào giải thuật trên, giá trị mang ý nghĩa tương ứng sau (có giải thích): - Chờ tiến trình khác vào phòng chờ - Cổng vào đóng - Tiến trình i phòng chờ - Rời phòng, mở lại cổng vào không phòng chờ - Đứng đợi phòng chờ Bài làm: Câu 1: Ví dụ, mạng máy tính nhận gói tin có th ời gian gửi sau th ời gian máy Câu 2: Vì quan trọng thứ tự yêu cầu thời gian cụ thể Câu 3: Đặc điểm mạng không dây: cần tối ưu việc nhận gửi thông điệp Câu 4: a) (n-1) thông điệp request (n-1) thông điệp reply (n-1) thông điệp release => Tổng = 3(n-1) b) 2(n-1) < < 3(n-1) Tốt nhất> >Xấu => Tiết kiệm (n-1) thông điệp reply Câu 5: - Chờ tiến trình khác vào phòng ch ờ: - Cổng vào đóng: - Tiến trình i phòng ch ờ: - Rời phòng, mở lại cổng vào không phòng ch ờ: - Đứng đợi phòng ch ờ: ... tầng: - Giao diện - Nghiệp vụ - Dữ liệu Câu 3: Sự khác phân tán dọc phân tán ngang là: - Phân tán dọc phân tầng theo chức - Phân tán ngang phân tầng theo tải Câu 4: Nhượ c điểm: Liên kết node liên... làm giảm hiệu hệ thống Bạn có đề xuất để giải vấn đề này? Câu hỏi 2: Kiến trúc client-server tầng gì? Câu hỏi 3: Sự khác phân tán dọc phân tán ngang gì? Câu hỏi 4: Trong mạng overlay có cấu trúc,... máy tính/tiến trình hoạt động hệ thống phân tán mà đồng hộ vật lý dùng chung Câu hỏi 2: Tại Lamport lại đề xuất sử dụng đồng hồ logic thay cho đồng hồ vật lý hệ phân tán? Câu hỏi 3: Đặc điểm mạng

Ngày đăng: 19/12/2016, 15:58

Từ khóa liên quan

Mục lục

  • Labwork_exercise: Introduction

  • Chương 2: Kiến trúc

  • Assignment for Architecture

  • Chương 3: Tiến trình và luồng

  • Assignment for Processes and Threads

  • Labwork_exercise: processes and threads

  • Chương 4: Trao đổi thông tin

  • Assignment to Communication

  • Chương 5: Tên trong hệ phân tán

  • Assignment for Naming

  • Chương 6: Đồng bộ hóa

  • Assignment for Synchronization

Tài liệu cùng người dùng

Tài liệu liên quan