Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 74 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
74
Dung lượng
743,49 KB
Nội dung
Bộ Giáo dục và Đào tạo Trờng Đại học Bách khoa Hà Nội Luận văn thạc sĩ khoa học Ngành: Xử lý thông tin và truyền thôngđánhgiáhiệunănghệthốngsongsongphâncụm Phạm Thanh Liêm Hà Nội 2006 1 MỤC LỤC MỞ ĐẦU………………………………………………………………… 6 CHƯƠNG 1 TỔNG QUAN VỀ ĐÁNHGIÁHIỆUNĂNGHỆTHỐNG 8 1.1 Định nghĩa về đánhgiáhiệu năng…………………………………… 8 1.2 Mục đích của việc đánhgiáhiệu năng…………………………………. 8 1.3 Phân loại các phần mềm đo hiệu năng…………………………… 9 1.3.1 Phân loại dựa trên độ phức tạp của chương trình đo hiệu năng…… 10 1.3.2 Phân loại dựa trên mục đích của chươ ng trình……………………. 11 1.4 Sự phát triển của các phần mềm đo hiệu năng…………………… 15 CHƯƠNG 2 KIẾN TRÚC HỆTHỐNG TÍNH TOÁN SONG SONG….… 18 2.1 Giới thiệu chung…………………………………………………… 18 2.2 Phân loại các kiểu kiến trúc song song………………………………… 19 2.2.1 Kiến trúc máy tính Von Newmann…………………………… 19 2.2.2 Phân loại kiến trúc máy tính của Flynn……………………… … 20 2.3 Các mô hình lập trình song song…………………………………… 25 2.3.1 Mô hình đa luồng……………………………………………… 25 2.3.2 Mô hình truyền thông điệp………………………………… 25 2.3.3 Mô hình songsong dữ liệu……………………………………… 26 2.4 Các vấn đề của một hệthống tính toán songsongphâncụm 26 2.4.1 Các khái niệm cơ bản 26 2.4.2 Cấu trúc phần cứ ng hệthống tính toán songsongphân cụm………. 27 2.4.3 Các phần mềm sử dụng trong hệthốngsongsongphân cụm………. 28 2.5 Kiến trúc hệthống tính toán songsong BKCluster……………………. 32 2.5.1 Kiến trúc phần cứng của hệthống BK Cluster…………………… 32 2.5.2 Kiến trúc phần mềm cài đặt trong hệthống BK Cluster…………… 34 2.6 Quy trình đánhgiáhiệunăng của hệthống BK Cluser………… 36 2.6.1 Đo hiệunăng tính toán (năng lực của CPU)………………… 38 2 2.6.2 Đo hiệunăng truy cập bộ nhớ trong…………………………… 41 2.6.3 Đo hiệunăng truyền thông……………………………………… 42 2.6.4 Đo hiệunăng của thư viện MPICH…………………………………. 42 CHƯƠNG 3 CÁC PHƯƠNG PHÁP ĐO HIỆU NĂNG…………………. 44 3.1 Đo hiệunăng tính toán…………………………………………………. 44 3.2 Đo hiệunăng truy cập bộ nhớ trong………………………………… 47 3.3 Đo hiệunăng truyền thông…………………………………………… 47 3.4 Đo hiệunăng của thư viện phần mềm…………………………………. 48 CHƯƠNG 4 XÂY DỰNG CÁC CHƯƠNG TRÌNH THỰ C HIỆN QUI TRÌNH ĐO HIỆU NĂNG…………………………………………………. 50 4.1 Xây dựng chương trình thực hiện quy trình đo hiệu năng…………… 50 4.2 Chương trình thực hiện các công việc đo hiệu năng………………… 51 4.2.1 Chương trình thực hiện việc đo hiệunăng tính toán…………… 51 4.2.2 Chương trình thực hiện đo hiệunăng truy cập bộ nhớ trong……… 53 4.2.3 Chương trình thực hiện đo hiệunăng truyền thông…………… 54 4.2.4 Chương trình thực hiện đo hiệ u năng thư viện MPICH……………. 55 CHƯƠNG 5 KẾT QUẢ ĐO HIỆU NĂNG……………………………… 56 5.1 Kết quả đo hiệunăng tính toán………………………………………… 56 5.1.1 Kết quả đo hiệunăng tính toán của CPU đơn…………………… 56 5.1.2 Kết quả đo hiệunăng tính toán của toàn bộ hệ thống……………… 57 5.2 Kết quả đo hiệunăng truy cập bộ nhớ trong………………………… 64 5.3 Kết quả đo hiệunăng truyền thông……………………………………. 64 5.4 Kết quả đ o hiệunăng của thư viện truyền thông điệp MPICH……… 65 5.5 Đánhgiá tổng hợp về hiệunăng của hệthống BK Cluster……………. 68 CHƯƠNG 6 KẾT LUẬN…………………………………………………. 71 TÀI LIỆU THAM KHẢO…………………………………………………. 73 3 CÁC THUẬT NGỮ Synthetic Code Mã lệnh đơn Kernel Hạt nhân Simulation Application Mô phỏng ứng dụng Mega Instruction Per Second MIPS Triệu lệnh trên giây Message Passing Interface MPI Thư viện truyền thông điệp Open Passing Interface Open MP. Thư viện lập trình đa luồng NASA Parallel Benchmark NPB Phần mềm đo hiệunăngsongsong Single Intruction Single Data SISD Đơn dòng lệnh, đơn dòng dữ liệu Single Instruction Multiple Data SIMD Đơn dòng lệnh, đa dòng dữ liệu Multiple Instruction Multip Data MIMD Đa dòng lệnh, đa dòng dữ liệu Nonumiform Memory Access NUMA Truy cập bộ nhớ không đồng nh ất Uniform Memory Access UMA Truy cập bộ nhớ đồng nhất Symmetric Multi Processor SMP Đa bộ xử lý đối xứng Portable Batch System PBS Hệthốngphân tải 4 DANH MỤC HÌNH Hình 2.1 Nguyên lý kiến trúc máy tính Von Newmann…………………… 20 Hình 2.2 Kiến trúc SISD…………………………………………………… 20 Hình 2.3 Kiến trúc SIMD………………………………………………… 21 Hình 2.4 Kiến trúc MIMD Share Memory………………………………… 22 Hình 2.5 Kiến trúc MIMD Distributed Memory………………………… 23 Hình 2.6 Kiến trúc Core Duo Intel………………………………………… 24 Hình 2.7 Cấu hình kết nối Cluster…………………………………………. 24 Hình 2.8 Kiến trúc phần cứng hệthống BK Cluster……………………… 34 Hình 2.9 Hai phần mềm PBS và MPICH………………………………… 36 Hình 2.10 Qui trình đo hiệunăng BK Cluster…………………………… 38 Hình 5.1 Biểu đồ tương quan giữa hiệunăng và số trạm………………… 63 Hình 5.2 Biểu đồ tương quan tốc độ truy cập bộ nhớ …………………… 64 Hình 5.3 Biểu đồ tương quan dung lượng gói tin - t ốc độ truyền thông… 65 Hình 5.4 Biểu đồ tương quan dung lượng gói tin- tốc độ truyền thông điệp. 66 Hình 5.5 Biểu đồ tương quan tốc độ và thời gian truyền thông mạng……. 67 Hình 5.6 Biểu đồ tương quan dung lượng gói tin- thời gian truyền thông… 68 5 DANH MỤC BẢNG Bảng 2.1 Kiến trúc phần mềm hệ thông……………………………………. 34 Bảng 2.2 Các phần mềm sử dụng đo hiệu năng……………………………. 37 Bảng 2.3 Độ lớn của các lớp dữ liệu gói phần mềm NPB…………………. 40 Bảng 3.1 Sự tương ứng các phép toán số thực và đơn vị flop…………… 46 Bảng 5.1 Kết quả đo hiệunăng CPU đơn…………………………………. 57 Bảng 5.2 Kết quả đo hiệunăng tính toán bằng hạ t nhân EP………………. 58 Bảng 5.3 Kết quả đo hiệunăng tính toán bằng hạt nhân IS……………… 59 Bảng 5.4 Kết quả đo hiệunăng tính toán bằng hạt nhân CG……………… 60 Bảng 5.5 Kết quả đo hiệunăng tính toán bằng hạt nhân MG……………… 60 Bảng 5.6 Kết quả đo hiệunăng tính toán bằng hạt nhân LU………………. 61 Bảng 5.7 Kết quả đo hiệunăng tính toán bằng mô phỏng chương trình SP 62 Bảng 5.8 Kết quả đo hiệunăng tính toán b ằng mô phỏng chương trình BT. 62 6 MỞ ĐẦU Hiện nay trên thế giới nhờ các tiến bộ công nghệ cao, đã xây dựng được những hệthống máy tính có khả năng tính toán rất lớn như siêu máy tính, tính toán lưới phục vụ cho việc nghiên cứu khoa học và các ứng dụng thực tế. Bên cạnh đó các nhà sản xuất máy tính cũng luôn thay đổi công nghệ, cho ra những thế hệ máy tính có khả năng tính toán với tốc độ nhanh. Tuy nhiên ở Việt Nam, v ới hiện tại các trung tâm nghiên cứu chưa đủ tiền để mua những máy tính lớn, trong khi đó nhu cầu có hệthống tính toán lớn lại rất cần thiết. Một giải pháp là xây dựng hệthống tính toán songsong từ các máy tính hiện có và liên kết các trung tâm lại tạo ra hệthống tính toán lớn. Trung tâm tính toán hiệunăng cao, Trường đại học Bách Khoa Hà Nội đang triển khai nghiên cứu làm chủ công nghệ lưới và ứng dụng vào thực tiễn. H ệ thống BKGrid 2006 là sản phẩm của công trình đó. Hệthống BKGrid 2006 được xây dựng với phần cứng là các máy tính hiện có như máy chủ HP NetServer và các máy trạm là các máy tính cá nhân, cấu hình mạng Ethernet và sử dụng các phần mềm mã nguồn mở: Hệ điều hành Linux, các thư viện tính toán chuyên dụng, phần mềm quản lý tài nguyên, thư viện truyền thông điệp Đánhgiáhiệunăng của hệthống là một trong những nhiệ m vụ cần thiết để đưa ra những nhận xét, kết luận về tốc độ tính toán, tính hiệu quả của toàn bộ hệ thống. Đối với hệthống tính toán songsongphân cụm, việc đánhgiáhiệunăng sẽ được tiến hành dưới hai mức độ. Đánhgiáhiệunăng từng thành phần trong hệthống : Gồm phần cứng và phần mềm. - Đánhgiáhiệu nă ng phần cứng được thực hiện dựa trên các số đo : tốc độ tính toán của CPU, tốc độ truy cập vào bộ nhớ trong trên từng máy trạm, tốc độ truyền tin trong mạng. 7 Đánhgiáhiệunăngphần mềm được thực hiện dựa trên việc khảo sát quá trình hoạt động của các thư viện được cài đặt trong hệthống như các thư viện tính toán, các thư viện truyền thông điệp. - Đánhgiáhiệunăng tổng hợp của toàn bộ hệ thống: toàn bộ hệthống được coi như một máy tính songsong duy nhất. Dựa trên quá trình khảo sát tốc độ , kết thu được khi thực hiện một số bài toán songsong mà người quản trị có thể đánhgiá được hiệunăng tính toán của toàn bộ hệ thống, cũng như sự tương thích của hệthống đối với những dạng bài toán cụ thể. Luận văn này sẽ trình bày về quy trình áp dụng các phần mềm đo hiệunăng mã nguồn mở chuyên dụng để đánhgiáhiệunăng c ủa hệthống tính toán songsongphâncụm BKCLUSTER. Cấu trúc của luận văn gồm 6 chương với nội dung cụ thể như sau : Chương 1 Tổng quan về đánhgiáhiệunănghệthống máy tính. Chương 2 Kiến trúc của hệthống tính toán BKCLUSTER. Chương 3 Các phương pháp đo hiệu năng. Chương 4 Xây dựng chương trình thực hiện quy trình đo hiệu năng. Chương 5 Các kết quả đ o hiệu năng. Chương 6 Kết luận. Luận văn cao học này được hoàn thành tại Trung tâm tính toán hiệunăng cao và Trung tâm máy tính thuộc Trường đại học Bách Khoa Hà Nội. Tôi xin cảm ơn chân thành nhất đến thầy PGS.TS Nguyễn Thanh Thủy và Ths Đinh Hùng đã tận tình hướng dẫn và tạo điều kiện cho tôi hoàn thành luận văn này. Tôi xin chân thành cảm ơn các thầy, cô đã tham gia giảng dạy tại Trung tâm đào tạo sau đại học, Tr ường đại học Bách Khoa Hà Nội đã truyền những kiến thức quý báu của chương trình cao học. Hà Nội, Ngày 30 tháng 10 năm 2006 8 CHƯƠNG 1 TỔNG QUAN VỀ ĐÁNHGIÁHIỆUNĂNGHỆTHỐNG 1.1 Định nghĩa về đánhgiáhiệu năng. Đánhgiáhiệunăng là sử dụng phần mềm chuyên dụng trên một máy tính đơn hay cả một hệthống máy tính, từ việc phân tích thời gian chạy chương trình hoặc những kết quả thu được, từ đó người quản trị rút ra những kết luận về tốc độ tính toán, tốc độ truyền thông và khả năng truy cập bộ nhớ. Sau đó đưa ra kết luận về hiệunăng thực của hệ thống. 1. 2 Mục đích của việc đánhgiáhiệu năng. Khi triển khai một hệthống tính toán, một yêu cầu đặt ra đối với người quản trị là phải đánhgiá được khả năng của hệ thố ng về các mặt tính toán, truyền thông. Sự đánhgiá này có được dựa trên các kết quả cụ thể phản ánh tốc độ thực hiện các thao tác trên các kiểu dữ liệu, tốc độ gửi và nhận gói tin, tốc độ truy cập bộ nhớ ngoài và bộ nhớ trong. Các kết quả này khi được tổng hợp lại cho phép dự đoán một phần về hiệunăng của những ứng dụng đang được triển khai. Đối với từng máy tính đóng vai trò là nút tính toán, việc đánhgiáhiệunăng được thực hiện với mục đích đưa ra những thông số cụ thể phản ánh tốc độ tính toán, tốc độ truy cập bộ nhớ trong khi thực hiện bài toán trên CPU đơn của máy tính. Từ những thông số cụ thể trên người quản trị có thể đưa những đánhgiá về năng lực tính toán cũng nh ư kích thước của bài toán là bao nhiêu thì sẽ phù hợp với nút mạng. Khả năng truyền thông giữa các nút trong mạng đóng vai trò rất quan trọng khi triển khai một hệthống tính toán. Tốc độ truyền thông chịu ảnh hưởng một cách trực tiếp bởi các cấu hình phần cứng cũng như dung lượng gói tin và 9 tần số gửi gói tin. Từ những thông số đo được khi thực hiện các chương trình đo hiệunăng truyền thông, người quản trị có thể đưa ra những thông số tối ưu về dung lượng gói tin và tần số gửi tin của từng giao thức cụ thể đối với hệthống tính toán đang triển khai. Quá trình đo hiệunăng còn được sử dụng để đánhgiá sự tương thích của hệthống đối với các thư viện lập trình. Trong trường hợp này, phần mềm đo hiệunăng sẽ gọi một số hàm tiêu biểu của thư viện, đo thời gian thực hiện các hàm này đối với các kích thước đầu vào cụ thể. Một trong những mục đích của việc xây dựng hệthống máy tính là để thực hiện các bài toán đòi hỏ i số lượng tính toán rất lớn. Lúc này cả hệthống sẽ được xem như một máy tính duy nhất thực hiện quá trình chạy chương trình. Các phần mềm đo hiệunăng tính toán songsong cho phép người quản trị có được những thông số về tốc độ tính toán đối với những kiểu bài toán, ứng dụng khác nhau. Có những chương trình thiên về truyền thông, có những chương trình cho phép giảm thiểu quá trình truyền thông để tập trung đánhgiá n ăng lực tính toán. Để đánhgiá sự tương thích của hệthống đối với những ứng dụng đang dự định triển khai, các phần mềm đo hiệunăng có dạng mô phỏng ứng dụng được viết ra và sử dụng. Các phần mềm này sẽ mô phỏng ứng dụng trong tương lai ở mức độ nhỏ hơn và đo đạc các thông số về tính toán, truyền thông khi chạy vớ i những giá trị đầu vào thích hợp. Qua các thông số thu được, người quản trị hệthống sẽ có thể đưa ra những đánhgiá đúng đắn, những chỉnh sửa để có thể triển khai hệthống trong tương lai một cách tối ưu nhất về cả cấu trúc phần cứng cũng như các phần mềm cài đặt. 1.3 Phân loại các phần mềm đo hiệu năng. Những ph ần mềm đo hiệunăng ra đời vào đầu những năm 80 với mục đích ban đầu là đo hiệunăng tính toán của những máy tính tuần tự. Những chương trình đo hiệunăng này sử dụng một tập các câu lệnh được gọi trong nhiều [...]... các hệthống máy tính khác Hệthốngsongsongphâncụm là mô hình đa máy tính nên các chương trình songsong trên các hệthống đa máy tính có thể tương thích với hệthốngphân cụm, nhưng trong một số trường hợp hiệunăng thực hiện của chương trình không được tối ưu do hệthốngsongsongphâncụm có một số đặc điểm riêng biệt Hệthống tính toán songsongphâncụm là hệthống máy tính có bộ nhớ phân. .. chương trình đo hiệunăng 16 Sự phát triển về khả năng tương thích hệthống của các chương trình đo hiệunăng : ban đầu các chương trình đo hiệunăng thường được viết để đánh giáhiệunăng của những hệthống cụ thể Điều này được thể hiện qua một số ví dụ như sau : - Gói phần mềm NASA Parallel Benchmark được viết để đánh giáhiệunăng tính toán của hệthống tính toán songsongphâncụm của cơ quan... về đánh giáhiệunăng Có thể nói rằng, bất cứ khía cạnh nào của một máy tính đơn hay một hệthống tính toán phức tạp đều tồn tại những chương trình đo hiệunăng chuyên dụng để đánh giáhiệunăng Có thể chia ra thành các phần mềm đo hiệunăng với những mục đích sau : đo hiệunăng tính toán, đo hiệunăng truyền thông, đo hiệunăng truy cập bộ nhớ trong, đo hiệunăng của thư viện lập trình, đo hiệu năng. .. trúc hệthống tính toán songsongphâncụm BKCLUSTER BKCluster là hệthống tính toán songsongphâncụm được xây dựng tại Trung Tâm Tính Toán HiệuNăng Cao trường Đại Học Bách Khoa Hà Nội Hệthống có mục đích chính làm dịch vụ tính toán để thực hiện các bài toán kỹ thuật có yêu cầu tính toán lớn 2.5.1 Kiến trúc phần cứng của hệ BKCLUSTER - Hệthống BKLUSTER được xây dựng theo mô hình songsongphân cụm. .. việc triển khai hệthốngsongsongphâncụm với khả năng tuỳ biến cao 29 Các thành phầnphần mềm dùng trong hệthống tính toán songsongphâncụm có thể chia thành 3 nhóm chính sau : Thư viện và môi trường lập trình, các phần mềm quản lý tài nguyên và phân tải, các thư viện truyền thông điệp a)Thư viện và môi trường lập trình Lập trình songsong trong các hệthống tính toán songsongphâncụm là phức... tính Một hệthốngphâncụm là cục bộ với ý nghĩa là toàn bộ các thành phầnhệthống con nằm trong khu vực địa lý hẹp và được quản lý tập trung như là một hệthốngthống nhất Các nút trong hệ bó có thể là kết hợp của các máy tính đơn bộ xử lý với các máy nhiều bộ sử lý (SMP: symmertric multiprocesor) Ưu điểm của hệthốngphâncụm là giá thành của hệthống Hiện nay một hệthống dựa trên công nghệ LAN và... và phân tải OpenPBS là hệthốngphân tải của NASA phát triển Phiên bản OpenPBS là phiên bản mã nguồn mở PBS ra đời sau các hệthốngphân tải khác như DQS, Condor nên khắc phục được một số nhược điểm của hệthống trên, hơn nữa PBS được thiết kế theo hướng mở có khả năng thay đổi và tối ưu cho phù hợp với hệthống c)Thư viện truyền thông điệp Hệthống BKCluster là hệthống tính toán songsongphân cụm. .. trong hệ thốngsongsongphâncụmGiá thành rẻ là lợi thế của hệthống tính toán songsongphâncụm thì việc triển khai phần mềm trên hệthống này lại phức tạp Nhưng phần mềm cho hệthống tính toán songsongphâncụm lại rất đa dạng và sẵn dùng, thậm chí có cả những giải pháp hoàn chỉnh Các hệthốngphâncụm thường được triển khai trên các hệ điều hành dòng Unix như Linux, Unix, Solaris.Với sự ra đời... biên dịch songsong và ngôn ngữ lập trình tạo lên một ngôn ngữ lập 30 trình songsong cho các hệthống tính toán phâncụm Các ngôn ngữ lập trình songsong tiêu biểu hiện nay là: HPF (Hight Performance Fortran), Titanium (kế thừa từ Java), Para++, ABC+, Split-C, BSP… Một trong những thành phần quan trọng của các chương trình tính toán songsongphâncụm nói riêng và các hệthống tính toán songsong nói... Một số sản phẩm phân tải và quản lý tài nguyên thường được sử dụng trong các hệthống tính toán songsongphâncụm là: 31 - PBS (Portable Batch System) : hệthốngphân tải và quản lý tài nguyên rất mạnh do NASA phát triển Hệthống này được sử dụng rất phổ biến trong các hệthống tính toán hiệunăng cao Chức năng chính của hệthống là tiếp nhận các công việc từ người sử dụng, bảo vệ công việc đó cho đến . kết luận về tốc độ tính toán, tính hiệu quả của toàn bộ hệ thống. Đối với hệ thống tính toán song song phân cụm, việc đánh giá hiệu năng sẽ được tiến hành dưới hai mức độ. Đánh giá hiệu năng. QUAN VỀ ĐÁNH GIÁ HIỆU NĂNG HỆ THỐNG 8 1.1 Định nghĩa về đánh giá hiệu năng ………………………………… 8 1.2 Mục đích của việc đánh giá hiệu năng ………………………………. 8 1.3 Phân loại các phần mềm đo hiệu năng …………………………. QUAN VỀ ĐÁNH GIÁ HIỆU NĂNG HỆ THỐNG 1.1 Định nghĩa về đánh giá hiệu năng. Đánh giá hiệu năng là sử dụng phần mềm chuyên dụng trên một máy tính đơn hay cả một hệ thống máy tính, từ việc phân