meta-something

論文とか研究とか趣味のネタとか

ISC2017のメモ

個人的なまとめ

  • 小電力効率GREEN500で東工大TSUBAME3.0が首位にランクイン
  • LINPACK性能TOP500首位は相変わらず中国Sunway Taihulight
    • 3位にスイスCSCSのPiz Daint
  • バイオインフォ関係のセッションが結構多い(初日Keynote, Session, Workshop, …)
  • LinuxContainer関連ワークショップあり(後述)

ISC2017とは

http://isc-hpc.com/id-2017.html

スーパーコンピューティングの国際会議。ISCはInternational Supercomputing Conferenceの略。規模的には北米で開催されるSCに次いで大きい。ドイツの会社が主催しているらしい。今回は(も?)ドイツのフランクフルトで開催された。

初日のKeynoteが生体ネットワークの数理グラフ的解析とゲノム・プロテオームへの応用事例とHPC基盤のお話だったり、High Performance Computing in Life Sciencesというライフサイエンスそのままなセッションがあったり、結構バイオインフォ関係のセッション多め。内容的には解析手法の紹介とかスクリーニングの紹介、ライフサイエンス業界のツールのプログラム品質問題とか。あとはクラウド利用のユースケース紹介が多くてわりと学びがあったのと、HPC領域でも結構クラウド利用が普及している実感が得られた。

Linux Container to optimise IT Infrastructure and High-Performance Workloads

一番興味があったのが最終日のLinux Container関連のワークショップ。スライド,Youtubeビデオが公開されているのであとから見直すのも楽ですごくいい。

qnib.org

HPC基盤上のコンテナ仮想化実現のためのOSS:Singularityの紹介、SingularityのKubernetes拡張の話、Dockerの動向、ゲノム解析センターのDockerによるワークフローオーケストレーション、などなど。

特にゲノム解析センターの話は、以前に自分のスライドの中で概要を引用した話だったので興味があった。

peerj.com

www.univa.com

ゲノム解析パイプラインのライブラリ管理は難しく、パイプラインを構成するツール毎のライブラリ依存性が複雑怪奇で、しかもそのバージョンに依存して出力結果に差異が発生するので、再現性を確保するために容易にバージョンを更新できない。バージョンを固定したいが、ずっと上げないわけにもいかない。 このレポートのシステムでは、Univa Grid Engineの提供するDocker機能とワークフロー管理Next Flowを使い、ジョブ投入スクリプト「使用したいツール(コンテナ)」「使用したいバージョン(タグ)」を指定してジョブを投げると、以下の感じに処理してくれる。

  1. ワークフロー管理ソフトが全体の進行管理
  2. ジョブスケジューラが計算資源を確保
  3. 確保されたノード上に指定されたコンテナが稼働
  4. スクリプト処理を実行、次のタスクへ

各バージョンはコンテナ毎にファイルシステムの差分で管理されているので省容量で楽、競合するライブラリの管理もしないでよい。

ただ、他のセッションでもMPI通信をガリガリ実行するHPCアプリのコンテナ運用話は扱われているのを見たことがない(ベンチマークはちらほらあるけど)ので、うーん。

論文紹介「Reproducibility of computational workflows is automated using continuous analysis」

タイトル

Reproducibility of computational workflows is automated using continuous analysis

著者

Brett K Beaulieu-Jones, Casey S Greene

  • Perelman School of Medicine, University of Pennsylvania

掲載情報

Nature Biotechnology, vol.35, No.4, pp.342-346, 2017.

  • Nature関連誌、生命工学分野ではトップジャーナル
  • 2-year IF=43.113 (2016)
    • 参考:Nature, IF=38.138 (2016)

https://www.nature.com/articles/nbt.3780

キーワード

Bioinformatics, Continuous Integration, Docker, Reproducibility

概要

計算機上で実施される研究成果(特に計算科学の応用分野)の再現性の問題解決のために、ソフトウェア開発の手法である継続的インテグレーション(Continuous Integration)を導入する論文。 既に公開済みの論文でも、計算結果の再現に必要なデータセットやソフトウェアの情報をすべて記載しているものは少なく、環境依存により同じ結果が得られない場合もある。 著者らは、バージョンの差異やソフトウェア情報を明記は必須であるほか、コンテナ型仮想化技術などを利用した(データやソフトウェアを含む)実行可能な環境で成果を公開することで再現性が担保されると主張している。 さらにGit等のバージョン管理システムと連携した継続的インテグレーション(CI)サービスを導入し、ツールやデータの変更をトリガーに自動的にクラウド上でテスト実行を実施して再現性を担保し続けることで(ソフトウェア開発者と同じように)研究者は研究作業に集中できる。 同時に、検証が容易で再現可能な形式の普及は科学の健全性を押し上げることに繋がり、短期的にも論文のレビュワーや読者が論文を検証する場合に極めて役立つ。

なお、この論文のCI利用例などは以下のリポジトリで公開されている。

github.com

紹介スライド

SlideShare, SpeakerDeckともにスライド内容は同じです。

SlideShare

www.slideshare.net

SpeakerDeck

https://speakerdeck.com/metavariable/reproducibility-of-computational-workflows-is-automated-using-continuous-analysis

感想

ソフトウェア開発者兼研究者として、研究成果を再現可能な形で公開して、可用性と健全性を同時に保つことは自然な流れだと思っている。 そのためにはGitHubによるコードの公開、DockerHubによる環境導入の障壁の撤廃が必要であるし、その次に継続的インテグレーションが来るのは極めて自然。 もちろん、こうした流れに乗るのはタダでできるわけではなく、準備なり作業なり必要ではある。が、情報工学では大企業の影響で開発と研究の境目は曖昧になりつつあり、開発者兼研究者として自らの活動を広める上でソフトウェア開発のエコシステムを積極的に取り入れるのは、自らの商業・研究の両方の市場価値を高めるアプローチになる、と思う。(このブログもその活動の一環であるし)

SIGBIO49(とOpen-BIO21)で発表してきました

2017年3月23日に北陸先端大学(JAIST: Japan Advanced Institute of Science and Technology)で開催された、第49回情報処理学会 バイオ情報学研究会(SIG BIO 49)に参加して研究報告をしてきました。

タイトル

  • 『コンテナ型仮想化による分散計算環境におけるタンパク質間相互作用予測システムの性能評価』
  • 『Evaluation of Container Virtualized MEGADOCK System in Distributed Computing Environment』

概要

本研究室で開発されたタンパク質間相互作用予測システムMEGADOCKについて,クラウド上に構築したコンテナ型仮想化による分散計算環境を用いて計算性能の評価を行う. コンテナ型仮想化技術としてLinuxコンテナの実装の1つであるDockerを採用し,仮想マシンの並列数を増加させた際の並列実行性能を調査する.

We evaluate the performance of MEGADOCK system using container virtualization technology in distributed computing environment on cloud. MEGADOCK is a Protein-Protein-Interaction Prediction System for heterogeneous supercomputers. We chosed Docker as a container virtualization technology for Linux container implementation and evaluated parallel execution performance while increasing the number of virtual machines.

ということで

  • Dockerコンテナイメージを作成して何もしない状態からの性能変化を計測
  • 対象はバイオインフォマティクス領域の極めて計算律速なアプリケーション(MEGADOCK
  • 実験は単一ノード実行と並列ノード実行で2種類
    1. ローカルの物理マシン1台上で、通常時とコンテナ内で実行性能を比較(GPU使用も含む)
    2. クラウド環境上の仮想マシン複数台で、MPI並列時の実行性能を比較
  • 結論:計算処理は若干落ちる(0~6%)が、GPU処理の影響はほぼない。クラウド環境上の並列実行時は差はほとんど見えなかった。

クラウド環境のGPUインスタンスを利用してMPI+GPU並列の計測をしたかったものの、DockerからGPUを使うためのNVIDIA-Dockerが、クラスタ上のコンテナ管理のためのDockerSwarmに現時点で対応してなかったため、報告では断念。Kubernetesとか使うとできそうなので、別の場所に報告するつもりです。

スライド

speakerdeck.com

Citation

日本語

青山健人, 山本悠生, 大上雅史, 秋山 泰, “コンテナ型仮想化による分散計算環境におけるタンパク質間相互作用予測システムの性能評価”, 情報処理学会研究報告 バイオ情報学, 2017-BIO-49(3) pp.1-8, 2017.

英語

Kento Aoyama, Yuki Yamamoto, Masahito Ohue, Yutaka Akiyama, “Evaluation of Container Virtualized MEGADOCK System in Distributed Computing Environment”, IPSJ SIG Technical Report, 2017-BIO-49(3), pp.1–8, 2017.


第21回 オープンバイオ研究会

github.com

少しあとに共同開催されたオープンバイオ研究会で、全員参加型の「4コマプレゼン」というライトニングトークのようなセッションがあったので、コンテナ型仮想化の宣伝とMEGADOCKのサンプル実行のデモを行いました。

スライドは即興で作成したものなのでクオリティは低めです。

qiita.com