Tóm tắt nghiên cứu

Nghiên cứu tập trung giải quyết câu hỏi cốt lõi: Làm thế nào để xây dựng một cơ chế dung thứ lỗi (Fault Tolerance) tự động, trong suốt và tối ưu tài nguyên cho các hệ thống tính toán song song ghép cụm (HPC Cluster) sử dụng chuẩn giao tiếp MPI?

Về phương pháp luận, nhóm tác giả tại Trung tâm Tính toán Hiệu năng cao (Trường Đại học Bách Khoa Hà Nội) đã tiến hành phân tích toàn diện hai hướng tiếp cận kinh điển: Chống lỗi dựa trên điều phối điểm kiểm tra (Coordinated Checkpointing) và Ghi lại thông điệp (Message Logging - gồm Pessimistic, Optimistic, Causal). Trên cơ sở khảo sát sâu các thư viện tiêu biểu thời bấy giờ như BLCR, MPICH-CL, MPICH-V1 và MPICH-V2, nghiên cứu đã thiết kế, xây dựng và tích hợp thành công module chống lỗi mang tên BKFT (Bach Khoa Fault Tolerance) trên nền tảng LAM/MPI, BLCR và hệ thống quản lý phân tải PBS (Portable Batch System).

Kết quả nghiên cứu chỉ ra rằng việc kết hợp cơ chế lưu ảnh tiến trình mức hạt nhân (Kernel-level Checkpointing qua BLCR) với giao diện truyền thông crtcp của LAM/MPI mang lại hiệu năng phục hồi vượt trội, loại bỏ hoàn toàn hiện tượng lan truyền lỗi dây chuyền (hiệu ứng Domino). Đặc biệt, module BKFT đã khắc phục triệt để các hạn chế khi tích hợp BLCR vào môi trường điều phối tài nguyên PBS trên hệ thống cụm siêu máy tính BKluster. Giải pháp này bảo toàn tối đa trạng thái tính toán cho các tác vụ mô phỏng khoa học dài ngày, đặc biệt là bài toán mô phỏng vật liệu vi mô trong khuôn khổ Nghị định thư hợp tác Việt Nam – Ấn Độ.


Bối cảnh và tầm quan trọng

Trong kỷ nguyên phát triển của khoa học tính toán hiện đại, các hệ thống tính toán hiệu năng cao ghép cụm (HPC Cluster) sử dụng hàng chục, hàng trăm nút vi xử lý đã trở thành công cụ không thể thiếu cho các bài toán mô phỏng phức tạp như dự báo thời tiết, động lực học chất lưu và mô phỏng vật liệu vi mô. Tuy nhiên, kiến trúc phân tán quy mô lớn luôn đi kèm với rủi ro tiềm tàng về sự cố phần cứng, lỗi phần mềm và xung đột truyền thông mạng. Thực tế thống kê chỉ ra rằng hơn 80% lỗi trong môi trường phân tán là lỗi tạm thời hoặc ngắt quãng.

Chuẩn giao tiếp truyền thông điệp MPI (Message Passing Interface) vốn là chuẩn công nghiệp phổ biến nhất cho các ứng dụng song song nhưng lại không tích hợp sẵn cơ chế chống lỗi ở tầng ứng dụng. Khi một nút mạng đơn lẻ gặp sự cố, hệ thống MPI mặc định chỉ nhận diện hai trạng thái OK hoặc FAILED, dẫn đến việc toàn bộ chương trình chạy liên tục nhiều tuần lễ bị hủy bỏ (aborted), làm tiêu tốn lượng điện năng và thời gian tính toán khổng lồ.

Khoảng trống nghiên cứu lớn nhất lúc này là: Làm thế nào để lưu lại trạng thái hệ thống một cách nhất quán (Consistent Global State) trong suốt với người dùng, đồng thời tích hợp mượt mà giải pháp chống lỗi vào các hệ thống quản lý hàng đợi và tài nguyên thực tế như PBS mà không làm suy giảm hiệu năng tính toán. Đề tài nhánh thuộc khuôn khổ Hợp tác Khoa học Công nghệ theo Nghị định thư Việt Nam – Ấn Độ (2004 – 2005) do PGS. Nguyễn Thanh Thủy chủ nhiệm đã kịp thời giải quyết bài toán cấp bách này, tạo nền tảng vững chắc cho hạ tầng tính toán phân tán tại Việt Nam.


Methodology và approach

Nghiên cứu kết hợp chặt chẽ giữa mô hình hóa lý thuyết hệ phân tán và kỹ thuật lập trình hệ thống cấp thấp trên nhân Linux.

                               +-----------------------------+
                               |   Hệ thống quản lý PBS     |
                               +--------------+--------------+
                                              |
                                              v
+-----------------------+      +-----------------------------+
|   Tiến trình ứng dụng | ---> |      Module BKFT GUI        |
|      song song MPI    |      | (Quản lý Checkpoint/Restart)|
+-----------+-----------+      +--------------+--------------+
            |                                 |
            v                                 v
+-----------------------+      +-----------------------------+
|  Tầng giao tiếp RPI   | <--> |   BLCR Kernel Modules       |
|  (LAM/MPI với crtcp)  |      |  (vmadump_blcr.o / blcr.o)  |
+-----------------------+      +-----------------------------+

1. Cơ sở lý thuyết và mô hình hóa

  • Trạng thái nhất quán tổng thể: Nghiên cứu sử dụng quan hệ "xảy ra trước" (Happened-Before) của Leslie Lamport để mô hình hóa thứ tự sự kiện trong môi trường trao đổi thông điệp, triệt tiêu các thông điệp mồ côi (orphan messages) và thông điệp trên đường truyền (in-transit messages).
  • Mô hình phục hồi: Tập trung vào phục hồi ngược (Backward / Rollback Recovery), phân tích tính toán chi phí đồng bộ và điều kiện không mồ côi: $$\forall e: \neg\text{stable}(e) \Rightarrow |\text{Depend}(e)| = 0$$ trong đó các sự kiện không xác định (non-deterministic events) được cô lập nghiêm ngặt.

2. Thuật toán điều phối Checkpoint & Kỹ thuật tối ưu

  • Thuật toán hai pha (Two-Phase Commit Protocol): Sử dụng bộ điều phối (Coordinator) gửi yêu cầu tạo checkpoint tạm thời (tentative checkpoint), sau khi toàn bộ các tiến trình đồng thuận mới xác lập thành checkpoint vĩnh viễn (permanent checkpoint).
  • Thuật toán Chandy-Lamport: Triển khai cơ chế đánh dấu thông điệp (Marker Message) dọc theo các kênh FIFO để ghi nhận trạng thái tiến trình và trạng thái kênh truyền mà không cần dừng hoàn toàn luồng tính toán.
  • Tối ưu hóa tài nguyên: Ứng dụng kỹ thuật sao chép khi ghi (Copy-on-Write - CoW) và sử dụng bit bẩn (dirty-bit) dựa trên cơ chế phân trang phần cứng x86, cho phép tiến trình tiếp tục thực thi trong khi trang nhớ đang được ghi nền xuống đĩa lưu trữ an toàn.

3. Thiết kế và triển khai module BKFT

  • Môi trường thực nghiệm: Cụm máy chủ BKluster tại Trung tâm Tính toán Hiệu năng cao (Đại học Bách Khoa Hà Nội).
  • Tích hợp phần mềm: Nạp các module nhân Linux của BLCR (vmadump_blcr.o, blcr.o), cấu hình biên dịch LAM/MPI với giao diện truyền thông điểm-điểm chuyên dụng crtcp (--with-rpi=crtcp, --with-blcr=PATH).
  • Phát triển BKFT: Thiết kế tầng trung gian (Middleware) kết hợp giao diện đồ họa cho phép người dùng cấu hình tần suất checkpoint, giám sát trạng thái cụm và ra lệnh khởi động lại (Restart) các tác vụ song song thông qua PBS một cách tự động.

Phát hiện chính

Quá trình nghiên cứu và thực nghiệm đã rút ra 5 phát hiện khoa học và kỹ thuật then chốt:

  1. Hiệu quả vượt trội của Coordinated Checkpointing so với Uncoordinated: Phương pháp checkpoint không điều phối tuy linh hoạt nhưng tiềm ẩn nguy cơ xuất hiện hiệu ứng Domino – khiến toàn bộ chuỗi khôi phục bị lùi vô hạn về trạng thái ban đầu, gây tràn ngập bộ nhớ và đòi hỏi thuật toán gom rác (Garbage Collection) cực kỳ phức tạp. Trong khi đó, Coordinated Checkpointing đảm bảo chỉ cần lưu một trạng thái nhất quán duy nhất, giảm triệt để chi phí lưu trữ trên đĩa ổn định (Stable Storage).

  2. Cân bằng tải và chi phí ghi nhật ký (Pessimistic vs. Optimistic Logging): Ghi nhật ký bi quan (Pessimistic Message Logging) cô lập lỗi hoàn hảo, cho phép phục hồi cục bộ từng tiến trình riêng lẻ mà không ảnh hưởng đến các tiến trình đang sống sót. Tuy nhiên, cơ chế ghi đồng bộ làm chậm tốc độ tính toán. Kỹ thuật Sender-Based Message Logging (SBML) triển khai trong MPICH-V2 đã chứng minh khả năng chia sẻ gánh nặng ghi thông điệp về phía tiến trình gửi, giảm áp lực tắc nghẽn I/O tại các máy chủ lưu trữ tập trung.

  3. Giới hạn lý thuyết về sự tối thiểu hóa tiến trình tham gia Checkpoint: Nghiên cứu làm sáng tỏ định lý của Guohong Cao và Mukesh Singhal: Không tồn tại một giải thuật vừa không dừng tiến trình (non-blocking) vừa chỉ yêu cầu số lượng tiến trình tối thiểu tham gia tạo checkpoint. Để đạt được điều này bắt buộc phải kết hợp quan hệ phụ thuộc ($z\text{-dependency}$) và sinh ra các điểm kiểm tra cưỡng bức (forced checkpoints) trên bộ nhớ cục bộ.

  4. Nút thắt tương thích giữa trình điều phối PBS và LAM/MPI - BLCR: Khi áp dụng giải pháp lưu ảnh BLCR thuần túy trong môi trường phân tải PBS, hệ thống gặp xung đột nghiêm trọng: PBS quản lý tài nguyên theo Session/Process ID riêng biệt, khi một nút bị lỗi, PBS tự động hủy Job mà không thể tự tái lập không gian địa chỉ, cổng giao tiếp và tiến trình LAM/MPI tương ứng từ ảnh đĩa cũ.

  5. Tính khả thi và độ tin cậy của Module BKFT: Việc thử nghiệm module BKFT trên hệ thống BKluster chứng minh: Hệ thống có thể tự động ghi lại toàn bộ ngữ cảnh chương trình (thanh ghi, biến môi trường, con trỏ file, bộ đệm thông điệp) với độ trễ ghi đĩa được tối ưu hóa. Khi sự cố xảy ra, BKFT điều phối PBS tái cấp phát tài nguyên và phục hồi chính xác ứng dụng song song từ điểm checkpoint gần nhất mà không làm sai lệch kết quả mô phỏng vật liệu.


Đóng góp khoa học

Nghiên cứu mang lại những giá trị học thuật và thực tiễn đáng kể:

  • Đóng góp lý thuyết: Hệ thống hóa và phân loại tường minh toàn bộ bức tranh công nghệ dung thứ lỗi trong hệ phân tán; làm rõ bản chất toán học của các trạng thái nhất quán, quan hệ nhân quả truyền thông điệp và bài toán tối ưu hóa tần suất checkpoint theo độ tin cậy phần cứng.
  • Đột phá về giải pháp tích hợp: Thiết kế thành công kiến trúc module dung thứ lỗi đa tầng, liên kết chặt chẽ giữa tầng nhân hệ điều hành Linux (BLCR), tầng thư viện truyền thông điệp song song (LAM/MPI) và tầng quản lý lập lịch cụm máy tính (PBS).
  • Giá trị ứng dụng thực tiễn: Triển khai thành công module BKFT ứng dụng trực tiếp trên cụm BKluster, phục vụ đắc lực cho các bài toán mô phỏng vật liệu vi mô đòi hỏi hàng trăm giờ tính toán liên tục, nâng cao hiệu suất khai thác tài nguyên phần cứng tại Đại học Bách Khoa Hà Nội.
  • Cơ sở chuyển giao và phát triển chính sách: Tạo tiền đề kỹ thuật quan trọng cho việc xây dựng các tiêu chuẩn vận hành trung tâm tính toán hiệu năng cao quốc gia, khẳng định năng lực làm chủ công nghệ tính toán phân tán phức tạp của đội ngũ khoa học Việt Nam trong hội nhập quốc tế.

Đối tượng quan tâm

Báo cáo nghiên cứu là tài liệu kỹ thuật có giá trị cao cho nhiều nhóm độc giả chuyên ngành:

  • Các nhà nghiên cứu & Giảng viên ngành Khoa học Máy tính: Tài liệu cung cấp cơ sở lý thuyết chuẩn mực về hệ phân tán, kiến trúc máy tính song song, thuật toán Chandy-Lamport và các giao thức phục hồi lỗi.
  • Kỹ sư vận hành hệ thống HPC & Data Center: Hướng dẫn chi tiết từ cấu hình module nhân Linux, thiết lập biến môi trường, quản lý RPI trong MPI đến việc tích hợp các công cụ quản lý hàng đợi phân tán.
  • Nhà phát triển phần mềm tính toán khoa học: Các chuyên gia trong lĩnh vực vật lý tính toán, hóa tính toán, sinh học phân tử cần tối ưu hóa các ứng dụng MPI dài ngày nhằm tránh rủi ro mất mát dữ liệu do lỗi hệ thống.
  • Chuyên gia nghiên cứu độ tin cậy hệ thống (Site Reliability Engineers - SRE): Nắm bắt các nguyên lý cốt lõi về Checkpointing/Logging để thiết kế các hệ thống Cloud/Cluster có tính sẵn sàng cao (High Availability).

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

1. Phát hiện quan trọng nhất của nghiên cứu là gì?

Đó là việc xác định và giải quyết triệt để điểm nghẽn tương thích giữa hệ thống quản lý phân tải PBS và cơ chế Checkpoint/Restart của LAM/MPI - BLCR thông qua việc phát triển thành công module tích hợp BKFT trên cụm BKluster.

2. Phương pháp luận của nghiên cứu có điểm gì đặc biệt?

Nghiên cứu kết hợp toàn diện giữa phân tích toán học lý thuyết hệ phân tán (quan hệ Lamport, điều kiện không mồ côi, thuật toán hai pha) với kỹ thuật lập trình can thiệp sâu vào nhân hệ điều hành Linux (Kernel modules) và tối ưu hóa I/O bộ nhớ bằng cơ chế Copy-on-Write.

3. Kết quả nghiên cứu có thể áp dụng mở rộng (Generalize) không?

Hoàn toàn có thể. Mặc dù module BKFT được cài đặt trên BKluster sử dụng LAM/MPI và PBS, các nguyên lý thiết kế và quy trình điều phối hoàn toàn có thể tái áp dụng cho các nền tảng HPC hiện đại sử dụng OpenMPI, MPICH kết hợp với các hệ thống quản lý tài nguyên như SLURM hay Torque.

4. Hướng phát triển tiếp theo của nghiên cứu là gì?

Nghiên cứu định hướng mở rộng cơ chế tự động điều chỉnh tần suất checkpoint (Adaptive Checkpointing) dựa trên dự báo xác suất lỗi, áp dụng các thuật toán nén ảnh bộ nhớ thời gian thực và hỗ trợ các kiến trúc điện toán phân tán đa lõi 64-bit quy mô lớn.

5. Ứng dụng thực tiễn lớn nhất của module BKFT là gì?

Module BKFT bảo vệ an toàn cho các tác vụ mô phỏng vật liệu vi mô dài hạn trong khuôn khổ hợp tác quốc tế, giúp ứng dụng tự động phục hồi chính xác từ trạng thái gần nhất khi xảy ra sự cố phần cứng hoặc mạng mà không phải chạy lại từ đầu.


Kết luận

Báo cáo nghiên cứu "Nghiên cứu hệ thống tính toán hiệu năng cao và ứng dụng - Module chống lỗi" do nhóm nghiên cứu HPC tại Trung tâm Tính toán Hiệu năng cao, Đại học Bách Khoa Hà Nội thực hiện đã giải quyết trọn vẹn bài toán nâng cao độ tin cậy cho hệ thống tính toán song song ghép cụm. Từ việc hệ thống hóa nền tảng lý thuyết checkpointing và message logging, đánh giá các công cụ quốc tế, nhóm tác giả đã làm chủ công nghệ và hiện thực hóa thành công module BKFT trên cụm siêu máy tính BKluster.

Đây là minh chứng tiêu biểu cho năng lực nghiên cứu ứng dụng đỉnh cao của các nhà khoa học Việt Nam trong việc tiếp cận và giải quyết các bài toán công nghệ thông tin cốt lõi mang tầm quốc tế.