Trong kiến trúc của EvoX,bộ điều phối Runtimelà trung tâm thực thi kết nối logic thuật toán với phần cứng vật lý. Nó chịu trách nhiệm ánh xạ thuật toán tiến hóa, định nghĩa bài toán và luồng công việc ở tầng trên lên các tài nguyên tính toán không đồng nhất như GPU, thiết bị tăng tốc (như TPU/NPU) và cụm phân tán, đồng thời che giấu sự khác biệt về phần cứng và duy trì khả năng kết hợp hiệu quả của các mô-đun thuật toán.
Trách nhiệm cốt lõi
- Điều phối năng lực tính toán không đồng nhất: Quản lý thống nhất các tài nguyên thực thi như GPU, thiết bị tăng tốc và cụm phân tán, phân bổ tác vụ, toán tử và đồ thị tính toán tensor trong tính toán tiến hóa đến phần cứng backend phù hợp nhất.
- Điều phối phụ thuộc và trạng thái: Điều phối mối quan hệ phụ thuộc và trạng thái thực thi giữa các tác vụ, đảm bảo mỗi giai đoạn của quá trình khám phá tiến hóa song song đều được đồng bộ chính xác.
- Giao diện điều phối thống nhất: Tầng thuật toán gửi tác vụ tính toán thông qua giao diện thống nhất, không cần ràng buộc với thiết bị hoặc hình thức cụm cụ thể, từ đó giảm sự phụ thuộc vào phần cứng.
- Khả năng kết hợp mô-đun: Hỗ trợ kết hợp, thay thế và tái sử dụng theo mô-đun các thuật toán, bài toán, toán tử và backend thực thi, cho phép cùng một bộ mã dễ dàng di chuyển sang các môi trường phần cứng khác nhau.
Giá trị và ví dụ
Giá trị cốt lõi của bộ điều phối Runtime nằm ở việc: cho phép khám phá tiến hóa song song triển khai hiệu quả trên nhiều loại phần cứng, mà không phá vỡ thiết kế mô-đun của tầng thuật toán. Ví dụ, khi cùng một bộ thuật toán tiến hóa chuyển từ GPU đơn máy sang cụm nhiều máy, mã tầng thuật toán vẫn giữ nguyên, còn Runtime sẽ ánh xạ lại các tác vụ tính toán và backend thực thi. Thiết kế này cho phép các nhà nghiên cứu tập trung vào đổi mới thuật toán mà không cần viết lại mã cho từng loại phần cứng.
