Tổng quan nghiên cứu

Trong giai đoạn năm 2006, sự phát triển mạnh mẽ của khoa học kỹ thuật và nhu cầu xử lý các bài toán mô phỏng phức tạp đòi hỏi năng lực tính toán vượt bậc từ các hệ thống siêu máy tính. Tuy nhiên, rào cản tài chính với chi phí đầu tư hàng triệu USD cho các cỗ máy chuyên dụng đặt ra thách thức lớn cho các cơ sở nghiên cứu tại Việt Nam. Trước bối cảnh đó, giải pháp xây dựng hệ thống tính toán song song phân cụm (Cluster Computing) dựa trên việc liên kết các máy tính cá nhân thương mại qua mạng cục bộ đã trở thành hướng đi mang tính đột phá và tối ưu về mặt kinh phí.

Nghiên cứu tập trung giải quyết bài toán cốt lõi: Làm thế nào để đánh giá toàn diện, chính xác và định lượng hóa năng lực xử lý thực tế của một hệ sinh thái tính toán song song phân cụm? Mục tiêu cụ thể của luận văn là xây dựng quy trình đo kiểm chuẩn hóa, triển khai các công cụ mã nguồn mở chuyên dụng nhằm phân tích sâu hiệu năng từ cấp độ vi mô (từng nút mạng độc lập) đến cấp độ vĩ mô (toàn bộ hệ thống hợp nhất).

Phạm vi thực nghiệm được thực hiện trực tiếp trên hệ thống BKCluster tại Trung tâm Tính toán Hiệu năng cao thuộc Trường Đại học Bách khoa Hà Nội vào tháng 10 năm 2006. Cụm máy bao gồm 1 máy chủ HP NetServer LH6000 trang bị 6 bộ xử lý Intel Pentium III Xeon 700 MHz và 32 máy trạm tính toán sử dụng vi xử lý Intel Pentium III 500 MHz kết nối qua chuyển mạch Fast Ethernet tốc độ 100 Mbps. Nghiên cứu mang ý nghĩa thực tiễn to lớn khi thiết lập bộ chỉ số đo lường chuẩn hóa gồm năng lực tính toán dấu phẩy động (MFLOPS), băng thông bộ nhớ (MB/s), độ trễ truyền thông mạng (micro giây) và thông lượng mạng (Mbps), làm tiền đề tối ưu hóa các ứng dụng tính toán khoa học trong mạng lưới tính toán lưới BKGrid.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Luận văn vận dụng nền tảng phân loại kiến trúc máy tính kinh điển của Flynn, phân chia các mô hình thành đơn dòng lệnh - đơn dòng dữ liệu (SISD), đơn dòng lệnh - đa dòng dữ liệu (SIMD), và đa dòng lệnh - đa dòng dữ liệu (MIMD). Trong đó, hệ thống BKCluster thuộc kiến trúc MIMD với không gian bộ nhớ phân tán, nơi mỗi nút tính toán sở hữu bộ nhớ vật lý độc lập và liên lạc thông qua cơ chế trao đổi thông điệp.

Mô hình lập trình song song chủ đạo được triển khai là cơ chế truyền thông điệp (Message Passing Interface - MPI). Luận văn làm rõ 3 khái niệm trọng tâm:

  1. Mã lệnh đơn giản (Synthetic Code): Các đoạn chương trình lặp cơ bản nhằm đo lường tốc độ thực thi chỉ lệnh hoặc thao tác phần cứng cơ sở.
  2. Hạt nhân tính toán (Kernel): Các đoạn mã giải thuật cốt lõi mô phỏng một phần ứng dụng thực tế như nhân ma trận, giải ma trận thưa, biến đổi Fourier 3 chiều.
  3. Ứng dụng mô phỏng (Simulation Application): Tổ hợp các hạt nhân phức tạp phản ánh toàn diện các bài toán thực tiễn, tiêu biểu là tính toán động lực học chất lưu (CFD).

Hệ thống chỉ số hiệu năng được chuẩn hóa dựa trên lý thuyết tính toán số thực dấu phẩy động, với đại lượng Benchmark Performance RB(N,p) được xác định bởi tỷ số giữa số lượng phép tính dấu phẩy động chuẩn FB(N) và thời gian thực thi T(N,p).

Phương pháp nghiên cứu

Nghiên cứu sử dụng phương pháp thực nghiệm đo kiểm có kiểm soát trên môi trường phần cứng và phần mềm thực tế. Cỡ mẫu thực nghiệm bao gồm 32 nút máy trạm độc lập và 1 nút máy chủ điều phối, được khảo sát qua các cấp độ tải dữ liệu phân hạng từ lớp S (2 mũ 24 phần tử), lớp W (2 mũ 26 phần tử), lớp A (2 mũ 28 phần tử) đến lớp C (2 mũ 32 phần tử). Phương pháp chọn mẫu cấu hình là phương pháp quét tham số toàn diện, thay đổi tuần tự số lượng nút tham gia tính toán từ 1, 2, 4, 8, 16 đến 32 nút nhằm xác định độ co giãn hiệu năng (scalability).

Lý do lựa chọn các công cụ đo lường chuyên dụng:

  • Linpack (viết bằng Fortran, biên dịch qua g77) được chọn để đo lường năng lực số thực dấu phẩy động của CPU đơn trên từng máy trạm nhờ tính chuẩn mực quốc tế khi gọi hai hàm DGEFA và DGESL từ thư viện Lapack.
  • Stream Benchmark (viết bằng ngôn ngữ C, xử lý mảng số thực độ chính xác kép 8 byte) được áp dụng để xác định chính xác băng thông truy cập bộ nhớ RAM và ngưỡng chuyển tiếp sang bộ nhớ ảo (Swap).
  • NetPerf và NetPIPE được lựa chọn để phân tách độ trễ tầng giao vận TCP/IP và độ trễ do lớp thư viện MPICH gây ra.
  • Bộ công cụ NASA Parallel Benchmark (NPB 2.3) gồm 5 hạt nhân (EP, MG, CG, FT, IS) và 3 mô phỏng ứng dụng (LU, BT, SP) được sử dụng để đánh giá toàn diện năng lực xử lý phân tán của toàn hệ thống.

Toàn bộ quy trình thu thập dữ liệu và xử lý kết quả được tiến hành liên tục trong tháng 10 năm 2006 tại Trung tâm Tính toán Hiệu năng cao.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

Thực nghiệm đo lường trên hệ thống BKCluster đã mang lại những phát hiện quan trọng có giá trị định lượng cao:

Thứ nhất, về năng lực tính toán đơn nút, kết quả đo Linpack cho thấy bộ xử lý Pentium III 500 MHz trên các máy trạm đạt năng lực tính toán thuần túy xấp xỉ 125 MFLOPS, trong khi máy chủ HP trang bị vi xử lý Xeon 700 MHz đạt trên 215 MFLOPS, cao hơn khoảng 72% so với nút trạm đơn lẻ.

Thứ hai, về giới hạn truy cập bộ nhớ, chương trình Stream chỉ ra băng thông đọc ghi của bộ nhớ RAM 256 MB đạt mức trung bình khoảng 380 MB/s đối với các khối dữ liệu dưới 180 MB. Tuy nhiên, khi kích thước bài toán vượt quá ngưỡng dung lượng vật lý 256 MB, hệ điều hành Linux kích hoạt cơ chế bộ nhớ ảo Swap, làm băng thông sụt giảm nghiêm trọng hơn 88%, xuống chỉ còn dưới 45 MB/s.

Thứ ba, về hiệu năng truyền thông mạng, công cụ NetPerf ghi nhận băng thông mạng Fast Ethernet 100 Mbps đạt hiệu suất thực tế cực đại ở mức 92,4 Mbps khi kích thước gói tin đạt từ 8 KB trở lên, với độ trễ tối thiểu khoảng 75 micro giây. Khảo sát qua NetPIPE cho thấy thư viện MPICH tạo ra một độ trễ đóng gói thông điệp nhất định đối với các gói tin nhỏ dưới 1 KB, nhưng duy trì thông lượng ổn định từ 85 đến 89 Mbps với các gói dữ liệu từ 64 KB trở lên.

Thứ tư, về hiệu năng tính toán song song toàn cụm với bộ kiểm thử NPB lớp A, hạt nhân EP (Embarrassingly Parallel) cho thấy tính mở rộng gần như tuyến tính khi tăng từ 1 lên 32 nút, duy trì hiệu suất tính toán song song đạt trên 91%. Ngược lại, các bài toán đòi hỏi truyền thông dày đặc như CG và FT bắt đầu suy giảm tốc độ tăng trưởng hiệu năng rõ rệt khi vượt quá mốc 16 nút trạm.

Thảo luận kết quả

Nguyên nhân cốt lõi khiến hiệu năng của các giải thuật truyền thông dày đặc bị suy giảm nằm ở sự mất cân đối giữa năng lực tính toán của 32 vi xử lý và băng thông mạng kết nối 100 Mbps. Mạng chuyển mạch Fast Ethernet tạo ra điểm nghẽn cổ chai truyền thông khi số lượng tiến trình trao đổi dữ liệu đồng thời gia tăng, dẫn đến hiện tượng tranh chấp đường truyền và làm tăng thời gian chờ đồng bộ giữa các nút.

Khi so sánh với các nghiên cứu siêu máy tính chuẩn quốc tế sử dụng mạng chuyên dụng Myrinet hoặc Gigabit Ethernet (1000 Mbps), hệ thống BKCluster có chi phí đầu tư thấp hơn khoảng 80% nhưng vẫn đáp ứng rất tốt các bài toán phân tán độc lập dữ liệu.

Các dữ liệu thực nghiệm trong nghiên cứu có thể được trực quan hóa rất hiệu quả thông qua:

  • Biểu đồ đường biểu diễn tương quan giữa số lượng nút trạm (trục hoành từ 1 đến 32 nút) và tốc độ tính toán MFLOPS (trục tung) để làm nổi bật khoảng cách giữa đường tăng tốc lý thuyết và đường đo đạc thực tế của từng hạt nhân NPB.
  • Bảng so sánh đa chiều tổng hợp thời gian thực thi (giây), tốc độ tính toán (MFLOPS) và thông lượng bộ nhớ tương ứng với từng kích cỡ bài toán từ lớp S đến lớp A, giúp người quản trị dễ dàng nhận diện điểm bão hòa của hệ thống.

Đề xuất và khuyến nghị

Dựa trên kết quả đo kiểm thực tế, luận văn đưa ra 4 giải pháp cụ thể nhằm tối ưu hóa và nâng cấp năng lực hệ thống tính toán song song:

Thứ nhất, nâng cấp hạ tầng mạng truyền thông từ Fast Ethernet 100 Mbps lên Gigabit Ethernet 1000 Mbps hoặc công nghệ mạng khu vực hệ thống SAN chuyên dụng. Mục tiêu là tăng băng thông trao đổi dữ liệu lên gấp 8 đến 10 lần và giảm độ trễ truyền gói tin xuống dưới 20 micro giây. Nhiệm vụ này do Đội ngũ Kỹ sư Hạ tầng Mạng thực hiện trong lộ trình từ 6 đến 12 tháng.

Thứ hai, mở rộng dung lượng bộ nhớ trong RAM trên mỗi nút máy trạm từ 256 MB lên mức tối thiểu 1 GB đến 2 GB DDR. Giải pháp này nhằm triệt tiêu hiện tượng thắt nút cổ chai do truy cập bộ nhớ ảo Swap, cho phép hệ thống giải quyết trơn tru các bài toán NPB phức tạp thuộc lớp B (2 mũ 30 phần tử) và lớp C (2 mũ 32 phần tử). Nhiệm vụ do Bộ phận Kỹ thuật Phần cứng đảm trách trong khung thời gian từ 3 đến 6 tháng.

Thứ ba, chuẩn hóa và tối ưu hóa hệ thống quản lý phân tải OpenPBS kết hợp cùng phiên bản thư viện MPICH hỗ trợ chịu lỗi (Fault-Tolerant MPI - FTMPI). Mục tiêu nâng cao độ tin cậy của cụm máy lên 99%, tự động phân phối tải cân bằng giữa các nút, giúp giảm 25% thời gian hàng đợi của các tác vụ tính toán lớn. Nhiệm vụ do Nhóm Quản trị Hệ thống triển khai trong vòng 4 tháng.

Thứ tư, áp dụng các tùy chọn tối ưu hóa nâng cao của trình biên dịch gcc, g77 với cờ tối ưu mức cao và vector hóa chỉ lệnh cho dòng CPU Intel. Giải pháp này giúp cải thiện hiệu năng thực thi mã nhị phân thêm 15% đến 20% mà không phát sinh thêm chi phí phần cứng. Nhiệm vụ do Nhóm Phát triển Ứng dụng Song song hoàn thành trong vòng 2 tháng.

Đối tượng nên tham khảo luận văn

Tài liệu luận văn là nguồn tư liệu học thuật và kỹ thuật giá trị cao cho 4 nhóm đối tượng trọng tâm:

  1. Quản trị viên hệ thống và kỹ sư trung tâm dữ liệu: Cung cấp quy trình từng bước thiết lập, cấu hình phần mềm phân tải OpenPBS, cài đặt thư viện truyền thông MPICH và quy chuẩn đánh giá phần cứng trước khi đưa cụm máy vào vận hành thực tế.
  2. Học viên cao học và nghiên cứu sinh ngành Công nghệ thông tin, Truyền thông: Nắm vững phương pháp luận nghiên cứu khoa học trong đánh giá hiệu năng hệ thống, cách thức thiết kế bài kiểm thử chuẩn hóa và xử lý số liệu đo kiểm phân tán.
  3. Lập trình viên tính toán hiệu năng cao và mô phỏng khoa học: Hiểu rõ đặc tính của các hạt nhân toán học (nhân ma trận, giải hệ phương trình tuyến tính, biến đổi Fourier 3D), từ đó tối ưu hóa giải thuật và phân chia khối lượng công việc phù hợp với kiến trúc bộ nhớ phân tán.
  4. Lãnh đạo các phòng thí nghiệm và cơ sở đào tạo đại học: Tham khảo mô hình xây dựng phòng thực hành tính toán song song hiệu năng cao từ các máy tính cá nhân sẵn có, tối ưu hóa ngân sách đầu tư thiết bị ban đầu.

Câu hỏi thường gặp

  1. Tại sao hệ thống BKCluster lựa chọn thư viện MPICH thay vì LAM-MPI có sẵn trong bản phân phối RedHat Linux 7.3? Hệ thống chọn MPICH phiên bản 1.2 vì đây là thư viện mã nguồn mở hoàn chỉnh, cho phép can thiệp trực tiếp vào mã nguồn để tùy biến các tham số truyền thông. Quan trọng hơn, MPICH là nền tảng duy nhất hỗ trợ tích hợp các module chịu lỗi như MPICH-V1 và MPICH-V2, đáp ứng yêu cầu vận hành liên tục của các bài toán lớn.

  2. Đâu là điểm nghẽn hiệu năng lớn nhất được phát hiện trên hệ thống BKCluster 32 nút? Điểm nghẽn lớn nhất là băng thông kết nối mạng Fast Ethernet 100 Mbps và dung lượng RAM 256 MB trên mỗi nút trạm. Khi số nút tham gia vượt quá 16 hoặc kích thước dữ liệu vượt quá 256 MB, độ trễ truyền gói tin và thời gian truy cập bộ nhớ ảo Swap khiến hiệu suất tính toán tổng thể suy giảm nghiêm trọng.

  3. Bộ kiểm thử NASA Parallel Benchmark đóng vai trò như thế nào trong việc định hình ứng dụng thực tế? NPB cung cấp 5 hạt nhân tính toán và 3 mô hình mô phỏng dòng chảy chất lưu (CFD) chuẩn hóa. Kết quả đo giúp người quản trị dự báo chính xác hệ thống phù hợp nhất với các bài toán độc lập dữ liệu (hạt nhân EP) và xác định giới hạn quy mô tối ưu cho các bài toán giải ma trận thưa hay biến đổi Fourier.

  4. Hiện tượng truy cập Swap ảnh hưởng tiêu cực đến hiệu năng tính toán của cụm máy như thế nào? Khi bài toán yêu cầu bộ nhớ vượt quá dung lượng 256 MB RAM vật lý, hệ điều hành buộc phải ghi dữ liệu tạm thời ra đĩa cứng. Tốc độ đọc ghi của đĩa cứng chậm hơn hàng trăm lần so với RAM, khiến băng thông xử lý dữ liệu giảm hơn 88%, kéo dài thời gian thực thi của tác vụ.

  5. Quy trình đánh giá hiệu năng trong luận văn có thể tái sử dụng cho các hệ thống máy chủ hiện đại ngày nay không? Hoàn toàn có thể. Quy trình đo 4 tầng gồm năng lực CPU đơn, băng thông bộ nhớ RAM, độ trễ truyền thông mạng và hiệu năng phân tán đa nút vẫn là chuẩn mực cốt lõi trong kỹ nghệ đánh giá hiệu năng các siêu máy tính và hệ thống điện toán đám mây hiện đại.

Kết luận

  • Luận văn đã xây dựng thành công quy trình đánh giá hiệu năng toàn diện cho hệ thống tính toán song song phân cụm BKCluster với 33 nút tính toán (1 máy chủ điều phối và 32 nút trạm).
  • Ứng dụng hiệu quả bộ công cụ chuẩn quốc tế gồm Linpack, Stream, NetPerf, NetPIPE và NASA Parallel Benchmark để định lượng chính xác từng thành phần phần cứng và phần mềm.
  • Xác định rõ năng lực thực tế của hệ thống với tốc độ CPU đơn đạt trên 125 MFLOPS, thông lượng mạng Fast Ethernet thực tế đạt 92,4 Mbps và hiệu quả tính toán song song đạt trên 91% với bài toán EP.
  • Chỉ ra chính xác 2 điểm nghẽn vật lý cốt lõi là băng thông mạng 100 Mbps và dung lượng RAM 256 MB, đồng thời đề xuất giải pháp nâng cấp cụ thể với lộ trình khả thi từ 6 đến 12 tháng.
  • Đóng góp nguồn tài liệu tham khảo thực tiễn quý giá, làm nền tảng kỹ thuật vững chắc cho việc mở rộng dự án tính toán lưới BKGrid phục vụ nghiên cứu khoa học và đào tạo chuyên sâu.

Độc giả và các kỹ sư hệ thống quan tâm có thể khai thác các mô hình đo kiểm trong luận văn để áp dụng trực tiếp vào việc tối ưu hóa hạ tầng tính toán hiệu năng cao tại đơn vị của mình.