🤖 AI总结
主题
介绍MIT研发的Sandook存储系统如何提升数据中心存储设备性能。
摘要
MIT开发的Sandook存储系统通过智能调度解决SSD性能瓶颈,显著提升数据中心存储效率与设备利用率。
关键信息
- 1 Sandook系统能同时处理SSD三大性能变异源。
- 2 采用双层架构实现全局优化与本地快速响应。
- 3 测试显示性能提升显著,无需专用硬件。
![]()
为了提高数据中心效率,多个存储设备通常通过网络汇聚在一起,供多个应用程序共享使用。但即使采用汇聚模式,由于设备间性能差异,仍有大量设备容量未能得到充分利用。
MIT研究人员开发了一套能够同时处理三大性能变异源的系统,显著提升存储设备性能。该方法相比传统的单一变异源处理方式,带来了显著的速度提升。
该系统采用双层架构设计,包含一个负责整体决策的中央控制器,用于分配各存储设备执行的任务,以及各机器的本地控制器,在设备遇到性能瓶颈时快速重新路由数据。
这种方法能够实时适应工作负载的变化,无需专用硬件。研究人员在人工智能模型训练和图像压缩等实际任务中测试该系统,性能几乎比传统方法提升了一倍。通过智能平衡多个存储设备的工作负载,该系统能够提高数据中心的整体效率。
“人们倾向于通过增加资源来解决问题,但这种方式在多个层面都不可持续。我们希望能够最大化这些昂贵且碳密集型资源的使用寿命,”电气工程与计算机科学研究生、论文主要作者Gohar Chaudhry说道。”通过我们的自适应软件解决方案,在需要丢弃现有设备购买新设备之前,仍能从现有设备中榨取大量性能。”
参与该研究的还包括塔夫茨大学助理教授Ankit Bhardwaj、MIT博士Zhenyuan Ruan以及通讯作者、MIT电气工程与计算机科学副教授、计算机科学与人工智能实验室成员Adam Belay。该研究将在USENIX网络系统设计与实现研讨会上发表。
挖掘未开发的性能潜力
固态硬盘(SSD)是高性能数字存储设备,允许应用程序读写数据。例如,SSD可以存储大型数据集,并快速向处理器发送数据用于机器学习模型训练。
将多个SSD汇聚供多个应用程序共享能够提高效率,因为并非每个应用程序在特定时间都需要使用SSD的全部容量。但并非所有SSD性能相同,最慢的设备可能限制整个存储池的性能。
这些效率问题源于SSD硬件和执行任务的变异性。
为了利用这些未开发的SSD性能,研究人员开发了Sandook——一个基于软件的系统,能够同时解决三种主要的性能障碍变异形式。”Sandook”是乌尔都语中”盒子”的意思,象征”存储”。
第一种变异由SSD的使用年限、磨损程度和容量差异造成,这些设备可能在不同时间从多个供应商处采购。
第二种变异源于同一SSD上同时进行的读写操作不匹配。要向设备写入新数据,SSD必须擦除一些现有数据。这个过程可能延缓同时进行的数据读取或检索操作。
第三种变异源是垃圾回收——收集和删除过期数据以释放空间的过程。这个过程会减缓SSD操作,且在数据中心操作员无法控制的随机时间间隔触发。
“我不能假设所有SSD在整个部署周期内表现完全相同。即使给它们分配相同的工作负载,有些仍会成为拖后腿的设备,这会影响我能达到的净吞吐量,”Chaudhry解释说。
全局规划,本地响应
为了处理所有三种变异源,Sandook采用双层结构。全局调度器优化整个存储池的任务分配,而各SSD上的快速调度器响应紧急事件,将操作转移到其他设备上。
该系统通过轮换应用程序可用于读写操作的SSD来克服读写干扰造成的延迟。这减少了读写操作在同一台机器上同时发生的可能性。
Sandook还会分析每个SSD的典型性能表现。它利用这些信息检测垃圾回收何时可能拖慢操作速度。一旦检测到,Sandook会通过转移部分任务来减少该SSD的工作负载,直到垃圾回收完成。
“如果该SSD正在进行垃圾回收,无法处理相同的工作负载,我希望给它分配较小的工作负载,然后慢慢恢复。我们要找到它仍能执行一些工作的最佳点,并挖掘这种性能,”Chaudhry说。
SSD性能分析还允许Sandook的全局控制器根据每个设备的特性和容量以加权方式分配工作负载。
由于全局控制器掌握整体情况,本地控制器实时响应,Sandook能够同时管理在不同时间尺度上发生的各种变异形式。例如,垃圾回收造成的延迟突然发生,而磨损造成的延迟则在数月内逐渐累积。
研究人员在包含10个SSD的存储池上测试了Sandook,并在四个任务上评估该系统:运行数据库、训练机器学习模型、压缩图像和存储用户数据。与静态方法相比,Sandook将每个应用程序的吞吐量提升了12%到94%,并将SSD容量的整体利用率提高了23%。
该系统使SSD能够达到理论最大性能的95%,无需专用硬件或特定应用程序的更新。
“我们的动态解决方案能够为所有SSD释放更多性能,真正将它们推向极限。在这种规模下,你能节省的每一点容量都非常重要,”Chaudhry说。
未来,研究人员希望整合最新SSD上可用的新协议,为操作员提供更多数据放置控制权。他们还希望利用人工智能工作负载的可预测性来提高SSD操作效率。
“闪存存储是支撑现代数据中心应用程序的强大技术,但在性能需求差异巨大的工作负载间共享这一资源仍是一个突出挑战。这项工作通过一个优雅实用、可立即部署的解决方案有意义地推进了这一领域,使闪存存储在生产云环境中更接近其全部潜力,”谷歌软件工程师、宾夕法尼亚大学即将到任助理教授Josh Fried表示,他未参与这项工作。
这项研究部分由美国国家科学基金会、美国国防部高级研究计划局和半导体研究公司资助。
Q&A
Q1:Sandook是什么?它能解决什么问题?
A:Sandook是MIT研究人员开发的基于软件的存储系统,能够同时处理SSD存储设备的三大性能变异源:设备老化差异、读写操作冲突和垃圾回收过程干扰,显著提升数据中心存储效率。
Q2:Sandook系统的双层架构是如何工作的?
A:Sandook采用双层架构设计,包含负责整体任务分配决策的全局调度器,以及各SSD上的本地调度器用于实时响应性能问题。全局控制器优化整体分配,本地控制器快速转移拥堵设备的操作。
Q3:使用Sandook能带来多大的性能提升?
A:测试显示,与传统静态方法相比,Sandook将各应用程序吞吐量提升了12%到94%,整体SSD容量利用率提高23%,使SSD达到理论最大性能的95%,且无需专用硬件。