Để nâng cao hiệu quả hoạt động của trung tâm dữ liệu, nhiều thiết bị lưu trữ thường được kết nối với nhau qua mạng để nhiều ứng dụng có thể chia sẻ chúng. Tuy nhiên, ngay cả khi kết nối như vậy, dung lượng lưu trữ đáng kể vẫn chưa được sử dụng hết do hiệu năng không đồng đều giữa các thiết bị.
Các nhà nghiên cứu tại MIT đã phát triển một hệ thống giúp tăng hiệu suất của các thiết bị lưu trữ bằng cách xử lý đồng thời ba nguồn biến thiên chính. Phương pháp của họ mang lại những cải tiến đáng kể về tốc độ so với các phương pháp truyền thống chỉ xử lý một nguồn biến thiên tại một thời điểm.
Hệ thống sử dụng kiến trúc hai tầng, với bộ điều khiển trung tâm đưa ra các quyết định tổng thể về nhiệm vụ mà mỗi thiết bị lưu trữ thực hiện, và các bộ điều khiển cục bộ cho mỗi máy để nhanh chóng định tuyến lại dữ liệu nếu thiết bị đó gặp sự cố.
Phương pháp này, có khả năng thích ứng theo thời gian thực với sự thay đổi khối lượng công việc, không yêu cầu phần cứng chuyên dụng. Khi các nhà nghiên cứu thử nghiệm hệ thống này trên các tác vụ thực tế như huấn luyện mô hình AI và nén ảnh, hiệu suất đạt được gần gấp đôi so với các phương pháp truyền thống. Bằng cách cân bằng thông minh khối lượng công việc của nhiều thiết bị lưu trữ, hệ thống có thể tăng hiệu quả tổng thể của trung tâm dữ liệu.
“Mọi người thường có xu hướng muốn đổ thêm nguồn lực vào một vấn đề để giải quyết nó, nhưng điều đó không bền vững về nhiều mặt. Chúng tôi muốn tối đa hóa tuổi thọ của những nguồn lực rất đắt đỏ và tiêu thụ nhiều carbon này”, Gohar Chaudhry, nghiên cứu sinh ngành kỹ thuật điện và khoa học máy tính (EECS) kiêm tác giả chính của bài báo về kỹ thuật này, cho biết . “Với giải pháp phần mềm thích ứng của chúng tôi, bạn vẫn có thể tận dụng tối đa hiệu năng của các thiết bị hiện có trước khi cần phải vứt bỏ chúng và mua thiết bị mới”.
Cùng tham gia viết bài báo với Chaudhry còn có Ankit Bhardwaj, trợ lý giáo sư tại Đại học Tufts; Zhenyuan Ruan, tiến sĩ năm 2024; và tác giả chính Adam Belay, phó giáo sư khoa Kỹ thuật Điện và Khoa học Máy tính kiêm thành viên của Phòng thí nghiệm Khoa học Máy tính và Trí tuệ Nhân tạo MIT. Nghiên cứu này sẽ được trình bày tại Hội nghị chuyên đề USENIX về Thiết kế và Triển khai Hệ thống Mạng.
Khai thác hiệu suất chưa được sử dụng
Ổ cứng thể rắn (SSD) là thiết bị lưu trữ kỹ thuật số hiệu năng cao cho phép các ứng dụng đọc và ghi dữ liệu. Ví dụ, SSD có thể lưu trữ các tập dữ liệu khổng lồ và nhanh chóng gửi dữ liệu đến bộ xử lý để huấn luyện mô hình máy học.
Việc kết hợp nhiều ổ SSD lại với nhau để nhiều ứng dụng có thể chia sẻ giúp cải thiện hiệu quả, vì không phải ứng dụng nào cũng cần sử dụng toàn bộ dung lượng của một ổ SSD tại một thời điểm nhất định. Tuy nhiên, không phải tất cả các ổ SSD đều có hiệu suất như nhau, và thiết bị chậm nhất có thể hạn chế hiệu suất tổng thể của nhóm.
Những sự thiếu hiệu quả này phát sinh từ sự khác biệt về phần cứng SSD và các tác vụ mà chúng thực hiện.
Để tận dụng hiệu năng chưa được khai thác của SSD, các nhà nghiên cứu đã phát triển Sandook, một hệ thống dựa trên phần mềm giải quyết đồng thời ba dạng biến thiên chính gây cản trở hiệu năng. “Sandook” là một từ tiếng Urdu có nghĩa là “hộp”, dùng để chỉ “bộ nhớ lưu trữ”.
Một loại biến thiên là do sự khác biệt về tuổi đời, mức độ hao mòn và dung lượng của các ổ SSD được mua vào những thời điểm khác nhau từ nhiều nhà cung cấp.
Loại biến thiên thứ hai là do sự không đồng bộ giữa các thao tác đọc và ghi diễn ra trên cùng một ổ SSD. Để ghi dữ liệu mới vào thiết bị, ổ SSD phải xóa một số dữ liệu hiện có. Quá trình này có thể làm chậm quá trình đọc hoặc truy xuất dữ liệu diễn ra đồng thời.
Nguồn biến thiên thứ ba là quá trình thu gom rác, một quá trình thu thập và loại bỏ dữ liệu lỗi thời để giải phóng dung lượng. Quá trình này, làm chậm hoạt động của SSD, được kích hoạt ngẫu nhiên mà người vận hành trung tâm dữ liệu không thể kiểm soát.
“Tôi không thể cho rằng tất cả các ổ SSD sẽ hoạt động giống hệt nhau trong suốt chu kỳ triển khai của mình. Ngay cả khi tôi giao cho tất cả chúng cùng một khối lượng công việc, một số ổ sẽ hoạt động chậm hơn, điều này ảnh hưởng đến thông lượng tổng thể mà tôi có thể đạt được”, Chaudhry giải thích.
Lập kế hoạch toàn cầu, phản ứng tại địa phương
Để xử lý cả ba nguồn biến thiên này, Sandook sử dụng cấu trúc hai tầng. Bộ lập lịch toàn cục tối ưu hóa việc phân phối tác vụ cho toàn bộ nhóm, trong khi các bộ lập lịch nhanh hơn trên mỗi SSD phản ứng với các sự kiện khẩn cấp và chuyển các hoạt động khỏi các thiết bị bị tắc nghẽn.
Hệ thống khắc phục sự chậm trễ do xung đột đọc-ghi bằng cách luân phiên các ổ SSD mà ứng dụng có thể sử dụng cho việc đọc và ghi. Điều này làm giảm khả năng các thao tác đọc và ghi xảy ra đồng thời trên cùng một máy.
Sandook cũng lập hồ sơ hiệu năng điển hình của từng ổ SSD. Nó sử dụng thông tin này để phát hiện khi nào quá trình thu gom rác có khả năng làm chậm hoạt động. Khi phát hiện, Sandook sẽ giảm tải cho ổ SSD đó bằng cách chuyển hướng một số tác vụ cho đến khi quá trình thu gom rác hoàn tất.
“Nếu ổ SSD đó đang thực hiện việc thu gom rác và không thể xử lý cùng một khối lượng công việc nữa, tôi muốn giảm khối lượng công việc cho nó và từ từ tăng dần lên. Chúng tôi muốn tìm điểm tối ưu mà ở đó nó vẫn thực hiện được một số công việc và khai thác hiệu năng đó”, Chaudhry nói.
Các cấu hình SSD cũng cho phép bộ điều khiển toàn cầu của Sandook phân bổ khối lượng công việc theo cách có trọng số, xem xét các đặc điểm và dung lượng của từng thiết bị.
Vì bộ điều khiển toàn cục nắm được toàn bộ bức tranh và các bộ điều khiển cục bộ phản ứng tức thời, Sandook có thể đồng thời quản lý các dạng biến đổi xảy ra ở các thang thời gian khác nhau. Ví dụ, độ trễ do thu gom rác xảy ra đột ngột, trong khi độ trễ do hao mòn tích lũy trong nhiều tháng.
Các nhà nghiên cứu đã thử nghiệm Sandook trên một nhóm gồm 10 ổ SSD và đánh giá hệ thống trên bốn tác vụ: chạy cơ sở dữ liệu, huấn luyện mô hình máy học, nén hình ảnh và lưu trữ dữ liệu người dùng. Sandook đã tăng thông lượng của mỗi ứng dụng từ 12 đến 94% so với các phương pháp tĩnh, và cải thiện hiệu suất sử dụng dung lượng SSD tổng thể lên 23%.
Hệ thống này cho phép ổ SSD đạt được 95% hiệu năng tối đa theo lý thuyết, mà không cần phần cứng chuyên dụng hoặc các bản cập nhật ứng dụng cụ thể.
“Giải pháp linh hoạt của chúng tôi có thể khai thác tối đa hiệu năng của tất cả các ổ SSD và đẩy chúng đến giới hạn. Ở quy mô này, mỗi chút dung lượng tiết kiệm được đều vô cùng quan trọng”, Chaudhry nói.
Trong tương lai, các nhà nghiên cứu muốn tích hợp các giao thức mới có sẵn trên các ổ SSD thế hệ mới nhất, giúp người vận hành kiểm soát tốt hơn việc lưu trữ dữ liệu. Họ cũng muốn tận dụng khả năng dự đoán trong khối lượng công việc AI để tăng hiệu quả hoạt động của SSD.
“Bộ nhớ flash là một công nghệ mạnh mẽ, là nền tảng của các ứng dụng trung tâm dữ liệu hiện đại, nhưng việc chia sẻ tài nguyên này giữa các khối lượng công việc với nhu cầu hiệu năng rất khác nhau vẫn là một thách thức lớn. Nghiên cứu này đã tạo ra một bước tiến đáng kể với một giải pháp thanh lịch và thiết thực, sẵn sàng để triển khai, đưa bộ nhớ flash đến gần hơn với tiềm năng đầy đủ của nó trong các đám mây sản xuất”, Josh Fried, kỹ sư phần mềm tại Google và sắp trở thành trợ lý giáo sư tại Đại học Pennsylvania, người không tham gia vào nghiên cứu này, cho biết.
Nghiên cứu này được tài trợ một phần bởi Quỹ Khoa học Quốc gia Hoa Kỳ, Cơ quan Dự án Nghiên cứu Tiên tiến Quốc phòng Hoa Kỳ và Tập đoàn Nghiên cứu Bán dẫn.