Tổng quan nghiên cứu

Trong giai đoạn đầu những năm 2000, chi phí để trang bị các siêu máy tính nguyên khối phục vụ nghiên cứu khoa học có thể lên đến hàng triệu USD, tạo ra rào cản lớn đối với các quốc gia đang phát triển. Giải pháp ghép nối các máy tính phổ thông thành cụm tính toán hiệu năng cao theo kiến trúc Beowulf đã giúp tiết kiệm khoảng 70% ngân sách phần cứng. Tuy nhiên, rào cản kỹ thuật phức tạp của hệ điều hành phân tán và giao thức mạng khiến hơn 60% các nhà nghiên cứu chuyên ngành vật liệu, hóa học hay vật lý khó tiếp cận trực tiếp, dẫn đến lãng phí đáng kể tài nguyên tính toán.

Trước thực trạng đó, công trình nghiên cứu được triển khai nhằm thiết kế, đặc tả và xây dựng hệ thống tính toán song song ghép cụm BKluster cùng bộ phần mềm quản trị tích hợp BKlusware. Đề tài được thực hiện trong khuôn khổ Chương trình Hợp tác Khoa học Công nghệ theo Nghị định thư giữa Việt Nam và Ấn Độ giai đoạn 2004 – 2005, do Phó Giáo sư Nguyễn Thanh Thuỷ làm chủ nhiệm và hoàn thiện tài liệu kỹ thuật vào tháng 3/2006 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.

Mục tiêu trọng tâm của nghiên cứu là xây dựng nền tảng tính toán song song toàn diện gồm 3 phân hệ chính: môi trường phát triển tích hợp, môi trường thực thi tính toán và bộ công cụ quản trị, giám sát. Hệ thống hướng đến mục tiêu chuẩn hóa quy trình biên dịch, gỡ rối chương trình song song, đồng thời che giấu sự phức tạp của phần cứng phân tán. Kết quả thử nghiệm cho thấy hệ thống có khả năng phục vụ đồng thời 3 lớp người dùng độc lập, giúp khai thác tối đa hơn 80% công suất xử lý của các nút tính toán và hỗ trợ hiệu quả cho các bài toán mô phỏng vật liệu vi mô quy mô lớn.

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

Khung lý thuyết áp dụng

Nghiên cứu được xây dựng trên nền tảng kiến trúc máy tính phân cụm Beowulf, kết hợp chặt chẽ với mô hình lập trình truyền thông điệp thông qua giao diện chuẩn MPI và môi trường thực thi LAM/MPI. Hệ thống quản lý công việc và điều phối tài nguyên được phát triển dựa trên chuẩn hệ thống bó di động Portable Batch System, cho phép tối ưu hóa việc phân chia tài nguyên và cân bằng tải giữa các nút mạng.

Bên cạnh đó, nghiên cứu phát triển ngôn ngữ đặc tả thao tác đại số ma trận PCS, hỗ trợ tự động hóa quá trình song song hóa cho các bài toán đại số phức tạp. Hệ thống gỡ rối phân tán BKPD ứng dụng mô hình kiến trúc phân tầng kết hợp Stub, Skel, Master, Slave và trình gỡ lỗi GDB cục bộ trên từng nút. Ba khái niệm cốt lõi được định hình gồm: Execution Host (nút thực thi chuyên biệt mang hệ thống xử lý và bộ nhớ độc lập), Routing Queue (hàng đợi định tuyến công việc) và Execution Queue (hàng đợi thực thi tác vụ tính toán).

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

Dữ liệu và mô hình thực nghiệm được xây dựng dựa trên hệ thống phân cụm vật lý gồm 16 nút tính toán độc lập liên kết qua mạng cục bộ tốc độ cao tại Trung tâm Tính toán Hiệu năng cao. Phương pháp chọn mẫu có chủ đích được áp dụng để lựa chọn các bài toán mô phỏng vật liệu vi mô tiêu chuẩn, các phép toán ma trận mật độ cao và các kịch bản kiểm thử tải đa luồng.

Lý do lựa chọn phương pháp phân tích hướng đối tượng cùng ngôn ngữ mô hình hóa thống nhất UML là nhằm chuẩn hóa tài liệu kỹ thuật qua hơn 20 biểu đồ ca sử dụng và biểu đồ tuần tự. Cách tiếp cận này giúp mô hình hóa rõ ràng luồng tương tác giữa client, server và các nút tính toán, đồng thời giảm thiểu khoảng 40% lỗi xung đột truyền thông điệp trong môi trường song song. Toàn bộ quá trình nghiên cứu, thiết kế kiến trúc và đánh giá thực nghiệm được thực hiện liên tục trong 24 tháng, hoàn tất nghiệm thu kỹ thuật với cấu trúc 5 chương hoàn chỉnh.

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

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

Nghiên cứu đã đặc tả và hiện thực hóa thành công kiến trúc hệ thống BKluster với 3 phân hệ độc lập, mang lại những bước tiến rõ rệt về hiệu năng và trải nghiệm người dùng:

Thứ nhất, phân hệ thực thi tính toán tích hợp bộ công cụ đệ trình công việc trực quan hóa các lệnh PBS phức tạp gồm 6 tác vụ cốt lõi: Submit Job, Alter Job, Hold Job, Release Job, Del Job và Show Info Detail. Kết quả thực nghiệm cho thấy thời gian thiết lập và đệ trình một kịch bản tính toán song song giảm từ khoảng 15 phút thao tác dòng lệnh thủ công xuống còn dưới 2 phút trên giao diện đồ họa, tương đương mức giảm 86% thời gian cấu hình.

Thứ hai, phân hệ phát triển tích hợp và module gỡ rối BKPD đã hoàn thiện quy trình kiểm soát lỗi 4 pha gồm kết nối, thiết lập, phục vụ và kết thúc. Cơ chế này cho phép điều khiển đồng bộ 100% các tiến trình MPI trên các nút mạng phân tán, hỗ trợ theo dõi biến cục bộ và kiểm tra bộ đệm thông điệp từ xa một cách chính xác.

Thứ ba, phân hệ quản trị và giám sát tích hợp 5 module hoàn chỉnh, sử dụng kết nối socket bảo mật qua cổng mạng 4242 để quản lý gói phần mềm. Module đánh giá hiệu năng cho phép định lượng chính xác sức mạnh tính toán theo đơn vị GFLOPs và giám sát thông lượng mạng thời gian thực thông qua số lượng gói tin vào ra trên từng giao diện mạng.

Thứ tư, hệ thống thiết lập cơ chế phân quyền 3 cấp độ rõ ràng gồm Quản trị viên, Thành viên và Khách. Thiết kế này giúp đảm bảo an toàn dữ liệu trên thư mục người dùng, đồng thời mang lại tính trong suốt cho hơn 90% các nhà khoa học không chuyên về công nghệ thông tin khi khai thác hệ thống như một máy tính đa bộ xử lý duy nhất.

Thảo luận kết quả

Hiệu quả vượt trội của BKluster bắt nguồn từ việc trừu tượng hóa các tầng dịch vụ. Việc phân tách rõ ràng giữa tầng giao diện dịch vụ người dùng ở phía client và tầng dịch vụ hệ thống tại server đã giải quyết triệt để rào cản kỹ thuật của các cụm máy tính truyền thống.

Trong quá trình vận hành, các dữ liệu tài nguyên động bao gồm phần trăm sử dụng CPU, dung lượng bộ nhớ trong, tỷ lệ chiếm dụng đĩa cứng và thông lượng mạng được thu thập liên tục và trực quan hóa sinh động dưới dạng các đồ thị biến thiên theo trục thời gian thực. Cách biểu diễn dữ liệu trực quan qua biểu đồ đường và bảng trạng thái nút giúp người quản trị phát hiện điểm nghẽn cổ chai ngay khi phát sinh lệch tải giữa các Execution Host.

So với các hệ thống phân cụm Beowulf sơ khai chỉ trang bị tầng truyền thông LAM/MPI thông thường, BKluster giúp tăng hiệu suất khai thác tài nguyên tổng thể lên khoảng 35% đến 40%. Kết quả này hoàn toàn tương thích với các tiêu chuẩn quốc tế về hệ thống phân cụm máy tính cá nhân phục vụ tính toán hiệu năng cao được công bố bởi Viện Công nghệ California và Phòng thí nghiệm Sức đẩy Phản lực NASA.

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

Dựa trên kết quả thiết kế và thực nghiệm hệ thống, 4 nhóm giải pháp chiến lược được đề xuất nhằm tối ưu hóa việc ứng dụng hệ thống tính toán hiệu năng cao:

Một là, nâng cấp hạ tầng mạng truyền thông nội bộ từ chuẩn Fast Ethernet lên Gigabit Ethernet hoặc mạng quang chuyên dụng trong vòng 6 tháng tới. Đơn vị thực hiện là Trung tâm Tính toán Hiệu năng cao nhằm mục tiêu giảm độ trễ truyền thông điệp MPI xuống dưới mức 5 mili-giây, giúp tăng tốc độ xử lý các bài toán tương tác hạt vi mô.

Hai là, mở rộng bộ biên dịch ngôn ngữ đặc tả PCS trong lộ trình 12 tháng tiếp theo. Nhóm nghiên cứu phần mềm cần bổ sung khả năng tự động tối ưu hóa 100% các phép tính đại số ma trận thưa phi tuyến, hỗ trợ đắc lực cho các viện nghiên cứu vật liệu và hóa dược mô phỏng cấu trúc phân tử phức tạp.

Ba là, hoàn thiện cơ chế tự động cân bằng tải động trên máy chủ PBS Server trong giai đoạn kế tiếp. Mục tiêu là đạt hiệu suất sử dụng CPU trung bình trên 95% tại tất cả các nút thực thi, đồng thời tự động chuyển hướng các tác vụ ưu tiên sang hàng đợi thực thi nhanh khi phát hiện nút mạng nhàn rỗi.

Bốn là, tổ chức các chương trình đào tạo và chuyển giao công nghệ định kỳ 3 tháng một lần cho khoảng 200 cán bộ nghiên cứu, giảng viên và học viên cao học tại Đại học Bách Khoa Hà Nội cùng các viện liên kết, nhằm phổ biến kỹ năng lập trình song song và khai thác bộ công cụ BKlusware.

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

Tài liệu đặc tả hệ thống BKluster là nguồn tư liệu học thuật và kỹ thuật giá trị cao cho 4 nhóm đối tượng chính:

Nhóm thứ nhất là các nhà nghiên cứu trong lĩnh vực mô phỏng vật liệu, vật lý tính toán, hóa học lượng tử và cơ học chất lỏng. Luận văn cung cấp giải pháp khai thác năng lực tính toán phân cụm mạnh mẽ thông qua giao diện đồ họa thân thiện, giúp giải quyết các bài toán kích thước lớn mà không đòi hỏi kỹ năng quản trị hệ thống phức tạp.

Nhóm thứ hai là học viên cao học, nghiên cứu sinh và sinh viên ngành Khoa học Máy tính, Kỹ thuật Phần mềm và Mạng máy tính. Tài liệu là giáo trình tham khảo chuẩn mực về kiến trúc phân tầng, lập trình truyền thông điệp MPI, thiết kế trình gỡ lỗi phân tán và kỹ thuật mô hình hóa hệ thống bằng chuẩn UML.

Nhóm thứ ba là đội ngũ kỹ sư hệ thống và quản trị viên trung tâm dữ liệu. Công trình mang đến cẩm nang thiết thực về cài đặt, cấu hình hệ thống quản lý công việc PBS, giám sát thông lượng mạng qua cổng socket 4242 và đánh giá năng lực phần cứng theo thang đo chuẩn GFLOPs.

Nhóm thứ tư là các nhà quản lý khoa học công nghệ và điều phối viên dự án quốc tế. Luận văn cung cấp kinh nghiệm thực tiễn quý báu trong việc tổ chức, nghiên cứu và phát triển sản phẩm công nghệ cao thuộc các đề tài Nghị định thư hợp tác song phương giữa Việt Nam và các đối tác quốc tế.

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

Hệ thống BKluster mang lại giải pháp đột phá nào cho bài toán tính toán hiệu năng cao tại Việt Nam? Hệ thống kết hợp thành công kiến trúc Beowulf chi phí thấp với bộ phần mềm quản trị toàn diện BKlusware. Giải pháp này giúp các trường đại học và viện nghiên cứu trong nước sở hữu năng lực tính toán mạnh mẽ tương đương các máy tính lớn chuyên dụng, đồng thời tiết kiệm khoảng 70% chi phí đầu tư ban đầu so với nhập khẩu trọn gói.

Trình gỡ lỗi phân tán BKPD kiểm soát các tiến trình song song trên các nút như thế nào? BKPD vận hành qua quy trình 4 pha chặt chẽ: kết nối, thiết lập, phục vụ và kết thúc. Khi nhận lệnh từ giao diện client, Skel và Master sẽ phân phối yêu cầu xuống các tiến trình Slave trên từng nút tính toán, từ đó điều khiển trình gỡ lỗi GDB cục bộ kiểm soát chính xác 100% tiến trình MPI và phản hồi giá trị biến về máy khách.

Hệ thống phân chia quyền hạn của các nhóm người dùng ra sao để đảm bảo an toàn? Hệ thống thiết lập 3 cấp độ người dùng riêng biệt: Quản trị viên có toàn quyền kiểm soát cấu hình phần cứng và hàng đợi; Thành viên có quyền đệ trình, điều chỉnh tác vụ và sở hữu không gian lưu trữ riêng; Khách chỉ có quyền xem cấu hình chung mà không thể can thiệp tài nguyên tính toán.

Bộ công cụ đệ trình công việc hỗ trợ tương tác với PBS Server như thế nào? Thay vì phải nhập các lệnh dòng lệnh phức tạp với hàng chục tham số xa lạ, BKluster đóng gói toàn bộ 6 lệnh PBS tiêu chuẩn vào giao diện trực quan. Người dùng chỉ cần cung cấp mã thực thi và thông số số nút, hệ thống sẽ tự động khởi tạo kịch bản chuẩn và gửi tới hàng đợi một cách chuẩn xác.

Làm thế nào để hệ thống BKluster đánh giá chính xác năng lực tính toán thực tế? Module đánh giá hiệu năng tích hợp các gói phần mềm chuẩn quốc tế, thực hiện đo lường trực tiếp năng lực tính toán của các nút theo đơn vị GFLOPs và đo lường thông lượng truyền thông mạng nội bộ. Việc này giúp quản trị viên nắm bắt năng lực thực tế và tinh chỉnh cấu hình đạt trạng thái tối ưu.

Kết luận

  • Hoàn thiện bản đặc tả kỹ thuật và kiến trúc hệ thống phân cụm BKluster 3 tầng dựa trên nền tảng Beowulf và chuẩn MPI.
  • Phát triển trọn bộ phần mềm BKlusware tích hợp đầy đủ 3 phân hệ phát triển, thực thi và quản trị hệ thống.
  • Đơn giản hóa toàn diện quy trình tương tác với PBS Server và làm chủ công nghệ gỡ lỗi song song phân tán 4 pha BKPD.
  • Cung cấp giải pháp giám sát tài nguyên động theo thời gian thực và đo lường hiệu năng chuẩn xác theo chỉ số GFLOPs.
  • Khẳng định tính khả thi và hiệu quả vượt trội của việc ứng dụng cụm máy tính hiệu năng cao trong mô phỏng vật liệu vi mô tại Việt Nam.

Công trình là đóng góp nền tảng khẳng định năng lực tự chủ công nghệ phần mềm tính toán song song trong khuôn khổ Hợp tác Khoa học Công nghệ Việt Nam – Ấn Độ. Trong giai đoạn 6 đến 12 tháng tiếp theo, hệ thống hướng tới tích hợp mạng quang tốc độ cao và mở rộng hỗ trợ tính toán lưới. Các cơ sở nghiên cứu và đào tạo có thể tham khảo ngay toàn bộ tài liệu kỹ thuật của BKluster để ứng dụng vào việc xây dựng phòng thí nghiệm tính toán hiệu năng cao với chi phí tối ưu.