HPCではストレージが重要、高性能で柔軟性の高い技術を米大学が開発:1秒間に100京回の演算性能を支える
高性能で柔軟性の高いHPC向けストレージプラットフォームが実現しそうだ。米バージニア工科大学の研究チームは、このようなプラットフォームを実現するためのフレームワーク「BespoKV」を開発した。
米バージニア工科大学は2018年11月9日(米国時間)、所属する研究者チームが、極めて柔軟性の高いハイパフォーマンスコンピューティング(HPC)データシステムを実現する方法を発見したと発表した。「1秒間に100京回(10億の10億倍)の演算」というHPCの目標の実現に役立つ可能性があるという。
研究チームは、11月13日に米国テキサス州ダラスで開催されたAssociation of Computing Machinery/IEEE Supercomputing Conferenceで、プレゼンテーションを行った。
HPCの性能を左右するのは演算能力だけではない。演算に必要なデータを格納するストレージプラットフォームの能力が低いと、システム全体の性能が頭打ちになってしまう。演算サーバが分散しているため、必然的にストレージシステムも分散している。このストレージプラットフォームに課題がある。
第1の課題は、Key値を指定してValue値の格納や取得を行うキーバリューストア(KVS)システムの利用方法に問題があることだ。エンタープライズ向けのKVSでは、特定のデータへ継続的にアクセスする必要がある場合、遠隔地のストレージサーバではなく、より高速なメモリ内のストアからコンテンツをロードする。
「この非常に基本的でシンプルなストレージプラットフォームが、HPCシステムでは利用されていない。多くのメリットが得られるため、HPC向けKVSの研究に取り組んだ」(同大学の卒業生で現在はIBM Researchに勤めるAli Anwar氏)
第2の課題は、HPCにおいて機能をカスタマイズしやすいことを選ぶか、高可用性を選ぶか、ユーザーが難しい決断を迫られることだ。これはHPC向けのストレージプラットフォームで使われているフレームワークに欠点があるためだ。
研究チームはHPC向けKVSの改善を試み、「BespoKV」という新タイプのフレームワークを構築した。BespoKVはKVS設計を、分散管理を担うコントロールプレーンと、ローカルデータストレージを担うデータプレーンに分離する。
これにより開発者は、特定のタスクを実現するためにストレージシステムを一から再設計するのではなく、「データレット」と呼ばれるシングルサーバKVSをBespoKVにドロップするだけで、分散システムの面倒な相互接続をBespoKVに任せることができるようになる。これが最大のメリットだ。
BespoKVを利用すればHPC向けストレージプラットフォームにおいて、柔軟性と性能の両方を実現できる。このため、企業や組織がまだ予想していないワークロードのための新しいHPCサービスを実現しやすい。
柔軟なKVS設計を実現する
最新のKVSにおける大きな制約の一つは、既存の分散サービスを考慮して設計されているため、多くの場合、特定の一つの設定に特化していることだ。
もう一つの制約は、柔軟性の低いモノリシック設計だ。分散機能が、インベントリやオーダー、サプライを管理するようなバックエンドデータストアを持つシステムに深く組み込まれてしまっている。このような固定的な設計では、バックエンドやトポロジー、整合性など、多様なサービスにおいて、ユーザーのニーズが絶え間なく変化する現状へ適応できない。
バージニア工科大学でコンピュータサイエンスの教授を務めるAli Butt氏は、次のように説明している。「HPCストレージシステムでは、データアクセスパフォーマンスが大きな制約になる。一般に、柔軟性とパフォーマンスを両立させるために、複数のHPCストレージソリューションを組み合わせて導入するが、それは厄介事の種となる。われわれは、システムの動作を目的のパフォーマンスや整合性、信頼性のレベルに対応させる方法を生み出した」
BespoKVが高い俊敏性を持つのは、このフレームワークが目的のサービスと使用可能なコンポーネントの任意のマッピングを可能にするとともに、データレットと関連付けられた分散KVSを実現し、利用可能にする分散管理サービスをサポートしているからだ。
「われわれは、強力なHPCシステムでKVSシステムを効率的かつシンプルに利用できることを証明した。ユーザーは、スケーラビリティと柔軟性の二者択一を迫られずに済むようになる」(Butt氏)
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 僕たちが分散KVSでファイルシステムを実装した理由
データベースで使われるKVSの仕組みをそのままファイルシステムに使ったら? okuyamaの開発者たちがファイルシステムを実装してみたらこうなった。 - いまさら聞けないKVSの常識をHbaseで身につける
Hadoopをはじめ、Java言語を使って構築されることが多い「ビッグデータ」処理のためのフレームワーク/ライブラリを紹介しながら、大量データを活用するための技術の常識を身に付けていく連載 - クラウド時代のデータ処理を支える分散KVSの可能性