Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 31 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
31
Dung lượng
1,11 MB
Nội dung
CHƯƠNG 3: TIẾN TRÌNH I Tiến trình luồng Tiến trình Luồng Tiến trình HPT II Tiến trình mơ hình Client/Server III Vấn đề ảo hoá hệ phân tán IV Di trú mã hệ thống đa tác tử Tiến trình (Process) • Trên quan điểm thực hiện: – Gồm dãy lệnh, kết thực lệnh làm thay đổi trạng thái hệ thống • Trên quan điểm sở hữu: – Chủ sở hữu số tài ngun – Có tập lệnh (the “program”) • Tiến trình = chương trình thực Có ngữ cảnh thực tối thiểu, thứ khác thuộc tiến trình chứa Luồng (thread) • Luồng = đoạn mã gồm dãy có thứ tự (tĩnh) lệnh, chạy đồng thời với luồng khác • Các luồng thường sử dụng rộng rãi để xử lý tương tranh máy đơn xử lý đa xử lý • Lập trình đa luồng = lập trình cơng việc có nhiều luồng điều khiển Ví dụ: chương trình đơn luồng class ABC { … public void main( ) { … } } begin body end Ví dụ: chương trình đa luồng Main Thread start Thread A start Thread B start Thread C Threads may switch or exchange data/results Tiến trình đơn luồng đa luồng Luồng tiến trình đơn giản tiến trình lớn Single-threaded Process Multiplethreaded Process Threads of Execution Single instruction stream Multiple instruction stream Common Address Space Luồng HPT • Multithreaded clients: độ trễ mạng vấn đề • Multithreaded web client: – Trình duyệt đọc file HTML, tìm thấy files khác cần lấy – Mỗi file lấy luồng riêng, luồng gửi HTTP request – Khi nhận file, trình duyệt thị chúng • Multiple request-response calls to other machines (RPC): – Client phát nhiều lời gọi luồng khác – Đợi đến nhận tất kết – Nếu lời gọi gửi tới nhiều server khác nhau, tốc độ cải thiện rõ rệt Đa xử lý (clusters & grids) tính toán đa luồng Threaded Libraries, Multi-threaded I/O Application Application Application Application CPU CPU CPU Better Response Times in Multiple Application Environments CPU CPU CPU Higher Throughput for Parallelizeable Applications Ứng dụng Web/Internet: Phục vụ nhiều người dùng lúc PC client Internet Server Local Area Network PD A Máy chủ đa luồng (Multithreaded Servers) • Tổ chức máy chủ đa luồng theo mơ hình điều phối/thực (dispatcher/worker model) CHƯƠNG 3: TIẾN TRÌNH I Tiến trình luồng II Tiến trình mơ hình Client/Server III Vấn đề ảo hoá hệ phân tán Mở đầu Kiến trúc máy ảo Phân loại máy ảo IV Di trú mã hệ thống đa tác tử Mở đầu • Các hệ điều hành cho phép thực đồng thời nhiều chương trình thơng qua việc ảo hóa tài nguyên (resource virtualization): – Sử dụng phần mềm để khiến cho chương trình giống tiến trình tương tranh thực đồng thời • Kỹ thuật máy ảo (virtual machine) tạo máy ảo riêng rẽ, có khả hỗ trợ nhiều phiên hệ điều hành khác • Lợi ích: – Phần cứng thay đổi nhanh phần mềm: VM cho phép chạy ứng dụng hành hệ điều hành hỗ trợ máy tính – Cô lập hệ thống bị xâm nhập (do hỏng hóc bên cơng từ bên ngồi) – Chạy nhiều HĐH lúc 19 Kiến trúc máy ảo • Giao diện hệ thống máy tính khác cung cấp – – – – • Các lệnh máy không đặt thứ tự ưu tiên: sẵn dùng cho CT Các lệnh ưu tiên: giao diện phần cứng cho HĐH hay phần mềm ưu tiên khác Lời gọi hệ thống: giao diện HĐH cho ứng dụng API: giao diện hệ điều hành thơng qua lời gọi chức Ảo hóa thay tất giao diện 20 Phân loại máy ảo Process Virtual Machine: program is compiled to intermediate code, executed by a runtime system Virtual Machine Monitor: software layer mimics the instruction set; supports an OS and its 21 applications CHƯƠNG 3: TIẾN TRÌNH I II III IV Tiến trình luồng Tiến trình mơ hình Client/Server Vấn đề ảo hố hệ phân tán Di trú mã hệ thống đa tác tử Di trú mã (code migration) Tác tử Di trú mã (Code migration) • Tại truyền thông hệ phân tán dựa việc truyền liệu truyền mã nguồn? – Cân tải – Giảm tải truyền thơng – Song song hóa: ví dụ tác tử di động để tìm kiếm web – Mềm dẻo: đặt cấu hình động kiến trúc hệ thống • Di trú mã di trú tiến trình – Di trú tiến trình yêu cầu di chuyển trạng thái tồn tiến trình, biết tình trạng q tải hay khơng? – Trước HPT tập trung vào di trú tiến trình, cố gắng làm cho việc trở nên suốt Ví dụ: • Gửi mã nguồn phía client sang server – Máy chủ quản lý sở liệu cực lớn Nếu ứng dụng client cần thực nhiều thao tác sở liệu, tốt gửi phần mã nguồn ứng dụng client sang bên server, gửi trả kết thực thao tác qua mạng • Gửi mã nguồn phía server sang client – Trong nhiều ứng dụng tương tác CSDL, clients cần điền vào biểu mẫu mà sau thơng tin biểu mẫu cần dịch sang chuỗi thao tác CSDL Giảm thông lượng, cải thiện hiệu dịch vụ Vấn đề đảm bảo an tồn 24 Đặt cấu hình động cho client giao tiếp với server • Nguyên tắc: Đâu tiên client nhận phần mềm cần thiết, sau gọi server Mơ hình di trú mã • Phân đoạn tiến trình – Phân đoạn mã – Phân đoạn tài nguyên: tham chiếu đến file, sockets – Phân đoạn thực • Các kiểu khả di động (Mobility) – Weak Mobility: di chuyển phân đoạn mã, thêm số liệu khởi tạo Ví dụ? • Java applets, Javascript – Strong mobility: Di chuyển phân đoạn mã phân đoạn thực • Khởi tạo – Khởi tạo người gửi – Khởi tạo người nhận Tác tử phần mềm hệ phân tán • “Tiến trình tự trị có khả phản ứng hay bắt đầu thay đổi mơi trường nó, cộng tác với người dùng hay tác tử khác.” – Khác với tiến trình có khả tự hoạt động tự khởi tạo • Phân loại – Tác tử cộng tác (Collaborative agent) • Tác tử cho phép xếp lịch họp – Tác tử di động (Mobile agent) – Tác tử giao diện (Interface agent) • Trợ giúp người dùng tương tác với ứng dụng – Tác tử thơng tin (Information agent) • Trợ giúp người dùng quản lý thông tin Đặc trưng loại tác tử thường gặp • Cho phép phân biệt loại tác tử Property Common to all agents? Description Autonomous Yes Can act on its own Reactive Yes Responds timely to changes in its environment Proactive Yes Initiates actions that affects its environment Communicative Yes Can exchange information with users and other agents Continuous No Has a relatively long lifespan Mobile No Can migrate from one site to another Adaptive No Capable of learning Cơng nghệ tác tử • Các thành phần quản lý (management component): dò vết tác tử, tạo mới, xóa • Dịch vụ đánh mục tìm kiếm (Directory service): tìm kiếm loại tác tử đặc biệt, etc.) • Kênh giao tiếp tác tử (ACC) Ngơn ngữ giao tiếp tác tử (ACL) • Cần ngơn ngữ chuẩn để tác tử giao tiếp với • Ngơn ngữ giao tiếp tác tử FIPA (Foundation for Intelligent Physical Agents) có phần đầu bắt buộc theo quy ước, phần nội dung tự – Đặc tả phân tầng Ví dụ: phân loại thơng điệp viết FIPA ACL Message purpose Description Message Content INFORM Inform that a given proposition is true Proposition QUERY-IF Query whether a given proposition is true Proposition QUERY-REF Query for a give object Expression CFP Ask for a proposal Proposal specifics PROPOSE Provide a proposal Proposal ACCEPT-PROPOSAL Tell that a given proposal is accepted Proposal ID REJECT-PROPOSAL Tell that a given proposal is rejected Proposal ID REQUEST Request that an action be performed Action specification SUBSCRIBE Subscribe to an information source Reference to source Ví dụ: thơng điệp viết FIPA ACL • Thơng điệp truyền tác tử viết ngôn ngữ Prolog, nhằm biểu đạt thông tin genealogy Field Value Purpose INFORM Sender max@http://fanclub-beatrix.royalty-spotters.nl:7239 Receiver elke@iiop://royalty-watcher.uk:5623 Language Prolog Ontology genealogy Content female(beatrix),parent(beatrix,juliana,bernhard)