17.1. Tên học phần: Lập trình song song (Parallel Programming) 17.2. Mã số: ITPP 517 17.2. Mã số: ITPP 517
17.3. Số tín chỉ: 2 tín chỉ 17.4. Người phụ trách: 17.4. Người phụ trách:
17.5. Khoa/Viện
17.6. Mục tiêu học phần:
Kiến thức: Cung cấp cho học viên những nội dung chính về kiến trúc máy tính song song,
các mơ hình lập trình, các phương pháp thiết kế thuật tốn cũng như chương trình song song.
Kỹ năng: Biết cách phân tích, thiết kế và xây dựng các giải pháp lập trình song song.
Thái độ: Cĩ thái độ, nhận thức đúng đắng về nội dung và các hoạt động nghiên cứu liên quan đến mơn học
17.7. Mơ tả học phần: Hiện nay, để giải quyết các bài tốn lớn người ta thường nghĩ đến việc sử dụng các siêu máy tính hoặc việc kết hợp nhiều máy tính với nhau để tính tốn. Tuy việc sử dụng các siêu máy tính hoặc việc kết hợp nhiều máy tính với nhau để tính tốn. Tuy nhiên, với phương pháp lập trình cổ điển thì khơng thể nào phát triển được chương trình cĩ thể tận dụng được sức mạnh của các hệ thống đĩ. Đĩ chính là lý do lập trình song song ra đời. Trong lập trình song song, các hoạt động song song của chương trình cần phải được xác định một cách rõ ràng. Những hoạt động đĩ thường được xem như là tiến trình hay là tác vụ. Ngơn ngữ lập trình song song phải cĩ khả năng điều chỉnh các tình huống mà ở đĩ các tiến trình địi hỏi phải trao đổi, tương tác với nhau. Một chương trình song song sẽ cho hiệu năng cao nếu biết ứng dụng tốt các ngơn ngữ lập trình song song thích hợp và các thuật tốn song song tốt nhất.
Chương Nội dung
Phân phối thời lượng LT (giờ) TL (giờ) BTL (giờ) TiL (giờ) TH (giờ) TN (giờ)
1 Tổng quan về lập trình song song 2 -
2 Kiến trúc máy tính song song 2 -
3 Các mơ hình lập trình song song 3 -
4 Phân tích sự thực thi của chương
trình song song 3 -
5 Phương thức Message passing 2 -
6 Cơ chế phân luồng 3 -
Tổng cộng 15 45
17.8. Nội dung chi tiết
60 1.1 Tổng quan 1.1 Tổng quan
1.2 Lập trình truyền thống 1.3 Lập trình song song
Tài liệu tham khảo của chương:
[1]. Lê Huy Thập, Cơ sở lí thuyết song song, NXB Thơng tin và Truyền thơng, 2010.
[2]. Thomas Rauber, Gudula Runger, Parallel Programming for Multicore and Cluster Systems, Springer, 2005.
[3]. Luis Moura, Raj Kumar, Parallel Programming Models and Paradigms, School of
Computer Science and Software Engineering Monash University, Melbourne, Australia.
Chương 2. Kiến trúc máy tính song song (LT 02)
2.1 Kiến trúc bộ vi xử lí và nguyên tắc phân loại 2.2 Tổ chức của bộ nhớ
2.3 Cơ chế đa luồng 2.4 Cấu trúc kết nối 2.5 Kĩ thuật chọn đường
Tài liệu tham khảo của chương:
[1]. Lê Huy Thập, Cơ sở lí thuyết song song, NXB Thơng tin và Truyền thơng, 2010.
[2]. Thomas Rauber, Gudula Runger, Parallel Programming for Multicore and Cluster Systems, Springer, 2005.
[3]. Luis Moura, Raj Kumar, Parallel Programming Models and Paradigms, School of
Computer Science and Software Engineering Monash University, Melbourne, Australia.
Chương 3. Các mơ hình lập trình song song (LT 03)
3.1 Các mơ hình cho hệ thống song song 3.2 Chương trình song song
3.3 Phân bố dữ liệu 3.4 Trao đổi thơng tin 3.5 Tiến trình và luồng
Tài liệu tham khảo của chương:
[1]. Lê Huy Thập, Cơ sở lí thuyết song song, NXB Thơng tin và Truyền thơng, 2010. [2]. Thomas Rauber, Gudula Runger, Parallel Programming for Multicore and Cluster
Systems, Springer, 2005.
[3]. Luis Moura, Raj Kumar, Parallel Programming Models and Paradigms, School of
Computer Science and Software Engineering Monash University, Melbourne, Australia.
Chương 4. Phân tích sự thực thi của một chương trình song song (LT 03)
4.1 Đánh giá sự thực thi của hệ thống 4.2 Sự thực thi của chương trình song song 4.3 Thời gian tiệm cận
4.4 Phân tích thời gian thực thi của chương trình song song 4.5 Các mơ hình tính tốn song song
Tài liệu tham khảo của chương:
[1]. Lê Huy Thập, Cơ sở lí thuyết song song, NXB Thơng tin và Truyền thơng, 2010.
[2]. Thomas Rauber, Gudula Runger, Parallel Programming for Multicore and Cluster Systems, Springer, 2005.
[3]. Luis Moura, Raj Kumar, Parallel Programming Models and Paradigms, School of
Computer Science and Software Engineering Monash University, Melbourne, Australia.
Chương 5. Phương thức Message passing (LT 02)
5.1. MPI