Lập trình song song Nguyên lý và phương pháp lập trình

37 431 3
Lập trình song song Nguyên lý và phương pháp lập trình

Đ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

K H O TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN A K H O A H Ọ  Môn: NGUYÊN LÝ VÀ PHƯƠNG PHÁP LẬP TRÌNH  Lớp: CS111.G12  GVLT: Trịnh Quốc Sơn  SVTT: o Nguyễn Bảo Hoàng - 13520306 o Nguyễn Hiếu Liêm - 12520224 C M Á Y T Í N H BÁO CÁO ĐỒ ÁN: LẬP TRÌNH SONG SONG NỘI DUNG I Giới Thiệu II Các Khái Niệm III Đặc Điểm IV Minh Họa Trên Java LẬP TRÌNH SONG SONG I Giới Thiệu Xử lý song song Xu hướng phát triển CPU LẬP TRÌNH SONG SONG Xử lý song song I MỞ ĐẦU Xử lý song song  Ứng dụng xử lý song song sống: I MỞ ĐẦU Xử lý song song Xử lý song song Xử lý Nhiều xử lý kết hợp với để giải Tại thời điểm thực phép toán toán Độ phức tạp lớn nhiều so với xử lý I MỞ ĐẦU Xử lý song song  Yếu tố dẫn đến xây dựng hệ thống xử lý song song:  Tốc độ BXL theo kiểu von Neumann dần tới giới hạn  Hiện giá thành phần cứng giảm mạnh -> tạo điều kiện xây dựng hệ thống có nhiều BXL với giá thành hợp lý  Công nghệ mạch tích hợp phát triển -> tạo hệ thống có hàng triệu transitor I MỞ ĐẦU Xử lý song song  Đinh luật Moore : “Số lượng transistor đơn vị inch vuông tăng lên gấp đôi sau năm” I MỞ ĐẦU Xu hướng phát triển CPU  Công suất (W) CPU tỉ lệ với NCV2f  N: số lượng transistor  C: điện dung  V: số vol  f: tần số  Xu hướng ↑N ↓C ↓V o Sẽ tang đồng thời f, N ? I MỞ ĐẦU Thread Tiểu trình/luồng  Tiểu trình dòng điều khiển tuần tự: - Chạy không gian nhớ tiến trình  Nó có đếm chương trình (program counter) ngăn xếp (stack frame) riêng Ví dụ: Trong chương trình Word có luồng: luồng ghi nhận nhập kí tự, luồng kiểm tra tả, luồng hiển thị lên hình, luồng quản lý giao diện… II CÁC KHÁI NIỆM Thread  Các trạng thái Thread: New – Mới tạo Ready (Runnable) – Sẵn sàng thực thi Running – Đang thực thi Waiting – Trạng thái ngừng để chờ Terminated– Kết thúc II CÁC KHÁI NIỆM Thread  Các trạng thái Thread: Ví dụ: New-> ready-> running->waiting(đợi gọi printf)-> ready->running>terminated II CÁC KHÁI NIỆM III ĐẶC ĐIỂM QUÁ TRÌNH SONG SONG HÓA CƠ CHẾ MUTIL-THREADING CƠ CHẾ MUTIL-TASKING ƯU ĐIỂM VÀ KHUYẾT ĐIỂM ĐẶC ĐIỂM CỦA THREAD LẬP TRÌNH SONG SONG QUÁ TRÌNH SONG SONG HÓA  Gồm giai đoạn chính: • Phân chia chương trình thành công việc (Sub-task Decomposition) • Phân tích phụ thuộc (Dependence Analysic) • Định thời công việc (Task Scheduling) III Đ ẶC ĐIỂM CƠ CHẾ MUTIL-THREADING • Các thread chạy bên máy ảo JVM(Java) trình biên dịch song song (Ngôn ngữ khác) • Mỗi thread có biến liệu ngăn xếp riêng cấp phát JVM JVM chịu quản lý Hệ điều hành III Đ ẶC ĐIỂM CƠ CHẾ MUTIL-TASKING • Hệ điều hành cấp phát nhớ cho ứng dụng riêng biệt Vì biến vùng liệu chương trình (tiến trình) khác khác III Đ ẶC ĐIỂM ƯU ĐIỂM VÀ KHUYẾT ĐIỂM ƯU ĐIỂM KHUYẾT ĐiỂM + Tận dụng tối đa sức mạnh đa lõi - Cơ chế giao tiếp, chuyển đổi phức tạp - Mất thời gian cho việc quản lý đồng liệu - Khó lập trình, kiểm tra lỗi + Khả mở rộng tăng tốc độ tính toán - Hình thành hệ thống phức tạp đòi hỏi trình độ cao để quản lý + Giao tiếp chuyển đổi nhanh + Tách công việc để xử lý song song, tiết kiệm thời gian III Đ ẶC ĐIỂM ĐẶC ĐIỂM CỦA THREAD a QUYỀN ƯU TIÊN (PRIORITY) b ĐỒNG BỘ HÓA (SYNCHRONIZATION) c GIAO TIẾP (COMMUNICATION) III Đ ẶC ĐIỂM a QUYỀN ƯU TIÊN (PRIORITY)  Mỗi thread có độ ưu tiên khác có mối quan hệ với Thread có quyền ưu tiên cao chuyển sang gọi thread khác gọi Context Switching • Một thread tự động sinh thread khác • Thread có độ ưu tiên cao giành quyền sử dụng CPU từ thread ưu tiên thấp • Nếu quyền ưu tiên ngang xử lý theo chế hệ điều hành III Đ ẶC ĐIỂM- Đ ặc điểm thread b ĐỒNG BỘ HÓA (SYNCHRONIZATION)  Đồng hóa (Synchronization): Hai hay nhiều thread truy cập vào tài nguyên thời điểm Các thread đồng hóa Java sử dụng thông qua Monitor (Semaphore – “Cột tín hiệu”) Chỉ có thread sử dụng monitor vào khoảng thời gian  Có hai cách để đồng hóa thread: • Sử dụng method đồng hóa Trong Java, thread có monitor từ khóa Synchronization gọi • Sử dụng phát biểu (Statement) đồng hóa Phát biểu đồng hóa chứa block đồng hóa, bên đặt đối tượng method đồng hóa III Đ ẶC ĐIỂM- Đ ặc điểm thread IV MINH HỌA TRÊN JAVA  MỘT SỐ VÍ DỤ: • Khởi dựng thread Runnable Interface extends lớp thread • Tạo bắt đầu thread • Dùng nhiều thread chương trình • Cài đặt quyền ưu tiên cho thread • Thực thi đồng hóa thread - Đồng dùng method - Đồng dùng phát biểu đồng hóa • Giao tiếp thread • Sử dụng thread Swing LẬP TRÌNH SONG SONG IV MINH HỌA TRÊN JAVA Ví dụ cách tạo luồng cách kế thừa từ lớp Thread : + Khai báo lớp ThreadX kế thừa từ lớp Thread override phương thức run() :  LẬP TRÌNH SONG SONG + Tạo đối tượng thuộc lớp ThreadX start() chúng : IV MINH HỌA TRÊN JAVA + Kết ta nhận sau : LẬP TRÌNH SONG SONG Kết Thúc !!! LẬP TRÌNH SONG SONG

Ngày đăng: 10/07/2016, 10:04

Từ khóa liên quan

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

Tài liệu liên quan