Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 115 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
115
Dung lượng
7,05 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG *** VŨ ĐÌNH TRUNG SONGSONGHÓABÀITOÁNJSPTRÊNMỘTSỐMÔITRƯỜNGTÍNHTOÁNSONGSONGVÀPHÂNTÁN Chuyên ngành: Công nghệ thông tin Mã ngành: 60 48 02 01 LUẬNVĂNTHẠCSĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS. TS. TRẦN VĂN LĂNG Đồng Nai – Năm 2012 -i- LỜI CAM ĐOAN Tôi xin cam đoan luậnvănthạcsĩ công nghệ thông tin “Song songhóabàitoánJSPtrênmôitrườngtínhtoánsongsongvàphân tán” là kết quả của quá trình học tập, nghiên cứu khoa học độc lập, nghiêm túc. Các số liệu trong luậnvăn là trung thực, có nguồn gốc rõ ràng, được trích dẫn và có tính kế thừa, phát triển từ các số liệu, tạp chí, các công trình nghiên cứu đã được công bố, trên các website. Các phương pháp nêu trong luậnvăn được rút từ những cơ sở lý luậnvà quá trình nghiên cứu tìm hiểu. Đồng Nai, tháng 09 năm 2012 Vũ Đình Trung -ii- LỜI CẢM ƠN Lời đầu tiên tôi xin chân thành cảm ơn đến PGS. TS. Trần Văn Lăng đã tậntình giúp đỡ tôi trong suốt thời gian học tập vừa qua, và hướng dẫn tôi hoàn thành đề tài này Tôi chân thành cảm ơn các thầy cô Khoa Công nghệ thông tin, nơi tôi công tác và nghiên cứu đã tạo điều kiện và hỗ trợ tôi trong suốt thời gian qua. Tôi cũng xin chân thành cảm ơn người thân, bạn bè đã giúp đỡ và động viên tôi trong suốt thời gian học tập cũng như trong thời gian thực hiện luận văn. Chân thành cảm ơn ! Biên Hòa, ngày 31 tháng 8 năm 2012 Vũ Đình Trung -iii- TÓM TẮT Lập lịch công việc là bàitoán đã ra đời từ rất lâu, nhưng đến nay vẫn chưa có một phương pháp nào giải quyết bàitoán lập lịch công việc một cách chính xác với thời gian ngắn. Những nghiên cứu gần đây theo xu hướng nhắm vào mục đích làm giảm đến mức thấp nhất thời gian hoàn thành bài toán, ưu điểm lớn của những hướng đi này là kết quả đạt được với thời gian thấp nhưng lịch trình tìm được chỉ đạt mức gần đúng trong khả năng chấp nhận được. Từ mục đích và hạn chế đó tác giả tiến hành nghiên cứu một thuật toán có thể cải thiện được về mặt thời gian mà kết quả lịch trình cho ra vẫn chính xác. Qua nhiều nghiên cứu của những công trình trước, thì nhánh cận được xác định là thuật toán tốt nhất trong các phương pháp tìm kiếm chính xác. Nhưng vấn đề của thuật toán này là thời gian hoàn thành cho ra kết quả chậm. Do đó thuật toán nhánh cận là thuật toán được chọn để thực hiện yêu cầu công việc trên. Công việc cần đạt được tại thời điểm này là tìm ra giải pháp để cải tiến làm giảm thời gian hoàn thành của thuật toán. Những năm gần đây tínhtoánsongsong đang dần trờ thành xu hướng sử dụng để cải thiện tốc độ các thuật toán. Vì vậy tác giả đã tiến hành nghiên cứu để tìm ra phướng án cải tiến thuật toán nhánh cận thành thuật toánsong song, và có thể triển khai trên các môitrườngtínhtoánsongsong là mục đích cuối cùng của luận văn. Cấu trúc luậnvăn như sau, chương thứ nhất giới thiệu tổng quan về bàitoán lập lịch công việc, chương thứ hai trình bày các môitrườngtínhtoánsongsongvà các mô hình tínhtoánsong song, chương thứ ba trình bày các nội dung nghiên cứu và đề xuất các thuật toánsongsong sẽ sử dụng, chương thứ bốn thử nghiệm các thuật toántrênmôitrườngtínhtoánsongsongvà đánh giá kết quả, cuối cùng là kết luận. -iv- MỤC LỤC LỜI CAM ĐOAN . i LỜI CẢM ƠN ii TÓM TẮT . iii MỤC LỤC . iv DANH MỤC CÁC TỪ VIẾT TẮT . v DANH MỤC BẢNG . vi DANH MỤC BIỂU ĐỒ . vii DANH MỤC HÌNH viii MỞ ĐẦU 1 1. Đặt vấn đề 1 2. Lý do chọn đề tài 2 3. Mục tiêu 4 4. Đối tượng nghiên cứu . 4 5. Nội dung nghiên cứu . 4 6. Phương pháp nghiên cứu . 5 CHƯƠNG 1: TỔNG QUAN VỀ BÀITOÁN LẬP LỊCH CÔNG VIỆC 6 1.1. Định nghĩa bàitoán lập lịch . 6 1.1.1. Mô tả bàitoán . 6 1.1.2. Dữ liệu bàitoán 6 1.1.3. Các loại lịch trình . 6 1.2. Tình hình nghiên cứu thuật toán tuần tự để giải quyết bàitoán lập lịch công việc 9 1.2.1. Tình hình nghiên cứu trên thế giới 9 1.2.1.1. Phương pháp chính xác 11 1.2.1.2. Phương pháp gần đúng . 12 1.2.2. Tình hình nghiên cứu trong nước 25 1.2.3. Mộtsố công trình biêu biểu 26 -iv- 1.3. Tình hình nghiên cứu thuật toánsongsong để giải quyết bàitoán lập lịch công việc . 43 1.3.1. Tình hình nghiên cứu ngoài nước . 43 1.3.2. Tình hình nghiên cứu trong nước 43 1.3.3. Mộtsố công trình tiêu biểu . 44 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 51 2.1. Tổng quan về tínhtoánsongsong . 51 2.1.1. Sự cần thiết của tínhtoánsongsongvàphântán 51 2.1.2. Mô hình máy tínhsongsong . 52 2.1.2.1. Phép phân loại Flynn . 52 2.1.2.2. Chia sẻ bộ nhớ cục bộ 55 2.1.3. Mô hình máy tínhphântán . 56 2.1.4. Kỹ thuật lập trình songsong . 56 2.1.4.1. Những mô hình lập trình songsong . 56 2.1.4.2. Phương pháp xây dựng thuật toánsongsong . 57 2.2. Tổng quan về mô hình lập trình truyền thông điệp – MPI 58 2.2.1. Giới thiệu mô hình truyền thông điệp . 58 2.2.2. Lập trình truyền thông điệp – MPI 59 2.2.2.1. Giới thiệu MPI . 59 2.2.2.2. Đặc điểm của lập trình với MPI . 61 2.2.2.3. Các khái niệm cơ bản . 62 2.2.2.4. Cấu trúc chương trình MPI 63 2.3. Tổng quan về GPU 63 2.3.1. Giới thiệu GPU . 63 2.3.2. Lịch sử phát triển GPU . 64 2.3.3. Kiến trúc GPU 67 2.3.3.1. Đường ống dẫn đồ họa . 67 2.3.3.2. Tiến hóa của kiến trúc GPU . 69 2.3.3.3. Kiến trúc GPU hiện đại 70 2.3.3.4. Mô hình lập trình trên GPU . 72 -iv- CHƯƠNG 3: XÂY DỰNG THUẬT TOÁN NHÁNH CẬN SONGSONG ĐỂ GIẢI QUYẾT BÀITOÁN LẬP LỊCH 74 3.1. Lý do chọn thuật toán 3.2. Thuật toán nhánh cận tuần tự giải quyết bàitoán lập lịch công việc . 74 3.2.1. Giới thiệu thuật toán nhánh cận 74 3.2.2. Mô tả thuật toán nhánh cận tuần tự giải quyết bàitoán lập lịch công việc… 77 3.2.3. Thuật toán nhánh cận cải tiến 85 3.3. Thuật toán nhánh cận songsong giải quyết bàitoán lập lịch công việc 89 3.3.1. Phương án songsong thứ nhất 90 3.3.2. Phương án songsong thứ hai 92 3.3.3. Triển khai thuật toántrênmôitrườngtínhtoánsongsong 93 CHƯƠNG 4: ĐÁNH GIÁ KẾT QUẢ THỰC NGHIỆM . 97 4.1. Kết quả thử nghiệm trên thuật toán nhánh cận songsong giải quyết bàitoán lập lịch trên nhiều máy tính . 97 4.2. Kết quả thử nghiệm thuật toán nhánh cận songsong giải quyết bàitoán lập lịch công việc trênmôitrường CPU – GPU 99. KẾT LUẬN .102 TÀI LIỆU THAM KHẢO -v- DANH MỤC TỪ VIẾT TẮT CA Clustering agorithm d Due date f Fitness GCA Genetic clustering algorithm GPU Graphics processing unit JSP Job shop problem MIMD Multiple instruction stream, multiple data stream MPI Message passing interface MISD Multiple instruction stream, single data stream L Lateness LB Lower bound LIS Language independent specifications O Operation PU Processor Unit r Realease date SISD Single instruction stream, single data stream SIMD Single instruction stream, multiple data stream SPMD Single program multiple data -vi- DANH MỤC BẢNG Bảng 1.1: Bảng mô tả công việc và trình tự thực hiện công việc 1 . 21 Bảng 1.2: Bảng mô tả công việc và trình tự thực hiện công việc 2 . 24 Bảng 1.3: Bảng mô tả công việc và trình tự thực hiện công việc 3 . 27 Bảng 1.4: Bảng mô tả công việc và trình tự thực hiện công việc 4 . 30 Bảng 1.5: Bảng mô tả công việc và trình tự thực hiện công việc 5 . 33 Bảng 1.6: Bảng mô tả sự thay đổi E qua từng giai đoạn . 38 Bảng 4.1: Bảng mô tả kết quả thực hiện công việc 1 97 Bảng 4.2: Bảng mô tả kết quả thực hiện công việc 2 100 -vii- DANH MỤC BIỂU ĐỒ Biểu đồ 1.1: Lịch trình không phải là bán chủ động . 7 Biểu đồ 1.2: Lịch trình bán chủ động . 7 Biểu đồ 1.3: Biểu đồ biểu diễn công việc khi thay đổi vị trí O 32 và O 31 8 Biểu đồ 1.4: Lịch trình chủ động sau khi thay đổi trình tự công đoạn . 9 Biểu đồ 1.5: Biểu đồ Gantt mô tả trình tự thực hiện công việc 1 22 Biểu đồ 1.6: Biểu đồ Gantt mô tả trình tự thực hiện công việc 2 31 Biểu đồ 1.7: Biểu đồ Gantt mô tả trình tự thực hiện công việc 3 . 34 Biểu đồ 1.8: Biểu đồ Gantt mô tả trình tự thực hiện công việc 4 . 35 Biều đồ 1.9: Biểu đồ Gantt mô tả trình tự thực hiện công việc 5 . 36 Biều đồ 1.10: Biểu đồ Gantt mô tả trình tự thực hiện công việc 6 . 37 Biều đồ 1.11: Biểu đồ Gantt mô tả trình tự thực hiện công việc 7 . 38
1.2.
Tình hình nghiên cứu thuật toán tìm kiếm lịch trình tối ưu triển khai trên (Trang 20)
Hình 1.1
Các phương pháp giải bài toán lập lịch công việc (Trang 21)
Bảng 1.1
Bảng mô tả công việc và trình tự thực hiện công việc 1 (Trang 32)
d
ụ: vớ i3 công việc cần xử lý trên 4 máy được mô tả như bảng 1.2: Bảng 1.2: Bảng mô tả công việc và trình tự thực hiện công việc 2 Công việc thứ tự các máy thực hiện Thời gian xử lý (Trang 35)
Hình 1.3
Đồ thị G biểu diễn trình tự công việc thực hiện 2 (Trang 38)
d
ụ: tìm lịch trình tối ưu để hoàn thành công việc sớm nhất như bảng 1.4: Bảng 1.4: Bảng mô tả công việc và trình tự thực hiện công việc 4 Công việc (Trang 41)
Hình 1.5
Cây phân nhánh liệt kê trình tự thực hiện các công việc (Trang 42)
th
ị trong hình 1.6 biểu diễn trình tự công việc như bảng 1.5 như sau: (Trang 45)
Hình 1.6
Đồ thị biểu diễn trình tự công việc thực hiện 4 (Trang 45)
Hình 1.8
Đồ thị biểu diễn trình tự công việc thực hiện 6 - T = αT = 100*0.95 = 95 (Trang 46)
Hình 1.9
Đồ thị biểu diễn trình tự công việc thực hiện 7 - T = αT = 0.95 * (95) = 90.25 (Trang 47)
Hình 1.10
Đồ thị biểu diễn trình tự công việc thực hiện 8 - T = αT = 0.95 * (90.25) = 85.7375 (Trang 48)
u
hình này không được chấp nhận (Trang 48)
Bảng 1.6
Bảng mô tả sự thay đổ iE qua từng giai đoạn (Trang 49)
b
ảng 1.6, với E= 11 ở giai đoạn 1 nhỏ nhất nên sẽ thu được một lịch trình tốt nhất của giai đoạn này như biểu đồ 1.11 : (Trang 49)
rong
công trình thì nhóm tác giả mô hình giải thuật di truyền như sau: gồm một quần thể chứa tất cả các kết quả có thể có được của bài toán, rồi từ đó chọn ra kết quả tốt nhất (Trang 50)
2.1.2.
Mô hình máy tính song song (Trang 63)
Hình 2.2
Mô hình máy tính SIMD (Trang 64)
ki
ến trúc, sự khác biệt chính so với mô hình SIMD là mỗi PU có một đơn vị điều khiển riêng của chính nó (Trang 65)
i
ữa hai mô hình SIMD và MIMD, ta lại có thêm mô hình SPMD (Single Program Multiple Data) (Trang 66)
Hình 2.7
Mô hình phân chia chức năng (Trang 69)
hai
tính chất quan trọng tạo nên bản chất của mô hình truyền thông điệp: thứ nhất là nó giả sử không gian địa chỉ được phân chia và thứ hai là nó chỉ hỗ trợ song song hóa tường minh (Trang 70)
Hình 2.9
Cấu trúc chương trình MPI (Trang 74)
Hình 3.1
Nhánh mở rộng từ nút (2, 2) Sau khi đã mở rộng nhánh xong ta gán giá trị: (Trang 98)
Hình 3.2
Mở rộng nhánh từ (3,1), LB > minLB (Trang 99)
Hình 3.3
Mở rộng nhánh từ (3,1), LB < minLB (Trang 100)
Bảng 4.1
Bảng mô tả kết quả thực hiện công việc 1 (Trang 108)
Hình 4.1
Đồ thị biểu diễn thời gian xử lý các thuật toán 1 Nhận xét kết quả: (Trang 109)
Hình 4.2
Đồ thị biểu diễn thời gian xử lý các thuật toán 2 (Trang 111)