Tài liệu này giới thiệu sơ lƣợc về công nghệ xử lý song song nói chung và công
nghệ xử lý song song phân c ụm nói riêng, sau đó tập trung nghiên cứu một hệ thống cụm
máy tính xử lý song song tiêu biểu: Rocks. Các n ội dung chính đƣợc trình bày là: Các
kiến trúc xử lý song song SISD, SIMD, MISD, MIMD (theo phân lo ại c ủa Flynn), cùng
các hệ thống tính toán đa nhân, các hệ thống đa xử lý đối xứng, các hệ thống tính toán
lƣới, tính toán c ụm và các hệ thống xử lý song song cực lớn (Chƣơng 2); giới thi ệu tổng
quan về kiến trúc và thành phần của hệ thống Rocks, hƣớng dẫn cài đặt, nghiên cứu kiến
trúc hệ thống và cách quản trị (Chƣơng 3); hƣớng dẫn lập trình MPI căn bản, phƣơng
pháp xây dựng ứng dụng MPI để đạt hiệu quả cao, tận dụng đƣợc tài nguyên hệ thống
(Chƣơng 4);
Chƣơng 5 của khóa luận trình bày chi tiết một ứng dụng xử lý song song tiêu biểu,
cùng cách thức thi ết l ập môi trƣờng và hƣớng dẫ n biên dị ch.
Phần cuối c ủa tài liệu có trình bày 4 phụ lục, xem nhƣ là các nội dung mở rộng cho
những phần đã trình bày trong các chƣơng.
186 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 2333 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu Khóa luận Nghiên cứu hệ thống cụm máy tính xử lý song song rocks và ứng dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
Bùi Ngọc Linh
NGHIÊN CỨU HỆ THỐNG
CỤM MÁY TÍNH XỬ LÝ SONG SONG
ROCKS
VÀ ỨNG DỤNG
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
Bùi Ngọc Linh
NGHIÊN CỨU HỆ THỐNG
CỤM MÁY TÍNH XỬ LÝ SONG SONG
ROCKS
VÀ ỨNG DỤNG
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hƣớng dẫn: TS. Nguyễn Trí Thành
HÀ NỘI - 2010
i
LỜI CẢM ƠN
Trƣớc hết, tôi xin bày tỏ lòng kính trọng và biết ơn sâu sắc tới Tiến sỹ Nguyễn Trí Thành,
ngƣời đã trực tiếp giảng dạy và tận tình giúp đỡ tôi trong quá trình làm khóa luận.
Tôi xin chân thành cảm ơn toàn thể các thầy cô giáo trƣờng Đại học Công nghệ - Đại học
Quốc gia Hà Nội đã tận tình chỉ bảo, dạy dỗ tôi trong suốt 4 năm học vừa qua.
Tôi xin chân thành cảm ơn thƣ viện Đại học Quốc gia Hà Nội, thƣ viện Hội sinh viên
trƣờng Đại học Công nghệ - Đại học Quốc gia Hà Nội đã giúp đỡ tôi rất nhiều tài liệu
quý báu trong quá trình học tập và nghiên cứu.
Cuối cùng, tôi xin chân thành cảm ơn gia đình và bạn bè, những ngƣời đã luôn động viên,
giúp đỡ tôi trong học tập cũng nhƣ trong cuộc sống.
ii
TÓM TẮT NỘI DUNG
Tài liệu này giới thiệu sơ lƣợc về công nghệ xử lý song song nói chung và công
nghệ xử lý song song phân cụm nói riêng, sau đó tập trung nghiên cứu một hệ thống cụm
máy tính xử lý song song tiêu biểu: Rocks. Các nội dung chính đƣợc trình bày là: Các
kiến trúc xử lý song song SISD, SIMD, MISD, MIMD (theo phân loại của Flynn), cùng
các hệ thống tính toán đa nhân, các hệ thống đa xử lý đối xứng, các hệ thống tính toán
lƣới, tính toán cụm và các hệ thống xử lý song song cực lớn (Chƣơng 2); giới thiệu tổng
quan về kiến trúc và thành phần của hệ thống Rocks, hƣớng dẫn cài đặt, nghiên cứu kiến
trúc hệ thống và cách quản trị (Chƣơng 3); hƣớng dẫn lập trình MPI căn bản, phƣơng
pháp xây dựng ứng dụng MPI để đạt hiệu quả cao, tận dụng đƣợc tài nguyên hệ thống
(Chƣơng 4);
Chƣơng 5 của khóa luận trình bày chi tiết một ứng dụng xử lý song song tiêu biểu,
cùng cách thức thiết lập môi trƣờng và hƣớng dẫn biên dịch.
Phần cuối của tài liệu có trình bày 4 phụ lục, xem nhƣ là các nội dung mở rộng cho
những phần đã trình bày trong các chƣơng.
iii
MỤC LỤC
LỜI CẢM ƠN ........................................................................................................................................ i
TÓM TẮT NỘI DUNG ........................................................................................................................ii
MỤC LỤC ........................................................................................................................................... iii
DANH MỤC BẢNG BIỂU ...............................................................................................................vii
DANH MỤC HÌNH VẼ ................................................................................................................... viii
CHƢƠNG 1. GIỚI THIỆU .................................................................................................................. 1
CHƢƠNG 2. CÁC KIẾN TRÚC VÀ CÁC HỆ THỐNG XỬ LÝ SONG SONG ........................... 4
2. 1. Các kiến trúc xử lý song song ........................................................................................... 4
2. 1. 1. SISD ............................................................................................................................ 6
2. 1. 2. SIMD .......................................................................................................................... 7
2. 1. 3. MISD .......................................................................................................................... 7
2. 1. 4. MIMD ......................................................................................................................... 8
2. 2. Các hệ thống xử lý song song ........................................................................................... 8
2. 2. 1. Các hệ thống tính toán đa nhân ................................................................................. 8
2. 2. 2. Các hệ thống đa xử lý đối xứng ................................................................................ 9
2. 2. 3. Các hệ thống tính toán phân tán .............................................................................. 10
2. 2. 3. 1. Các hệ thống tính toán lƣới ............................................................................... 10
2. 2. 3. 2. Các hệ thống xử lý song song cực lớn ............................................................. 12
2. 2. 3. 3. Các hệ thống tính toán cụm .............................................................................. 12
iv
CHƢƠNG 3. HỆ THỐNG ROCKS .................................................................................................. 16
3. 1. Giới thiệu.......................................................................................................................... 16
3. 1. 1. Tổng quan ................................................................................................................. 16
3. 1. 2. Kiến trúc của HPC Cluster sử dụng Rocks ............................................................ 17
3. 1. 3. Rocks và Rolls.......................................................................................................... 18
3. 2. Cài đặt............................................................................................................................... 20
3. 2. 1. Cấu hình .................................................................................................................... 20
3. 2. 2. Cài đặt frontend ........................................................................................................ 20
3. 2. 3. Cài đặt hàng loạt các compute node ....................................................................... 24
3. 3. Kiến trúc hệ thống ........................................................................................................... 25
3. 3. 1. Quy tắc đặt tên của Rocks ....................................................................................... 25
3. 3. 2. Về cơ sở dữ liệu cluster ........................................................................................... 28
3. 3. 3. Về sơ đồ cơ sở, file cơ sở và quá trình cài đặt một compute node ....................... 34
3. 4. Quản trị ............................................................................................................................. 39
3. 4. 1. Tổng quan ................................................................................................................. 39
3. 4. 2. Frontend quản trị cluster nhƣ thế nào? ................................................................... 40
3. 4. 3. Các tác vụ quản trị cơ bản ....................................................................................... 43
3. 4. 3. 1. Cài đặt lại một compute node trong lần boot PXE tiếp theo .......................... 43
3. 4. 3. 2. Xem và thay đổi các cấu hình mạng ................................................................ 48
CHƢƠNG 4. LẬP TRÌNH SONG SONG VỚI MPI ....................................................................... 50
4. 1. Các mô hình lập trình song song .................................................................................... 50
4. 1. 1. Mô hình bộ nhớ chia sẻ ........................................................................................... 50
4. 1. 2. Mô hình đa luồng ..................................................................................................... 51
v
4. 1. 3. Mô hình truyền thông điệp ...................................................................................... 52
4. 1. 4. Mô hình song song dữ liệu ...................................................................................... 53
4. 2. Các ƣu điểm của mô hình truyền thông điệp ................................................................. 54
4. 2. 1. Phổ biến .................................................................................................................... 54
4. 2. 2. Khả năng mô tả ........................................................................................................ 54
4. 2. 3. Dễ gỡ lỗi hơn ............................................................................................................ 55
4. 2. 4. Hiệu năng.................................................................................................................. 55
4. 3. Giới thiệu về MPI ............................................................................................................ 55
4. 4. Mục tiêu của MPI ............................................................................................................ 56
4. 5. Các đặc điểm của MPI .................................................................................................... 56
4. 6. Khác biệt giữa các bản cài đặt bằng C và C++ của MPI............................................... 58
4. 7. MPI trên Rocks ................................................................................................................ 58
4. 8. Viết chƣơng trình Hello World ....................................................................................... 59
4. 9. Các hàm MPI cơ bản ....................................................................................................... 64
4. 8. 1. Hàm MPI_Init ...................................................................................................... 64
4. 8. 2. Hàm MPI_Finalize ............................................................................................ 65
4. 8. 3. Hàm MPI_Comm_size ......................................................................................... 65
4. 8. 4. Hàm MPI_Comm_rank ......................................................................................... 65
4. 10. Giá trị trả về của các hàm MPI ....................................................................................... 66
4. 11. Về các khái niệm Nhóm, Ngữ cảnh và Bộ liên lạc........................................................ 66
4. 12. Liên lạc giữa các tiến trình .............................................................................................. 67
4. 13. Xây dựng một ứng dụng tự trị ........................................................................................ 70
vi
4. 14. Về mối quan hệ giữa kích thƣớc bài toán và chi phí tính toán ..................................... 75
4. 15. Phƣơng hƣớng xây dựng một ứng dụng MPI ................................................................ 77
CHƢƠNG 5. CÀI ĐẶT THỬ NGHIỆM ỨNG DỤNG TRÊN HỆ THỐNG ROCKS.................. 78
5. 1. Thiết lập môi trƣờng ........................................................................................................ 78
5. 2. Mã nguồn ứng dụng......................................................................................................... 79
5. 3. Biên dịch và chạy ứng dụng ............................................................................................ 86
5. 4. Kết quả thử nghiệm ......................................................................................................... 86
CHƢƠNG 6. KẾT LUẬN.................................................................................................................. 89
PHỤ LỤC 1. SƠ LƢỢC VỀ CÁCH PHÁT TRIỂN ROLL MỚI ................................................... 90
PHỤ LỤC 2. LIÊN LẠC GIỮA CÁC TIẾN TRÌNH MPI .............................................................. 99
PHỤ LỤC 3. SỬ DỤNG MPI ĐỂ TÍNH TÍCH PHÂN ................................................................. 102
PHỤ LỤC 4. SỬ DỤNG MPI ĐỂ TÍNH TOÁN SỐ PI ................................................................ 104
TÀI LIỆU THAM KHẢO ................................................................................................................ 109
vii
DANH MỤC BẢNG BIỂU
Bảng 1 – Tƣơng ứng các hàm MPI trong C và C++ ........................................................................ 58
Bảng 2 – Các hằng số toán tử .......................................................................................................... 106
viii
DANH MỤC HÌNH VẼ
Hình 1 – Các lĩnh vực ứng dụng của xử lý song song........................................................................ 2
Hình 2 - SISD........................................................................................................................................ 4
Hình 3 - SIMD ...................................................................................................................................... 5
Hình 4 - MISD ...................................................................................................................................... 5
Hình 5 - MIMD ..................................................................................................................................... 6
Hình 6 – Xử lý đƣờng ống 5 giai đoạn ................................................................................................ 6
Hình 7 – Mô hình bộ xử lý 2 nhân....................................................................................................... 9
Hình 8 - SMP ........................................................................................................................................ 9
Hình 9 – Mô hình lƣới tính toán ........................................................................................................ 11
Hình 10 - MPP .................................................................................................................................... 12
Hình 11 – Thống kê về kiến trúc của 500 siêu máy tính .................................................................. 13
Hình 12 – Mô hình của HPC Cluster................................................................................................. 14
Hình 13 – Rockstar cluster ................................................................................................................. 15
Hình 14 – Kiến trúc của Rocks .......................................................................................................... 17
Hình 15 – Một báo cáo sinh bởi Ganglia .......................................................................................... 19
Hình 16 – Màn hình khởi động .......................................................................................................... 21
Hình 17 – Lựa chọn Roll (1) .............................................................................................................. 22
Hình 18 – Lựa chọn Roll (2) .............................................................................................................. 23
Hình 19 - Phân chia ổ ......................................................................................................................... 24
Hình 20 – Lựa chọn appliance type ................................................................................................... 25
Hình 21 – Vai trò trung tâm của cơ sở dữ liệu SQL ......................................................................... 29
ix
Hình 22 – Thao tác trực tiếp với cơ sở dữ liệu cluster ..................................................................... 32
Hình 23 – Minh họa trực quan một phần của sơ đồ cơ sở ............................................................... 35
Hình 24 – Quá trình sinh file cơ sở ................................................................................................... 36
Hình 25 – Nhận diện appliance mới .................................................................................................. 37
Hình 26 – Đã thêm appliance vào cơ sở dữ liệu ............................................................................... 37
Hình 27 – Đã yêu cầu thành công file cơ sở ..................................................................................... 38
Hình 28 – File cơ sở ........................................................................................................................... 39
Hình 29 – Các node trong cluster ...................................................................................................... 40
Hình 30 – Tạo cặp khóa private, public trong lần đầu khởi động terminal .................................... 41
Hình 31 – SSH tới compute-0-0 ........................................................................................................ 42
Hình 32 – Giá trị tham số action với các node trong cluster............................................................ 43
Hình 33 – Các bootaction hiện có...................................................................................................... 44
Hình 34 – Thêm bootaction................................................................................................................ 45
Hình 35 – Các thuộc tính của node compute-0-0 ............................................................................. 46
Hình 36 – Thay đổi giá trị tham số installaction............................................................................... 46
Hình 37 – Giá trị tham số installaction thay đổi ............................................................................... 47
Hình 38 – Loại bỏ một bootaction ..................................................................................................... 48
Hình 39 – Xem các cổng ethernet...................................................................................................... 49
Hình 40 – Mô hình bộ nhớ chia sẻ..................................................................................................... 51
Hình 41 – Mô hình đa luồng .............................................................................................................. 52
Hình 42 – Mô hình truyền thông điệp ............................................................................................... 53
Hình 43 – Mô hình song song dữ liệu ............................................................................................... 54
Hình 44 – MPI trên Rocks ................................................................................................................. 59
x
Hình 45 – Output của chƣơng trình Hello World (1) ....................................................................... 61
Hình 46 – Output của chƣơng trình Hello World (2) ....................................................................... 62
Hình 47 – Output của chƣơng trình Hello World (3) ....................................................................... 63
Hình 48 – Output của chƣơng trình Hello World (4) ....................................................................... 64
Hình 49 – Trƣớc khi chạy ứng dụng.................................................................................................. 87
Hình 50 – Sau khi chạy ứng dụng ..................................................................................................... 88
Hình 51 – Output của hg clone .......................................................................................................... 90
Hình 52 – Repository cục bộ.............................................................................................................. 91
Hình 53 – Thƣ mục scratch của các Roll .......................................................................................... 92
Hình 54 – Thƣ mục scratch của Roll java .................................................