データセンターがより少ないハードウェアで高性能を実現するための支援
MITの研究者らは、複数のストレージデバイスの性能変動をリアルタイムで同時管理するソフトウェアシステム「Sandook」を開発し、AIモデル学習などのタスクで従来手法の約2倍の性能向上を実現した。
キーポイント
性能変動の同時管理による効率化
ストレージデバイス間のハードウェア性能差とタスク特性の変動という3つの主要な変動要因を同時に管理するシステムを開発し、従来の単一要因対応手法を大幅に上回る性能向上を達成した。
二層アーキテクチャによる適応的負荷分散
全体のタスク割り当てを決定する中央コントローラと、各デバイスの負荷状況に応じてデータを迅速にリルートするローカルコントローラからなる二層構造を採用し、リアルタイムでのワークロード変化に対応できる。
既存ハードウェアの性能最大化
専用ハードウェアを必要としないソフトウェアベースのソリューションであり、高価で炭素集約的なリソースの寿命を延ばし、新規ハードウェア購入を遅らせることができる。
実タスクでの性能実証
AIモデル学習や画像圧縮などの現実的なタスクでテストを行い、従来手法に比べて約2倍の性能向上を実証し、データセンター全体の効率向上に寄与することを示した。
影響分析・編集コメントを表示
影響分析
この研究は、データセンターのエネルギー効率とコスト削減という業界の重要課題に対して、ハードウェア増強ではなくソフトウェア最適化による解決策を提示している。AIモデル学習など計算集約型ワークロードの性能向上に直接寄与するため、AIインフラストラクチャの持続可能性と経済性の両面で重要な進展と言える。
編集コメント
ハードウェア増強に頼らないソフトウェアによる性能向上アプローチは、AIインフラの持続可能性とコスト効率性の観点で業界の関心を集める可能性が高い。実用化されれば、大規模AIトレーニングの環境負荷低減に貢献するだろう。
データセンターの効率を向上させるため、複数のストレージデバイスをネットワーク上でプールし、多くのアプリケーションがそれらを共有することがよくあります。しかし、プーリングを行っても、デバイス間のパフォーマンスのばらつきにより、デバイスの容量の多くが未活用となっています。
MITの研究者たちは、3つの主要なばらつきの原因を同時に処理することでストレージデバイスのパフォーマンスを向上させるシステムを開発しました。このアプローチは、一度に1つのばらつきの原因に対処する従来の手法と比較して、大幅な速度向上を実現します。
このシステムは二段階のアーキテクチャを採用しており、各ストレージデバイスがどのタスクを実行するかという大局的な判断を行う中央コントローラーと、そのデバイスに問題が生じた場合にデータを迅速にリルーティングする各マシン用のローカルコントローラーで構成されています。
この手法は、変化するワークロードにリアルタイムで適応可能であり、専用ハードウェアを必要としません。研究者たちは、AIモデルのトレーニングや画像圧縮といった現実的なタスクでこのシステムをテストしたところ、従来の手法が提供するパフォーマンスをほぼ2倍に高めることを確認しました。複数のストレージデバイスのワークロードを知的にバランスよく分散させることで、このシステムはデータセンター全体の効率性を高めることができます。
"問題解決のためにリソースを投入しがちですが、それは多くの点で持続可能ではありません。これらの高価で炭素排出量の多い資源の寿命を最大化できるようにしたいのです」と、電気工学・コンピュータサイエンス(EECS)の大学院生で本研究の主要著者であるGohar Chaudhry氏は語ります。「当社の適応型ソフトウェアソリューションにより、デバイスを廃棄して新品を購入する前に、既存のデバイスから多くのパフォーマンスを引き出すことができます。」
Chaudhry氏には、Tufts大学のAnkit Bhardwaj准教授、Zhenyuan Ruan氏(PhD '24)、そしてEECS准教授でMITコンピュータサイエンス・人工知能研究所(CSAIL)のメンバーである上席著者Adam Belay氏が共同で参加しています。この研究成果は、USENIXネットワークシステム設計・実装シンポジウム(USENIX Symposium on Networked Systems Design and Implementation)で発表されます。
未活用パフォーマンスの活用
ソリッドステートドライブ(SSD)は、アプリケーションがデータを読み書きできる高性能なデジタルストレージデバイスです。例えば、SSDは膨大なデータセットを保存し、機械学習モデルのトレーニングのためにプロセッサへデータを高速に送信することができます。
複数のSSDをプール化し、多くのアプリケーションがそれらを共有できるようにすることで、必ずしもすべてのアプリケーションが特定の時点でSSDの全容量を使用するわけではないため、効率性が向上します。しかし、すべてのSSDが同等のパフォーマンスを発揮するわけではなく、最も低速なデバイスがプール全体の性能を制限する可能性があります。
これらの非効率性は、SSDハードウェアのばらつきと、それらが実行するタスクの違いに起因します。
この未活用SSDパフォーマンスを活用するため、研究者たちはSandookを開発しました。これは3つの主要なパフォーマンス阻害要因のばらつきを同時に解決するソフトウェアベースのシステムです。「Sandook」はウルドゥー語で「箱」を意味し、「ストレージ」を示すために名付けられました。
1つ目のばらつきは、異なるベンダーから異なる時期に購入されたSSDの年齢、劣化の程度、容量の違いによって引き起こされます。
2つ目のばらつきは、同じSSD上で発生する読み取り操作と書き込み操作のミスマッチに起因します。デバイスに新しいデータを書き込む際、SSDは既存のデータを一部消去する必要があります。このプロセスは、同時に発生するデータの読み取り(取得)を低速化させる可能性があります。
3つ目のばらつき要因はガベージコレクションです。これは、スペースを確保するために古いデータを収集・削除するプロセスです。このプロセスはSSDの動作を低速化させ、データセンターの運用者が制御できないランダムな間隔でトリガーされます。
"デプロイメントサイクル全体を通じて、すべての SSD が同一の挙動を示すと仮定することはできません。たとえ同じワークロードを割り当てたとしても、一部の SSD が遅延要因(ストラグラー)となり、達成可能な総スループットが低下します」と Chaudhry は説明する。
グローバルな計画、ローカルな対応
Sandook は、この3つのばらつきすべてに対応するため、2段階の構造を採用している。グローバルスケジューラーが全体のプールに対するタスクの分散を最適化し、各 SSD 上の高速スケジューラーが緊急イベントに反応して、混雑したデバイスから処理をシフトさせる。
このシステムは、読み書きの干渉による遅延を、アプリケーションが読み取りと書き込みに使用する SSD をローテーションさせることで克服する。これにより、同じマシン上で読み取りと書き込みが同時に発生する可能性を低減する。
Sandook はまた、各 SSD の典型的なパフォーマンスをプロファイリングする。この情報を用いて、ガベージコレクションによって処理が低速化している時期を検出する。検出されると、Sandook はその SSD 上のワークロードを軽減し、ガベージコレクションが完了するまで一部のタスクを他のデバイスへ振り向ける。
「その SSD がガベージコレクションを実行中で、それ以上のワークロードを処理できない場合、負荷を小さくして徐々に処理量を戻していく必要があります。まだある程度の作業を行い、そのパフォーマンスを引き出せる『最適なポイント』を見つけることが重要です」と Chaudhry は述べる。
SSD のプロファイルにより、Sandook のグローバルコントローラーは各デバイスの特性と容量を考慮した重み付け方式でワークロードを割り当てることが可能になる。
グローバルコントローラが全体像を把握し、ローカルコントローラがその場で対応するため、Sandook は異なる時間スケールで発生する多様な変動を同時に管理できる。例えば、ガーベジコレクション(garbage collection)による遅延は突然発生するのに対し、摩耗(wear and tear)によって生じるレイテンシは多くの月をかけて蓄積していく。
研究者たちは 10 個の SSD からなるプールで Sandook をテストし、データベースの実行、機械学習モデルのトレーニング、画像の圧縮、ユーザーデータの保存という 4 つのタスクにおいてシステムを評価した。静的な手法と比較して、Sandook は各アプリケーションのスループットを 12〜94%向上させ、SSD キャパシティの全体的な利用率を 23%改善した。
このシステムは、専用ハードウェアやアプリケーション固有のアップデートを必要とせず、SSD が理論上の最大性能の 95%を達成できるようにした。
「当社の動的ソリューションは、すべての SSD でより高いパフォーマンスを引き出し、限界まで性能を押し上げることができます。この規模において、節約できるキャパシティはわずかなものでも非常に重要です」と Chaudhry は述べる。
将来、研究者たちは最新の SSD で利用可能になり、運用担当者がデータ配置に対してより多くの制御を行える新しいプロトコルを組み込むことを目指している。また、AI ワークロード(AI workloads)における予測可能性を活用し、SSD 操作の効率を高めることも計画している。
「フラッシュストレージは現代のデータセンターアプリケーションを支える強力な技術ですが、パフォーマンス要件が大幅に異なる複数のワークロード間でこのリソースを共有することは、依然として大きな課題です。本研究は、展開可能なエレガントで実用的なソリューションを提供し、本番環境のクラウドにおけるフラッシュストレージの可能性を最大限に引き出すことに有意義な進展をもたらしました」と、本事業に関与していないGoogleのソフトウェアエンジニアであり、ペンシルベニア大学准教授に就任予定のJosh Fried氏は述べています。
本研究は、全米科学財団(National Science Foundation)、米国国防高等研究計画局(Defense Advanced Research Projects Agency)、および半導体研究協会(Semiconductor Research Corporation)から部分的な資金提供を受けています。
原文を表示
To improve data center efficiency, multiple storage devices are often pooled together over a network so many applications can share them. But even with pooling, significant device capacity remains underutilized due to performance variability across the devices.
MIT researchers have now developed a system that boosts the performance of storage devices by handling three major sources of variability simultaneously. Their approach delivers significant speed improvements over traditional methods that tackle only one source of variability at a time.
The system uses a two-tier architecture, with a central controller that makes big-picture decisions about which tasks each storage device performs, and local controllers for each machine that rapidly reroute data if that device is struggling.
The method, which can adapt in real-time to shifting workloads, does not require specialized hardware. When the researchers tested this system on realistic tasks like AI model training and image compression, it nearly doubled the performance delivered by traditional approaches. By intelligently balancing the workloads of multiple storage devices, the system can increase overall data center efficiency.
“There is a tendency to want to throw more resources at a problem to solve it, but that is not sustainable in many ways. We want to be able to maximize the longevity of these very expensive and carbon-intensive resources,” says Gohar Chaudhry, an electrical engineering and computer science (EECS) graduate student and lead author of a paper on this technique. “With our adaptive software solution, you can still squeeze a lot of performance out of your existing devices before you need to throw them away and buy new ones.”
Chaudhry is joined on the paper by Ankit Bhardwaj, an assistant professor at Tufts University; Zhenyuan Ruan PhD ’24; and senior author Adam Belay, an associate professor of EECS and a member of the MIT Computer Science and Artificial Intelligence Laboratory. The research will be presented at the USENIX Symposium on Networked Systems Design and Implementation.
Leveraging untapped performance
Solid-state drives (SSDs) are high-performance digital storage devices that allow applications to read and write data. For instance, an SSD can store vast datasets and rapidly send data to a processor for machine-learning model training.
Pooling multiple SSDs together so many applications can share them improves efficiency, since not every application needs to use the entire capacity of an SSD at a given time. But not all SSDs perform equally, and the slowest device can limit the overall performance of the pool.
These inefficiencies arise from variability in SSD hardware and the tasks they perform.
To utilize this untapped SSD performance, the researchers developed Sandook, a software-based system that tackles three major forms of performance-hampering variability simultaneously. “Sandook” is an Urdu word that means “box,” to signify “storage.”
One type of variability is caused by differences in the age, amount of wear, and capacity of SSDs that may have been purchased at different times from multiple vendors.
The second type of variability is due to the mismatch between read and write operations occurring on the same SSD. To write new data to the device, the SSD must erase some existing data. This process can slow down data reads, or retrievals, happening at the same time.
The third source of variability is garbage collection, a process of gathering and removing outdated data to free up space. This process, which slows SSD operations, is triggered at random intervals that a data center operator cannot control.
“I can’t assume all SSDs will behave identically through my entire deployment cycle. Even if I give them all the same workload, some of them will be stragglers, which hurts the net throughput I can achieve,” Chaudhry explains.
Plan globally, react locally
To handle all three sources of variability, Sandook utilizes a two-tier structure. A global schedular optimizes the distribution of tasks for the overall pool, while faster schedulers on each SSD react to urgent events and shift operations away from congested devices.
The system overcomes delays from read-write interference by rotating which SSDs an application can use for reads and writes. This reduces the chance reads and writes happen simultaneously on the same machine.
Sandook also profiles the typical performance of each SSD. It uses this information to detect when garbage collection is likely slowing operations down. Once detected, Sandook reduces the workload on that SSD by diverting some tasks until garbage collection is finished.
“If that SSD is doing garbage collection and can’t handle the same workload anymore, I want to give it a smaller workload and slowly ramp things back up. We want to find the sweet spot where it is still doing some work, and tap into that performance,” Chaudhry says.
The SSD profiles also allow Sandook’s global controller to assign workloads in a weighted fashion that considers the characteristics and capacity of each device.
Because the global controller sees the overall picture and the local controllers react on the fly, Sandook can simultaneously manage forms of variability that happen over different time scales. For instance, delays from garbage collection occur suddenly, while latency caused by wear and tear builds up over many months.
The researchers tested Sandook on a pool of 10 SSDs and evaluated the system on four tasks: running a database, training a machine-learning model, compressing images, and storing user data. Sandook boosted the throughput of each application between 12 and 94 percent when compared to static methods, and improved the overall utilization of SSD capacity by 23 percent.
The system enabled SSDs to achieve 95 percent of their theoretical maximum performance, without the need for specialized hardware or application-specific updates.
“Our dynamic solution can unlock more performance for all the SSDs and really push them to the limit. Every bit of capacity you can save really counts at this scale,” Chaudhry says.
In the future, the researchers want to incorporate new protocols available on the latest SSDs that give operators more control over data placement. They also want to leverage the predictability in AI workloads to increase the efficiency of SSD operations.
“Flash storage is a powerful technology that underpins modern datacenter applications, but sharing this resource across workloads with widely varying performance demands remains an outstanding challenge. This work moves the needle meaningfully forward with an elegant and practical solution ready for deployment, bringing flash storage closer to its full potential in production clouds,” says Josh Fried, a software engineer at Google and incoming assistant professor at the University of Pennsylvania, who was not involved with this work.
This research was funded, in part, by the National Science Foundation, the U.S. Defense Advanced Research Projects Agency, and the Semiconductor Research Corporation.
関連記事
AIの電力消費を推定する高速な手法
研究者らが、データセンターの電力消費を迅速に推定する新手法を開発した。AI普及に伴うエネルギー需要増に対応し、データセンターの省エネ効率向上と持続可能性の実現を目指す。
「AIを活用してより持続可能な世界を実現できるか?」
Microsoft Researchのダグ・バーガー氏と専門家らは、持続可能な未来の実現に向け、技術者や政策担当者が直面する複雑なAI課題を議論し、AI移行を正の成果とする共通理解の醸成を目指している。
GoogleとIntelがAIインフラパートナーシップを深化
GoogleとIntelは、世界的なCPU不足による需要高騰を背景に、カスタムチップの共同開発を進めている。