Các nhà nghiên cứu tại MIT đã thiết kế một hệ thống lưu trữ flash tiên tiến có thể giảm một nửa năng lượng và không gian vật lý cần thiết cho một trong những thành phần đắt tiền nhất của trung tâm dữ liệu: lưu trữ dữ liệu.
Trung tâm dữ liệu là những trang trại máy chủ tạo điều kiện thuận lợi cho việc giao tiếp giữa người dùng và các dịch vụ web, và là một trong những cơ sở tiêu thụ năng lượng nhiều nhất trên thế giới. Trong đó, hàng ngàn máy chủ ngốn điện lưu trữ dữ liệu người dùng, và các máy chủ riêng biệt chạy các dịch vụ ứng dụng truy cập dữ liệu đó. Các máy chủ khác đôi khi hỗ trợ quá trình tính toán giữa hai cụm máy chủ này.
Hầu hết các máy chủ lưu trữ hiện nay sử dụng ổ đĩa trạng thái rắn (SSD), sử dụng bộ nhớ flash - các vi mạch bộ nhớ có thể lập trình và xóa điện tử mà không có bộ phận chuyển động - để xử lý các yêu cầu dữ liệu thông lượng cao với tốc độ cao. Trong một bài báo được trình bày tại Hội nghị Quốc tế ACM về Hỗ trợ Kiến trúc cho Ngôn ngữ Lập trình và Hệ điều hành, các nhà nghiên cứu mô tả một hệ thống mới có tên LightStore, hệ thống này sửa đổi SSD để kết nối trực tiếp với mạng của trung tâm dữ liệu - mà không cần bất kỳ thành phần nào khác - và để hỗ trợ các hoạt động lưu trữ dữ liệu đơn giản hơn và hiệu quả hơn về mặt tính toán. Các cải tiến phần mềm và phần cứng tiếp theo tích hợp liền mạch hệ thống này vào cơ sở hạ tầng trung tâm dữ liệu hiện có.
Trong các thí nghiệm, các nhà nghiên cứu nhận thấy một cụm gồm bốn thiết bị LightStore, được gọi là các nút lưu trữ, hoạt động hiệu quả gấp đôi so với các máy chủ lưu trữ truyền thống, được đo bằng mức tiêu thụ điện năng cần thiết để xử lý các yêu cầu dữ liệu. Cụm này cũng yêu cầu ít hơn một nửa không gian vật lý so với các máy chủ hiện có.
Các nhà nghiên cứu đã phân tích chi tiết mức tiết kiệm năng lượng theo từng thao tác lưu trữ dữ liệu riêng lẻ, nhằm nắm bắt tốt hơn tổng mức tiết kiệm năng lượng của hệ thống. Ví dụ, trong thao tác "ghi ngẫu nhiên" dữ liệu, vốn là thao tác đòi hỏi nhiều tài nguyên tính toán nhất trong bộ nhớ flash, LightStore hoạt động hiệu quả hơn gần tám lần so với các máy chủ truyền thống.
Hy vọng là một ngày nào đó, các node LightStore có thể thay thế các máy chủ tiêu thụ nhiều điện năng trong các trung tâm dữ liệu. “Chúng tôi đang thay thế kiến trúc này bằng một giải pháp lưu trữ đơn giản hơn, rẻ hơn… giải pháp này sẽ chiếm ít không gian và tiêu thụ ít điện năng hơn một nửa, nhưng vẫn cung cấp hiệu suất thông lượng tương đương”, đồng tác giả Arvind, Giáo sư Johnson về Kỹ thuật Khoa học Máy tính và là nhà nghiên cứu tại Phòng thí nghiệm Khoa học Máy tính và Trí tuệ Nhân tạo, cho biết. “Điều đó sẽ giúp bạn tiết kiệm chi phí vận hành, vì nó tiêu thụ ít điện năng hơn, và chi phí đầu tư, bởi vì tiết kiệm năng lượng trong các trung tâm dữ liệu sẽ trực tiếp dẫn đến tiết kiệm tiền”.
Cùng tham gia viết bài báo với Arvind còn có: tác giả chính Chanwoo Chung, nghiên cứu sinh thuộc Khoa Kỹ thuật Điện và Khoa học Máy tính; và các nghiên cứu sinh Jinhyung Koo và Junsu Im, cùng Giáo sư Sungjin Lee, tất cả đều đến từ Viện Khoa học và Công nghệ Daegu Gyeongbuk (DGIST).
Tăng thêm "giá trị" cho đèn flash
Một vấn đề lớn về hiệu suất của các trung tâm dữ liệu hiện nay là kiến trúc chưa thay đổi để phù hợp với bộ nhớ flash. Nhiều năm trước, các máy chủ lưu trữ dữ liệu bao gồm các ổ cứng có tốc độ tương đối chậm, cùng với rất nhiều mạch bộ nhớ truy cập ngẫu nhiên động (DRAM) và bộ xử lý trung tâm (CPU) giúp xử lý nhanh chóng tất cả dữ liệu đổ về từ các máy chủ ứng dụng.
Tuy nhiên, ngày nay, ổ cứng hầu hết đã được thay thế bằng ổ flash nhanh hơn nhiều. "Mọi người chỉ cần cắm ổ flash vào vị trí của ổ cứng mà không cần thay đổi bất cứ thứ gì khác", Chung nói. "Nếu bạn có thể kết nối trực tiếp ổ flash với mạng, bạn sẽ không cần đến các máy chủ lưu trữ đắt tiền nữa".
Đối với LightStore, các nhà nghiên cứu trước tiên đã sửa đổi SSD để có thể truy cập dữ liệu theo dạng “cặp khóa-giá trị”, một giao thức rất đơn giản và hiệu quả để truy xuất dữ liệu. Về cơ bản, yêu cầu của người dùng xuất hiện dưới dạng các khóa, giống như một chuỗi số. Các khóa được gửi đến máy chủ, máy chủ sẽ giải phóng dữ liệu (giá trị) được liên kết với khóa đó.
Khái niệm này khá đơn giản, nhưng các khóa có thể rất lớn, vì vậy việc tính toán (tìm kiếm và chèn) chúng hoàn toàn trên ổ SSD đòi hỏi rất nhiều sức mạnh tính toán, vốn bị tiêu hao bởi "lớp dịch thuật flash" truyền thống. Phần mềm khá phức tạp này chạy trên một mô-đun riêng biệt trên ổ flash để quản lý và di chuyển dữ liệu. Các nhà nghiên cứu đã sử dụng một số kỹ thuật cấu trúc dữ liệu để chạy phần mềm quản lý flash này chỉ với một phần nhỏ sức mạnh tính toán. Bằng cách đó, họ đã chuyển toàn bộ phần mềm sang một mạch nhỏ trong ổ flash hoạt động hiệu quả hơn nhiều.
Việc chuyển tải này giải phóng các CPU riêng biệt đã có sẵn trên ổ đĩa - được thiết kế để đơn giản hóa và thực hiện tính toán nhanh hơn - để chạy phần mềm LightStore tùy chỉnh. Phần mềm này sử dụng các kỹ thuật cấu trúc dữ liệu để xử lý hiệu quả các yêu cầu cặp khóa-giá trị. Về cơ bản, mà không thay đổi kiến trúc, các nhà nghiên cứu đã chuyển đổi một ổ đĩa flash truyền thống thành một ổ đĩa khóa-giá trị. “Vì vậy, chúng tôi đang thêm tính năng mới này cho flash - nhưng thực chất chúng tôi không thêm gì cả,” Arvind nói.
Thích ứng và mở rộng quy mô
Thách thức đặt ra là làm sao đảm bảo các máy chủ ứng dụng có thể truy cập dữ liệu trong các node LightStore. Trong các trung tâm dữ liệu, ứng dụng truy cập dữ liệu thông qua nhiều giao thức cấu trúc khác nhau, chẳng hạn như hệ thống tệp, cơ sở dữ liệu và các định dạng khác. Các máy chủ lưu trữ truyền thống chạy phần mềm phức tạp cung cấp cho các máy chủ ứng dụng quyền truy cập thông qua tất cả các giao thức này. Nhưng điều này tiêu tốn một lượng lớn năng lượng tính toán và không phù hợp để chạy trên LightStore, vốn dựa vào tài nguyên tính toán hạn chế.
Các nhà nghiên cứu đã thiết kế một phần mềm có tính toán rất nhẹ, được gọi là "bộ chuyển đổi" (adapter), có chức năng dịch tất cả các yêu cầu của người dùng từ các dịch vụ ứng dụng thành các cặp khóa-giá trị. Các bộ chuyển đổi sử dụng các hàm toán học để chuyển đổi thông tin về dữ liệu được yêu cầu - chẳng hạn như các lệnh từ các giao thức cụ thể và số nhận dạng của máy chủ ứng dụng - thành một khóa. Sau đó, nó gửi khóa đó đến nút LightStore thích hợp, nút này sẽ tìm và giải phóng dữ liệu được ghép nối. Vì phần mềm này đơn giản hơn về mặt tính toán, nên nó có thể được cài đặt trực tiếp lên các máy chủ ứng dụng.
“Bất kỳ dữ liệu nào bạn truy cập, chúng tôi đều thực hiện một số thao tác chuyển đổi để cho tôi biết khóa và giá trị liên kết với nó. Bằng cách đó, tôi cũng đang giảm bớt sự phức tạp cho các máy chủ lưu trữ”, Arvind nói.
Một cải tiến cuối cùng là việc thêm các nút LightStore vào cụm máy chủ sẽ mở rộng tuyến tính với thông lượng dữ liệu - tốc độ xử lý dữ liệu. Theo truyền thống, người ta thường xếp chồng các ổ SSD trong trung tâm dữ liệu để giải quyết vấn đề thông lượng cao hơn. Tuy nhiên, trong khi dung lượng lưu trữ dữ liệu có thể tăng lên, thông lượng lại chững lại sau khi chỉ thêm một vài ổ đĩa. Trong các thí nghiệm, các nhà nghiên cứu nhận thấy rằng bốn nút LightStore vượt trội hơn mức thông lượng tương đương với số lượng SSD hiện có.
Việc chuyển giao các phép tính cần thiết cho việc quản lý bộ nhớ flash sang phần cứng LightStore tiên tiến có thể giúp giảm chi phí và mức tiêu thụ điện năng, đồng thời cải thiện hiệu suất lưu trữ dữ liệu, theo Sang-Woo Jun, giáo sư khoa học máy tính tại Đại học California ở Irvine. “Vấn đề thường gặp của các hệ thống lưu trữ tăng tốc bằng phần cứng như vậy là chúng không hỗ trợ nhiều logic quản lý phức tạp hơn mà các hệ thống dựa trên phần mềm có – điều này không đúng với LightStore”, Jun nói. “Tôi nghĩ rằng việc quản lý bộ nhớ flash tăng tốc kiểu LightStore sẽ trở thành tiêu chuẩn trong tương lai gần, và đây có thể là một trong những thiết kế chuẩn mực mà mọi người phải so sánh”.