Research †
- Under construction...
チーム佐藤(佐藤 三久 教授) †
XcalableMP †
PCクラスタシステムやGPU向けの並列プログラミング言語の研究を行っています.スーパーコンピュータに代表される大規模並列計算機を利用するためには,Message Passing Interface(MPI)と呼ばれる通信ライブラリを用いてマシン間のデータ交換を直接記述しなければならず,プログラミングコストが深刻な問題となっています.そのような問題を解決するためにXcalableMPという並列プログラミング言語が提案されています.XcalableMPは逐次コードに並列化に関する情報を示す指示文を追加することで並列化を行います.したがって,逐次コードからの並列化が可能になり,従来のMPIプログラミングモデルと比べて簡単に並列プログラムを記述することができます.
HPCS研究室ではXcalableMPの処理系の実装や言語仕様の実験的な拡張などを行っています.近年のPCクラスタシステムはマルチコアプロセッサやGPUなどを搭載しており,それらの計算資源を使いこなすためのプログラミングモデルの研究が活発に行われています.HPCS研究室ではXcalableMPをベースにしてマルチコア+GPU搭載のPCクラスタなどのヘテロジニアスな環境に適用可能なプログラミングモデルの研究を進めています.また,耐故障性を実現するための機能であるチェックポインティング/リスタートを言語レベルで提供するための検討も行っています.
耐故障性テストを加速するクラウド環境の構築 †
クラウドコンピューティングを利用したテストの実行支援環境の構築を行っています.クラウドコンピューティングシステムとはサーバの保有する計算資源をクライアントが対価を支払い,ネットワーク越しに利用可能にするシステムのことを指します.クラウドの形態の一つとして,仮想計算機の単位でサーバリソースを提供するものがあります.この形態では,クライアントは仮想計算機上でwebサービスを動作させる等,仮想計算機を手元の計算機と同様に利用することができます.我々の研究では,この形態のクラウドを利用したテストの加速を目指して,研究を行っています.この形態のクラウドを利用してテストを行うメリットとしては以下のものが挙げられます.
・手元に多数の計算機(ノード)がなくとも,テストを並列に実行できる.
・多数のノードを必要とする分散システムのテストを行うことができる.
しかし,これらのテストを行うには様々な作業が必要になり,非常に手間がかかります.私たちの研究ではクライアントが記述したシナリオを基に,テストを行う際の各仮想計算機の性能の設定,テストに必要となるソフトウェアのインストール,テストの実行を自動化することでテストにかかる手間の軽減を目指した提案を行っています.
また,その他のテスト支援機能としてハードウェア故障に対する耐故障性テストの支援も行っています.この実現のために,ソフトウェアでハードウェア全体をエミュレーションする仮想計算機(QEMU)を改変し,エミュレートされたハードウェアに任意のタイミングで故障を発生させる機能を実装しています.これにより,ハードウェア故障が発生した場合のシステムの挙動のテストの実現を目指しています.
省電力な分散型Webサーバクラスタ †
近年データセンタ等に配置されているサーバの消費電力/運用コストが大きな問題となっており,この問題を解決するための手段が必要とされています.HPCS研究室では複数のサーバノードからなる分散型Webサーバを対象として要求されたQoS(Quality of Service)を維持しながら省電力化を行うための手法について研究を行っています.
Web をはじめとするトランザクション要素を持つ負荷は時系列にその値が変化します.この変化にうまく合わせながら稼働サーバ台数を制御すれば劇的な消費電力削減を達成できますが,そのためにはサーバの再起動時間等を考慮しなければ要求されたQoSの維持が困難になります.提案する手法は要求されるQoSとサーバの再起動時間を負荷予測手法と結びつける枠組みによって実現されており,現在は仮想計算機(Xen,KVM等)上で運用される分散型Webサーバシステムへの上記手法の拡張を行っています.
サーバシステムの省電力性評価指標 †
PCやサーバの省電力性が現在大きく重要視されていますが,それにもかかわらず実際にはその指標が定まっているわけではなく今日様々な提案がなされています.HPCS研究室ではデータセンタを主眼としてサーバシステムの省電力性を評価するための指標を決める枠組みについて研究を行っています.そのための要素として,現在は代表的なアプリケーション特性とサーバ消費電力モデリングに着目した消費電力特性理解や実際のデータセンタを模したサーバルームでの実機評価などを行っています
動作周波数制御による大規模並列システムの省電力化 †
現在, DVFS(Dynamic Voltage and Frequency Scaling)機構によってプロセッサの動作電圧・動作周波数を動的に制御する事が可能になっています.低い動作電圧・動作周波数を利用することでプロセッサの消費電力を削減する事が可能ですが,プログラムの実行時間は増加します.そこで,プログラムの特性に応じて最適な動作周波数を選択し,わずかな性能低下で大幅な消費エネルギー削減を達成する手法について研究を行っています.具体的には,以下のような手法について研究を行っています.
1)メモリアクセスなど高いプロッサ性能を必要としない場面で低い動作周波数を選択し,消費エネルギーを削減する
2)デッドライン制約を守る範囲で最低の動作周波数を選択し,消費エネルギーを削減する
ネットワークチーム(朴 泰祐 教授) †
高性能/低電力/高信頼インターコネクションネットワーク (PEARL) †
現在,組み込みシステムから高性能計算環境まで,あらゆる計算プラットフォームは何らかの並列処理システムになっています.プロセッサチップ内がマルチコア化されているだけでなく,それらを何らかの相互結合網(インターコネクションネットワーク)で結合した並列処理システムでは,高性能かつ高信頼なネットワークが望まれます.特に組み込みシステムでは高い信頼性が欠かせず,これに加え省電力性も求められます.我々は,標準的なデバイス結合バスであるPCI-Expressに着目し,これをCPUと周辺デバイスの接続だけでなく,計算ノード間を結合するネットワークとして利用することを可能にする技術,PEARL(PCI Express Advanced and Reliable Link)の研究開発を行っています.従来のインターコネクションネットワークに比べ,Infinibandに匹敵する高性能を,Ethernetよりはるかに低い電力で実現するだけでなく,リンクを構成するレーンが故障した場合も残りレーンでこれを補い,様々なシステムに適用可能なネットワークを構築します.PEARLは専用ネットワークチップPEACH (PCI ExpressAdaptive Communication Hub)によって実現され,現在,2010年に完成したPEACHチップを用いた様々な並列処理システム構築と評価を行っています.本研究は組み込みプロセッサ等を開発しているルネサスエレクトロニクス社との協同研究で進められています.
ノード間及びマルチコア間ネットワークAPI (XMCAPI) †
CPUチップのマルチコア化に伴い,組み込みシステムを中心とするコア間結合プログラムの標準APIとして,MCAPI (Multicore Communication API)が提唱されています.我々は,MCAPIをCPUチップ内のマルチコア間だけでなくネットワークで結合されたクラスタノード間に拡張したAPIであるXMCAPI (eXtendedMCAPI)を開発しています.XMCAPIはMCAPIと互換性を保ちつつ,Ethernet等の一般的なネットワークで結合されたLinuxクラスタ上で動作します.MPIよりも簡潔で,様々な粒度や応答性を持つ通信プログラミングに適したシステムになっています.Ethernet上での標準的な実装だけでなく,PEARL上でも動作するよう開発を進めています.XMCAPIの応用の一つとして,耐故障性を持つ分散共有メモリ環境(SCASH)の実装を行っています.これは,組み込みシステムのような外部記憶装置がない並列環境で,メモリページのイメージをノード間で相互にバックアップし,耐故障性を持たせるシステムで,XMCAPIの特徴を生かした実装を行っています.
耐故障・高信頼Ethernetシステム (RI2N) †
Gigabit Ethernetに代表されるEthernetは高い対価格性能費を持つ最もポピュラーなネットワークで,比較的安価なPCクラスタでも多く用いられています.我々は複数のEthernetリンクを束ね,無故障時にはバンド幅を増強し,故障時には正常なリンクによる代替通信を行うネットワークシステムである RI2N(Redundant Interconnection with Inexpensive Network) を開発しています.RI2Nは,Linuxに標準実装されているLinux Channel Bondingよりも高い効率とトポロジ柔軟性,拡張性を持ち,Linux kernelを変更することなくデバイスドライバレベルでユーザ透過性を持つネットワークデバイスとしてソフトウェア実装されています.TCP/IP等の通信でも安定した高性能と故障時のレスポンスの良さ,またリンク数が必ずしも均質でないようなネットワークでも高い効率で動作するような工夫がなされています.
GPGPUプログラミング (XcalableMP/GPU) †
現在最も代表的なアクセラレータであるGPGPU (General Purpose GPU)プログラミングにより,アプリケーションを性能向上させるアルゴリズムやライブラリの開発を行っています.また,佐藤チームのXcalableMP研究チームと連携し,XcalableMPの枠組みにGPGPUを取り込み,統一的なデータアクセスビューとプログラムのし易さを提供する,XcalableMP/GPUの開発を行っています.従来,CUDA等で不可欠だった,ユーザによるCPUメモリとGPUメモリ間のやり取りや,GPUメモリアクセスの最適化等を,はるかに簡潔で簡便な形で記述できるようにします.本研究テーマは,フランスの共同研究チームとの連携研究になっています.
マルチコア/マルチレールネットワークを持つPCクラスタの性能最適化 †
現在の高性能クラスタは,各ノードにマルチコアを持つCPUを複数搭載し,さらにノード間を複数のネットワークリンクで結合することにより,ノード性能とネットワーク性能の両方を増強するものが増えています.これらのコア及びネットワークリンクをどういう単位で利用し並列度を決定するかは,アプリケーションの特性に強く依存する難しい問題です.例えば,常にノード上の全てのCPUコアを演算に利用することは必ずしも最適ではなく,場合によっては通信補助スレッド等に割り当てた方が性能が向上します.また,ノード内のプロセスの通信特性によって,複数リンクをどう束ねて利用するかも難しい問題です.複雑化した高性能クラスタにおけるこれらの問題を,アプリケーション特性のプロ
ファイリングをベースに自動最適化する試みを続けています.
各種計算科学アプリケーションの高性能化 †
計算科学研究センターにおける計算科学アプリケーション研究者との連携により,様々な実アプリケーションを,スーパーコンピュータやGPGPU等のプラットフォーム上で性能最適化する研究を行っています.並列化にはOpenMPに基づくスレッド並列,MPIに基づく分散メモリ並列,さらに複数のスーパーコンピュータ間を跨ぐジョブスケジューリング等,様々なレベルを対象とし,問題のサイズや計算時間,テストパラメータ数などに応じた最適化を行っています.
グリッドチーム(建部 修見 准教授) †
分散ワークフローシステムPwrakeの開発 †
eサイエンスにおける大規模データ解析のため,記述力の高いワークフロー言語が求められている.本研究では,Ruby言語によるプログラム記述が可能なビルドツールRakeをベースとして,並列分散実行機能を拡張したワークフローシステムPwrakeを開発している.効率的な分散処理のため,広域分散ファイルシステムGfarmにおけるファイルのローカリティに基づくスケジューリング機能をPwrakeに実装した.性能評価により,1拠点だけではなく2拠点の計算機クラスタに対してもスケーラブルな性能向上を示した.
クラウド向けスケーラブルプログラミングモデルの検討 †
クラウド上でスケーラブルな大容量コンピューティングを行うためのプログラミングモデルについて検討している.広域分散環境で並列処理を支援するモデルとしてMapReduce・MPIに着目し,Eucalyptusを用いたクラウド環境上で性能測定を行っている.具体的には系統樹推定を行うTree-PuzzleのMPIによる並列処理性能を測定し,key/value対によるMapReduce処理の実装を行っている.データの局所性を利用しレイテンシを抑える効果が期待できる.
世界規模データ解析のための広域ファイルシステムHGFS †
近年多数の安価なコンピュータを用いた、大規模データ解析を行う基盤技術が普及してきています。私たちは、今後さらに爆発的に増加する大容量データの共有や解析を可能にするため、世界的に分散している複数のデータセンターや、研究拠点内のコンピュータを用いた、高性能な超大規模データ処理基盤の研究を行っています。これまでに、広域環境で問題となっている、RTTの長い高遅延なネットワーク環境下においても、性能低下が起こらない、スケールアウトする分散メタデータサーバHGMDSの設計と実装を行ないました。今後はHGMDSを用いて、広域ファイルシステムHGFSの設計と実装を行っていきます。
広域環境下におけるPCクラスタ間ファイル複製作成 †
近年では科学技術計算などの大規模並列計算やクラウドサービスのような分散コンピューティングが利用されているが,そのためには日米間のような広域環境において多数の大規模データの複製作成・共有が重要になる.しかし,従来のデータ転送手法では高遅延・広帯域ネットワークの効率的利用が難しく,転送時間が長くなる.そこでPCクラスタ間において高速なデータ複製作成を実現するために高遅延・広帯域ネットワークのための並列ファイル転送手法の実装や,ファイル転送制御スケジューリングアルゴリズムの開発などを行っている.
広域分散ファイルシステムGfarmのMPI-IOの実装 †
広域分散ファイルシステムGfarmのためのMPI-IOの開発を行っています.MPI-IOは,並列計算の標準的なライブラリであるMessage Passing Interface(MPI)に含まれる,並列ファイルアクセスのためのライブラリです.現在様々なファイルシステムに対してMPI-IOの最適化に関する研究がなされている.Gfarmに対する並列ファイルアクセスでは,複数のプロセスが単一のファイルに対してアクセスを行う場合,アクセスの集中によってスケーラブルなアクセス性能を得ることができない.本研究では,アクセス集中を回避し負荷分散を行う手法を提案し,スケーラブルなアクセス性能を実現するGfarmのためのMPI-IOの実装を行っています.
広域分散ファイルシステムGfarm 上でのMapReduce を用いた大規模分散データ処理 †
MapReduce のための分散ファイルシステムとしてGoogle File System やHDFS(Hadoop Distributed File System) が使われているが,それらのファイルシステムは特定API によるストリーミングアクセスを前提とし,POSIX の要件を緩和している.この問題を解決するために本研究ではHDFS の代わりにPOSIX 準拠のAPI を持った広域分散ファイルシステムGfarm を使うことを提案し,Gfarm 上でMapReduce 処理を可能にするためのHadoop-Gfarm プラグインを設計し評価している.マイクロベンチマークやMapReduceアプリケーションにおいてHDFSとGfarmが同程度の性能であることを示した。提案手法を使えば性能を低下させることなく,POSIX 準拠のAPI を使え,既存のソフトウェアから透過なデータアクセスができるので、無駄なデータの移動やコピーを減らすことができるという有用性を示した.
クラウドにおける高性能ファイルサービス †
現在のIaaSモデルにおけるクラウドは,仮想マシンを起動するためのコンピュータクラウドと,データ保存のためのストレージクラウドを切り分け て設計されている.しかし,この構成は可用性や管理性の面で利点があるが,性能,ネットワーク負荷,コストなどで問題がある.本研究は,コン ピュータクラウド上にファイルシステムを構築し,リソース状況が変化しやすいクラウド環境でも,ローカリティを考慮したファイルアクセスをユーザ に意識させずに提供し,可用性,管理性も兼ね揃えたクラウド用高性能ファイルシステムサービスの設計,実装を行う.この構成でのマイクロベンチ マーク,ケーススタディとしてのMapReduce の評価を行った結果,優れたスケーラビリティを実現することを確認した.
アルゴリズムチーム(高橋 大介 教授) †
アルゴリズムチームでは(1)高性能並列数値計算ソフトウェア、(2)マルチコアプロセッサ(Cell、GPUなど)を用いた高性能計算、(3)高精度計算アルゴリズムとその応用について研究しています.
GPUによる4倍精度BLASの実装と評価 †
GPUで動作する4倍精度BLAS(Basic Linear Algebra Subprograms)の開発を行っている.4倍精度演算はメモリ参照に比べ演算量が多い処理となるため,4倍精度のベクトル演算はGPUによる加速が期待できる.本研究では倍精度型を2つ組み合わせて4倍精度数を表現するDD型(Double-Double型)4倍精度演算を用い,AXPY,GEMV,GEMMの3関数を実装して評価を行った.GEMV,GEMMでは既存のCPU向け4倍精度BLASに比べ高速化を達成したほか,4倍精度演算によってGPUにおけるPCIeバンド幅による律速が改善し,GPUの高い演算性能を有効に活用できることを示した.
GPGPUによる素因数分解の実装 †
汎用計算機における素因数分解を,GPUによって加速させる研究を行っている.最良の素因数分解法として知られる楕円曲線法は,独立した試行計算を繰り返すことで約数を探索する.これをメニーコアプロセッサであるGPUを利用して並列に計算することで,処理が高速化される見込みがある.これまでに,楕円曲線法の雛形であるp-1法の,GPUを利用した実装を行った.CPUのみの実装と比較して大幅に高速化し,素因数分解におけるGPU利用の有効性を示した.
GPU上での格納形式による疎行列ベクトル積の評価 †
GPU上で,疎行列の格納形式の違いによる疎行列ベクトル積の性能を評価する.疎行列とは,零要素の多い行列であり,その零要素を省略することで効率的に扱うことができる.省略する格納形式には様々なものがあり,疎行列によって最適な格納形式は異なる.そこで,入力された疎行列によって最適な格納形式に変換を行い,疎行列ベクトル積の高速化を行う.現在は3つの格納形式について評価を行い,反復法を用いた連立一次方程式の求解アルゴリズムにおいて,格納形式を動的に変化させることで高速化することが確認できた.
![[HPCS_Logo] [HPCS_Logo]](image/logo_hpcs.png)










