論文紹介「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利用例などは以下のリポジトリで公開されている。
紹介スライド
SlideShare, SpeakerDeckともにスライド内容は同じです。
SlideShare
www.slideshare.net
SpeakerDeck
感想
ソフトウェア開発者兼研究者として、研究成果を再現可能な形で公開して、可用性と健全性を同時に保つことは自然な流れだと思っている。 そのためには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種類
- 結論:計算処理は若干落ちる(0~6%)が、GPU処理の影響はほぼない。クラウド環境上の並列実行時は差はほとんど見えなかった。
クラウド環境のGPUインスタンスを利用してMPI+GPU並列の計測をしたかったものの、DockerからGPUを使うためのNVIDIA-Dockerが、クラスタ上のコンテナ管理のためのDockerSwarmに現時点で対応してなかったため、報告では断念。Kubernetesとか使うとできそうなので、別の場所に報告するつもりです。
スライド
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回 オープンバイオ研究会
少しあとに共同開催されたオープンバイオ研究会で、全員参加型の「4コマプレゼン」というライトニングトークのようなセッションがあったので、コンテナ型仮想化の宣伝とMEGADOCKのサンプル実行のデモを行いました。
スライドは即興で作成したものなのでクオリティは低めです。
ゆるふわなDockerの使い方(Docker布教)
Speaker Deck
なにこれ
研究室でDockerの使い方を布教したときのスライドです。 ゆるふわに「とりあえずどんな感じで使えるのかわかればいいや」という感じの内容です。
なんでそんなことを
- 個人が使う場合でも便利なツールだから
- 研究領域のアプリケーション配布にもDockerがもっと普及して欲しい
- 自身の研究を話すときの理解の助けになる
- 味方を増やしたいのと、人に説明する練習として
- 東工大が2017年夏に稼働を予定するスパコンがコンテナ型仮想化を前提にするらしい(?)ので、コンテナ型仮想化について知っておいて損はない
因みにTSUBAME3は現代スパコンだから無論スケールアウト、基本全マシンコンテナ仮想化による利用率向上で、加えて資源管理もUGEのバッチとMesos のREST API割当てでノードあたり2TBのNVMeを活用できるSPARK等のBDスタックの統合検討と、真のクラウドスパコンに https://t.co/n8YrVgwVbC
— Satoshi Matsuoka (@ProfMatsuoka) 2017年2月5日
個人的な参考資料とか
www.slideshare.net
www.slideshare.net