CHƯƠNG 1: TỔNG QUAN 1.1 Giới thiệu Trong những năm vừa qua, sự bùng nổ của dữ liệu lớn (Big Data) đã thúc đẩy sự phát triển của rất nhiều lĩnh vực khoa học và công nghệ trên thế giới. Hàng loạt các phát kiến quan trọng đã được khám phá, đem lại lợi ích to lớn cho con người. Bên cạnh đó, rất nhiều bài toán và lý thuyết phức tạp trước đây mà gần như không có kết quả đã tìm ra được lời giải hoặc được chứng minh. Khi nhắc đến những thành tựu trên, ta không thể không kể tới vai trò cực kì quan trọng của các hệ thống tính toán hiệu năng cao (HPC).
Việc tiếp nhận, lưu trữ, xử lý các tập dữ liệu cực kì lớn và phức tạp yêu cầu các hệ thống tính toán đặc biệt với năng lực xử lý cực kỳ mạnh và hạ tầng phần cứng riêng biệt so với các hệ thống máy tính thông thường. Do đó, các hệ thống HPC đang thu hút rất nhiều sự quan tâm trên thế giới. Đây không chỉ còn là cuộc chơi giữa các cường quốc khoa học như Nhật Bản, Mỹ, Đức,. mà đã mở rộng sang quy mô toàn cầu.
Bản đồ tính toán hiệu năng cao đang ghi nhận thêm số lượng ngày càng tăng các hệ thống mới nổi từ các nước đang phát triển như Trung Quốc, Ấn Độ, Singapore và thậm chí là từ Việt Nam với các hệ thống HPC tại trường Đại học Bách Khoa (SuperNode-XP) hay từ VinAI. Bên cạnh đó cũng xuất hiện các nhóm chia sẻ tính toán hiệu năng cao trong nội bộ các tổ chức đa quốc gia như Liên minh Châu Âu (EU) hay Hiệp hội các quốc gia Đông Nam Á (ASEAN). Những sự đầu tư trên cho thấy được sức ảnh hưởng ngày càng lớn của các hệ thống HPC đối với sự phát triển bền vững của con người. Vai trò của các hệ thống này không còn chỉ gói gọn trong các ngành khoa học mà còn cả trong việc xây dựng các chiến lược phát triển kinh tế và đời sống xã hội.
Một trong những yêu cầu cấp thiết của các hệ thống tính toán hiệu năng cao là khả năng hỗ trợ đa người dùng khai thác hiệu quả tài nguyên tính toán. Để đảm bảo việc này, thông thường trên các hệ thống HPC thường sử dụng các trình quản lý tài nguyên và định thời ứng dụng (RJMS). Tuy nhiên, việc chọn lựa được một chương trình định thời tốt là một nhiệm vụ khó khăn đối với quản trị viên các hệ thống HPC. Chính sách First-Come-First-Served (FCFS) vẫn được ưu tiên sử dụng trên hầu hết 1 các hệ thống HPC.
Mặc dù nhược điểm phân mảnh tài nguyên của FCFS đã được giải quyết bằng cách áp dụng các thuật toán Backfilling, hiệu quả của việc kết hợp này vẫn còn xa khi so sánh với một chính sách lập lịch lý tưởng. Do đó, nhiều phương pháp tiên đoán (heuristics) đã được nghiên cứu để thúc đẩy các bộ lập lịch công việc HPC chẳng hạn như thuật toán Shorted Job First (SJF), Bin Packing hoặc các phương pháp tối ưu hóa (optimization) [1], [2]. Tuy nhiên, sự gia tăng về tính đa dạng của phần mềm khoa học và phần cứng tính toán đang khiến việc sử dụng các phương pháp tiếp cận tĩnh này ngày càng trở nên khó khăn hơn. Khi có sự thay đổi đột ngột trong quá trình khai thác hệ thống thì người quản trị thường phải can thiệp bằng tay để căn chỉnh các thông số của thuật toán cho phù hợp với chính sách đang áp dụng trên hệ thống.
Do đó, việc áp dụng các thuật toán động có khả năng tự điều chỉnh với sự thay đổi liên tục trên các hệ thống HPC là điều cần thiết. Tuy nhiên, một trong những rào cản lớn trong việc hiện thực các giải thuật quản lý tài nguyên và định thời công việc là tính không chắc chắn của trạng thái hệ thống. Điều này là hệ quả của việc các thông số của một công việc phụ thuộc toàn bộ vào giá trị được cung cấp từ người dùng [3]. Các phần mềm RJMS sẽ dựa vào các giá trị đầu vào này để xác định số lượng tài nguyên được cấp và ước tính thời gian bắt đầu.
Một đặc điểm quan trọng là các giá trị dựa trên sự ước tính của người dùng thường không chính xác do nhiều nguyên nhân, từ cả chủ quan và khách quan. Việc xác định không chính xác các thông số này sẽ gây ra khó khăn cho các trình định thời khi trạng thái thực tế sai khác với trạng thái do RJMS đã dự đoán trước đó. Do đó, giải pháp dự đoán thông số công việc trở nên rất phổ biến trong số các cách tiếp cận mới trên các hệ thống HPC. Tuy nhiên, việc căn chỉnh các thông số không hợp lý có thể gây cản trở việc thực thi các tác vụ, làm giảm độ tin cậy trên các hệ thống HPC.
Ngoài ra, việc thiếu khả năng hỗ trợ chính thức từ các trình RJMS phổ biến đang hạn chế các quản trị viên trong việc tích hợp các thuật toán quản lý hiện đại vào các hệ thống HPC đang sử dụng. Do vậy, cần có một phương pháp dự đoán vừa hiệu quả, đơn giản với cả người dùng và người quản trị, cũng như không ảnh hưởng tới việc vận hành bình thường các hệ thống HPC. 2 Với các lí do như đã nêu ở trên, đề tài này được thực hiện với các mục tiêu chính như sau: - Đề xuất mô hình học máy dự đoán thông số của một công việc mới trên hệ thống dựa trên dữ liệu người dùng cung cấp và lịch sử các công việc đã hoàn thành. Việc áp dụng mô hình dự đoán ít gây tác động tới các ràng buộc hiện tại của hệ thống và đảm bảo tính công bằng giữa các người dùng.
- Đề xuất giải pháp tăng hiệu suất khai thác tài nguyên tính toán thông qua việc cải thiện quá trình định thời ứng dụng trên hệ thống sử dụng mô hình học tăng cường. - Đề xuất chiến lược kết hợp các mô hình thành một giải pháp hoàn chỉnh nhằm khắc phục các vấn đề của mô hình học tăng cường với dữ liệu thực tế.2 Ý nghĩa của đề tài a. Ý nghĩa thực tiễn: - Hỗ trợ người dùng sử dụng tài nguyên hiệu quả hơn: Luận văn góp phần hỗ trợ người dùng căn chỉnh thông số tài nguyên sử dụng của một ứng dụng mới được submit lên hệ thống. - Đảm bảo tính an toàn trong việc áp dụng các phương pháp căn chỉnh thông số công việc: Đề tài góp phần đánh giá một phương pháp mới là Soft Walltime trong việc áp dụng các thông số đã được căn chỉnh một cách an toàn vào các hệ thống HPC đang vận hành.
- Cải thiện hiệu suất khai khác các hệ thống HPC: Luận văn đề xuất áp dụng mô hình học sâu tăng cường giúp cho việc khai thác tài nguyên tính toán trên các hệ thống HPC trở nên hiệu quả hơn so với các thuật toán thông dụng khác. Ý nghĩa khoa học: - Đóng góp về mô hình dự đoán thông số công việc sử dụng thuật toán kNN với Soft Walltime: Các thông số cho một công việc của người dùng được mới dự đoán bằng thuật toán kNN sử dụng dữ liệu lịch sử về những công việc tương tự nhất. Sau đó, các giá trị đã được căn chỉnh được chỉ 3 được sử dụng trong quá trình ra quyết định phân bổ tài nguyên, theo định nghĩa của Soft Walltime. - Đề xuất mô hình định thời kết hợp giữa học tăng cường và phương pháp dự đoán công việc: Các công việc thực tế có độ sai lệch rất lớn về dự đoán thời gian chạy, gây nhiều khó khăn cho việc ra quyết định cấp phát tài nguyên của mô hình học tăng cường.
Đề tài đề xuất phương pháp định thời kết hợp giữa kỹ thuật học tăng cường hiện đại và phương pháp dự đoán thông số công việc ở trên để tối ưu hoá việc sử dụng tài nguyên hệ thống. - Đóng góp về các công cụ hỗ trợ trong việc nghiên cứu khoa học: Hai công cụ nội bộ được đề tài nghiên cứu và sử dụng quá trình thực hiện luận văn được chia sẻ công khai cho cộng đồng bao gồm công cụ chuyển đổi pbspro2swf và mô hình học tăng cường HPCSysGym dựa trên đặc tả của OpenAI Gym.3 Phạm vi của đề tài - Đối tượng thực nghiệm: Đề tài tập trung vào việc cải thiện hiệu năng các hệ thống HPC dành cho tính toán khoa học đang được vận hành trên thế giới và ở Việt Nam. Các hệ thống này có thể đồng nhất hoặc không đồng nhất về tài nguyên tính toán. - Dữ liệu thực nghiệm: Dữ liệu trong đề tài được thu thập từ các nguồn uy tín trong lĩnh vực nghiên cứu, bao gồm các tập dữ liệu lịch sử công việc từ các hệ thống HPC trên thế giới và cả từ hệ thống SuperNode-XP tại trường Đại học Bách Khoa.
- Phương pháp thực hiện: Các phương pháp đề xuất trong luận văn đều xuất phát từ các vấn đề thực tế, được phân tích từ lý thuyết đến thực nghiệm. Kết quả của các mô hình đều được kiểm chứng bằng các tập dữ liệu được sử dụng rộng rãi trong nhiều nghiên cứu trước đây, và được so sánh khách quan với các thuật toán đối chứng phổ biến trong lĩnh vực HPC. - Bối cảnh đề tài: Hiện trạng sử dụng tài nguyên tính toán trên các hệ thống HPC trên thế giới và Việt Nam trong thời gian vừa qua.4 Bố cục luận văn Có tất cả 8 chương trong báo cáo luận văn này. Các nghiên cứu liên quan tới lĩnh vực HPC và học máy được trình bày trong chương 2.
Chương 3 cung cấp các cơ sở lý thuyết nền tảng cho các giải pháp được đề xuất trong luận văn. Tiếp đó, chương 4 phân tích các bài toán mà luận văn cần phải giải quyết dựa trên cơ sở các vấn đề ở thực tiễn. Chương 5 trình bày chi tiết quá trình hiện thực các phương pháp đề xuất nhằm giải quyết các vấn đề đặt ra. Chương 6 thể hiện phương pháp và kết quả quá trình thực nghiệm, đánh giá trên các tập dữ liệu và phương pháp đối chứng.
Cuối cùng, chương 7 là kết luận của luận văn về những công việc đã hoàn thành trong phạm vi đề tài, cũng như các hạn chế cần khắc phục và hướng mở rộng trong tương lai. 5 CHƯƠNG 2: CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN Lĩnh vực tính toán hiệu năng cao đã có bề dày lịch sử lâu dài, tính từ những ngày ban đầu của các hệ thống máy tính.