世界のスーパーコンピュータとそれを動かす人々


10月 30, 2015

バイオインフォマティクスの挑戦:ファットノードか、スキニーノードか、ハイブリッドか

HPCwire Japan

Louis Vistola

ライフサイエンス企業は通常様々な計算要件を抱えており、最高のクラスタサーバ・アーキテクチャを選ぶことは常に課題である。ノード毎に大規模なコア数を持つファットノードなのか、または数は少ないが実行が高速なコアを持つシン(スキニーと呼ばれることもある)ノードでいくべきなのか?

以下は要約です。原文は次を参照してください。http://www.hpcwire.com/2015/10/12/bioinformatics-challenge-fat-nodes-skinny-nodes-or-hybrids/

  • もちろんワークロードによって選択は異なるが、一般的なライフサイエンスにとってはハイブリッドなアプローチが最適である。
  • ライフサイエンスにおいては将来どのようなワークロードになるか分からないのでハイブリッドなアプローチが不可欠である。
  • BLASTのようにシーケンシャルでタスク同士が独立しているワークロードにはCPUが高速なスキニーノードが良い。
  • スキニーノードでできたクラスタのためのストレージシステムは、特に多くの小さいサイズのファイルの大量なリード/ライトを、性能劣化無しにできることが必要だ。
  • 細胞膜と分子の相互作用を検証するような有限要素シミュレーションのような大規模並列ワークロードには、多くのコア数と大きな共有メモリを持ったファット・ノードが良い。
  • 大規模並列ワークロードには高速で低レイテンシのネットワークや高速I/Oとスループットを持ったストレージが必要だ。
  • このように様々な負荷を行うにはファットノードとスキニーノードを組み合わせる必要がある。
  • オックスフォードのe-Researchセンターでは、この組み合わせの選択に関するポイントをまとめている。
  • ファットノードには非常に速いネットワークと大量のメモリが必要である。メモリやネットワーク速度に制約が無ければ、ワット当りの計算速度とネットワーク速度を最大にするべきだ。
  • 考慮すべき観点としては多様なノードが増えていることだ。例えば現代ではCPUだけでなく、GPU、FPGA、Intel Xeon Phiなどのアクセラレータも存在する。このようにひとつのラックの中に多くの異なるタイプのノードが存在することとなる。
  • human_genome
  • コロラド州立大学次世代シーケンシングコアのRichard Caseyは、新しいNVIDIA Tesla K80を使って12倍解析を高速化した。
  • 数値シミュレーションはMicrowayのクラスタで行われ、性能比較はCPUのみとGPUのみシステムで行われた。
  • CPUのみの試験の構成は次の通り。結果は206分、3.4時間であった。
  • Cray XT6m
    (2) 12-core AMD Opteron 6100 CPU’s per compute node
    32 GB RAM per compute node
    12 CPU-threads
    Ran bowtie2 on a single compute node
    Results of the CPU-only sequence alignment runs were 206 min. or 3.4 hrs.
  • GPUのみの試験は次の構成で行われ、結果は16分、0.25時間であった。
  • Intel cluster
    (2) 12-core Xeon E5-2680v3 CPU’s per compute node
    128 GB host CPU RAM per compute node
    NVIDIA Tesla K80 GPU per compute node
    Ran nvBowtie on a single compute node
  • Caseyのコメント:
    nvBowtimeでの12.8倍の高速は素晴らしく、ヒトゲノムのシーケンス配列を数時間から数分にした。nvBowtieは現在バージョン0.9で引き続き開発を続けており、8倍から10倍の高速化を維持して行きたい。
  • 2番目に考慮すべき要素はノードにコードを合わせることだ。
  • ファットノードのマルチコア、メモリなどを必要とするコードも、近代化することでもっとコスト効率良く、スキニーノードでも動くかもしれない。
  • ほとんどのコードは現代のプロセッサのマルチレベルの並列処理能力をフルに活用していない。
  • 広く使われているライフサイエンスのアルゴリズムでもコード近代化で大きな性能向上を得ることができる。例えばANSYS*、3D有限差分コード、門手カルトシミュレーション、ブラックシュールズモデルなどだ。
  • このようなコードの最適化で以前はファットノードで動作していたアプリケーションをスキニーノードに移すことができるようになる。
  • 結論として、すべてのライフサイエンスのワークロードに適合する理想的な単一のアーキテクチャやノードは無いということだ。従来のファットノードやスキニーノードだけでなく、様々なノードタイプの増加によってハイブリッドシステムが普通になってくるのだ。