Luận văn Ngành xử lý thông tin và truyền thông - Đánh giá hiệu năng hệ thống song song phân cụm

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 song song 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ệu nă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

pdf74 trang | Chia sẻ: lvbuiluyen | Lượt xem: 1954 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Luận văn Ngành xử lý thông tin và truyền thông - Đánh giá hiệu năng hệ thống song song phân cụm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 ®¸nh gi¸ hiÖu n¨ng hÖ thèng song song ph©n cô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Ề ĐÁ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……………………………......... 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 song song dữ liệu………………………………………... 26 2.4 Các vấn đề của một hệ thống tính toán song song phân cụ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 song song phân cụm………. 27 2.4.3 Các phần mềm sử dụng trong hệ thống song song phân cụm………. 28 2.5 Kiến trúc hệ thống tính toán song song 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 đánh giá hiệu năng của hệ thống BK Cluser………….......... 36 2.6.1 Đo hiệu năng tính toán (năng lực của CPU)………………….......... 38 2 2.6.2 Đo hiệu năng truy cập bộ nhớ trong……………………………...... 41 2.6.3 Đo hiệu năng truyền thông………………………………………..... 42 2.6.4 Đo hiệu nă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ệu năng tính toán…………………………………………………. 44 3.2 Đo hiệu năng truy cập bộ nhớ trong………………………………….... 47 3.3 Đo hiệu năng truyền thông……………………………………………... 47 3.4 Đo hiệu nă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ệu năng tính toán……………..... 51 4.2.2 Chương trình thực hiện đo hiệu năng truy cập bộ nhớ trong……… 53 4.2.3 Chương trình thực hiện đo hiệu nă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ệu năng tính toán………………………………………… 56 5.1.1 Kết quả đo hiệu năng tính toán của CPU đơn…………………….... 56 5.1.2 Kết quả đo hiệu năng tính toán của toàn bộ hệ thống……………… 57 5.2 Kết quả đo hiệu năng truy cập bộ nhớ trong…………………………... 64 5.3 Kết quả đo hiệu năng truyền thông……………………………………. 64 5.4 Kết quả đo hiệu năng của thư viện truyền thông điệp MPICH……….. 65 5.5 Đánh giá tổng hợp về hiệu nă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ệu năng song song 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ống phâ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ệu năng BK Cluster……………………………... 38 Hình 5.1 Biểu đồ tương quan giữa hiệu nă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ệu năng CPU đơn…………………………………. 57 Bảng 5.2 Kết quả đo hiệu năng tính toán bằng hạt nhân EP………………. 58 Bảng 5.3 Kết quả đo hiệu năng tính toán bằng hạt nhân IS………………... 59 Bảng 5.4 Kết quả đo hiệu năng tính toán bằng hạt nhân CG……………… 60 Bảng 5.5 Kết quả đo hiệu năng tính toán bằng hạt nhân MG……………… 60 Bảng 5.6 Kết quả đo hiệu năng tính toán bằng hạt nhân LU………………. 61 Bảng 5.7 Kết quả đo hiệu nă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ệu nă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 song song 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ệu nă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 Đánh giá hiệu nă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 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 từng thành phần trong hệ thống : Gồm phần cứng và phần mềm. - Đánh giá 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 Đánh giá hiệu năng phầ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. - Đánh giá hiệu nă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 song song 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 song song mà người quản trị có thể đánh giá được hiệu nă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ệu năng mã nguồn mở chuyên dụng để đánh giá hiệu năng của hệ thống tính toán song song phân cụ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ề đánh giá hiệu năng hệ 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ệu nă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Ề ĐÁ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 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ệu năng thực của hệ thống. 1. 2 Mục đích của việc đánh giá 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 đánh giá được khả năng của hệ thống về các mặt tính toán, truyền thông. Sự đánh giá 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ệu nă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 đánh giá hiệu nă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 đánh giá 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ệu nă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ệu năng còn được sử dụng để đánh giá 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ệu nă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ệu năng tính toán song song 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 đánh giá năng lực tính toán. Để đánh giá 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ệu nă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 đánh giá đú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ệu năng ra đời vào đầu những năm 80 với mục đích ban đầu là đo hiệu năng tính toán của những máy tính tuần tự. Những chương trình đo hiệu năng này sử dụng một tập các câu lệnh được gọi trong nhiều 10 vòng lặp thực hiện một số lượng lớn các phép toán số học với dữ liệu là số nguyên hoặc số thực. Sau này, các phần mềm đo hiệu năng đã được sử dụng trong việc đo đạc, đánh giá các máy tính đơn hoặc cả hệ thống tính toán dưới nhiều khía cạnh như tính toán, truyền thông, truy cập bộ nhớ... Với mỗi mục đích khác nhau sẽ có những phần mềm tương ứng để đánh giá, không có một phần mềm đo hiệu năng nào được viết một cách tổng hợp để đánh giá tất cả các khía cạnh trên. Có hai cách phổ biến khi phân loại các phần mềm đo hiệu năng đó là phân loại theo độ phức tạp của chương trình đo hiệu năng và phân loại dựa trên mục đích đo hiệu năng của chương trình. 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 Phân loại dựa trên độ phức tạp của chương trình gắn liền với quá trình phát triển của các loại phần mềm đo hiệu năng. Từ những chương trình đơn giản ban đầu viết để đo khả năng tính toán của một máy tính cá nhân, đến những chương trình phức tạp mô phỏng một hệ thống cụ thể triển khai trên toàn bộ hệ thống tính toán. Dựa trên tiêu chí này, các phần mềm đo hiệu năng có thể được phân chia theo mức độ tăng dần thành 3 loại chính : Mã lệnh đơn giản (Synthetic Code), Hạt nhân (Kernel) Mô phỏng ứng dụng (Simulation Application). Mã lệnh đơn giản : là chương trình thực hiện một tập các phép toán như cộng, trừ, nhân, chia trên tập số thực, các thao tác truy cập bộ nhớ như đọc, ghi dữ liệu từ bộ nhớ ngoài hoặc các thao tác truyền dữ liệu như gửi gói tin và chờ tín hiệu phản hồi từ máy đích. Những chương trình đo hiệu năng tính toán đầu tiên trên thế giới thường được xếp vào loại này. Ngày nay những chương trình này thường được cải tiến rất nhiều hoặc trở thành một phần của những chương trình đo hiệu năng phức tạp hơn. Tuy nhiên các chương trình đo hiệu 11 năng truyền thông hoặc truy cập bộ nhớ trong hiện nay vẫn được xếp vào dạng mã lệnh đơn giản. Hạt nhân : là chương trình thực hiện một phần của một ứng dụng cụ thể, hạt nhân thường được sử dụng trong các gói phần mềm đo hiệu năng tính toán. Chức năng của hạt nhân có thể chỉ đơn giản là thực hiện việc chuyển vị ma trận hay phức tạp hơn như thực hiện biến đổi fourier, nhân ma trận. Đa số các chương trình đo hiệu năng tính toán ngày nay được coi là các hạt nhân. Mô phỏng ứng dụng : là những chương trình được viết ra để đánh giá sự tương thích của hệ thống đối với một loại ứng dụng cụ thể. Các chương trình loại này thường là một tập hợp của các hạt nhân, giữa các hạt nhân đã có sự tương tác với nhau về truyền thông cũng như kết quả tính toán. Hiện nay các chương trình mô phỏng ứng dụng thường được cung cấp dưới dạng một phần của các gói phần mềm đo hiệu năng của các cơ quan, viện nghiên cứu có uy tín trên thế giới. Để chạy được các chương trình loại này thì cần phải triển khai toàn bộ hệ thống một cách tương đối hoàn chỉnh về cấu hình phần cứng và phần mềm. 1.3.2 Phân loại dựa trên mục đích của chương trình. Các chương trình đo hiệu năng thường chỉ thực hiện việc đánh giá tốc độ thực hiện của một loại công việc cụ thể, cho nên việc phân loại theo mục đích ngày nay rất hay được sử dụng trong các tài liệu tổng quan về đánh giá hiệu nă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ệu năng chuyên dụng để đánh giá hiệu năng. Có thể chia ra thành các phần mềm đo hiệu năng với những mục đích sau : đo hiệu năng tính toán, đo hiệu năng truyền thông, đo hiệu năng truy cập bộ nhớ trong, đo hiệu năng của thư viện lập trình, đo hiệu năng truy cập bộ nhớ ngoài. 12 Phần mềm đo hiệu năng tính toán. Những chương trình chuyên dụng đo hiệu năng tính toán được ra đời vào đầu thập kỷ 80. Chương trình WhetStone được coi là chương trình đo hiệu năng tính toán đầu tiên trên thế giới. Đây là một tập các module con, mỗi module thực hiện một thao tác riêng như các phép toán số nguyên, các phép toán số thực. Kiểu dữ liệu sử dụng trong WhetStone có thể có độ chính xác đơn hoặc chính xác kép. Sau WhetStone, xuất hiện các chương trình đo hiệu năng tính toán khác như : DhryStone, Digital Review. Đặc điểm chung của các chương trình này là đều thao tác chủ yếu trên các kiểu dữ liệu số thực, giá trị trả về có thứ nguyên được quy ước riêng, ví dụ WhetStone trả về giá trị có thứ nguyên KWIPS (Kilo WhetStone Instrution Per Second), DhryStone trả về giá trị có thứ nguyên DhryStone Per Second, Digital Review trả về giá trị có thứ nguyên MVUPS (MicroVAX units of processing). Các giá trị này là số nghìn hay triệu vòng lặp dùng trong chương trình tương ứng, rõ ràng là các giá trị này chỉ có thể được sử dụng để so sánh hiệu năng tính toán của hai máy khi cùng chạy một chương trình đo hiệu năng. Bên cạnh những chương trình đo hiệu năng hoạt động chủ yếu trên kiểu dữ liệu số thực, đã xuất hiện các chương trình đo hiệu năng thao tác trên kiểu dữ liệu số nguyên. Các chương trình này thường được cài đặt theo một số giải thuật cụ thể như HeapSort. Giá trị trả về của các chương trình này có dạng MIPS (Mega Instruction Per Second) là số triệu lần các câu lệnh được thực hiện trong 1 giây. Các chương trình đo hiệu năng tính toán được phát triển trong những năm gần đây đều sử dụng chủ yếu các phép toán trên kiểu dữ liệu số thực dấu phẩy động (floating point). Kết quả trả về có thứ nguyên là MFLOPS (hàng triệu phép tính dấu phẩy động trong 1 giây). Một trong những chương trình tiêu biểu đầu tiên có sử dụng kiểu thứ nguyên này là Linpack của tác giả Jack 13 Dongarra trường đại học Tennesse. Linpack là một tập các chương trình con nằm trong thư viện lập trình Lapack. Đây là chương trình đo hiệu năng có số lượng phép tính dấu phẩy động rất lớn tuy nhiên cũng có một nhược điểm là không thực hiện phép chia. Phần mềm đo hiệu năng này còn được sử dụng rất phổ biến và đã được phát triển thêm các phiên bản viết bằng ngôn ngữ C và Java từ phiên bản ban đầu viết bằng ngôn ngữ Fortran. Các chương trình đo hiệu năng sử dụng phép toán dấu phẩy động sau này đa số đều được xếp vào dạng hạt nhân, ngoài Linpack ra còn có thêm một số phần mềm đo hiệu năng tính toán nổi tiếng khác như : Livermore, Nasa Parallel Benchmark (NPB). Đặc biệt gói phần mềm NPB đã cung cấp 5 hạt nhân, 3 mô phỏng ứng dụng được sử dụng rất rộng rãi trong việc đánh giá hiệu năng của các hệ thống tính toán song song. Phần mềm đo hiệu năng truyền thông. Các chương trình đo hiệu năng truyền thông được sử dụng để đánh giá hiệu năng truyền gói tin giữa hai máy, đóng vai trò nút mạng trong một hệ thống tính toán. Các chương trình này đều có cấu trúc client – server với module client được cài trên máy nguồn, module server được cài trên máy đích. Máy nguồn sẽ gửi gói tin đến máy đích, tùy theo từng chương trình mà máy đích có gửi lại tín hiệ