meta-something

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

第2回HPC OPS研究会の参加記録

2018年7月2日に開催されたHPC OPS研究会に参加してきました。初回は見逃してしまって参加できなかったので今回が初参加なのですが、折角なので簡単なレポートを残しておきます。

HPC OPS研究会は、科学者の研究効率を最大化するためにコンテナ仮想化やクラウド環境の利用、配布ソフトウェアへのCIパイプラインの導入など、ソフトウェア開発のエンジニアリングの知見を用いて研究作業を楽にする話をしましょう!という集まりです。理研BiTの二階堂先生が中心となって、日本マイクロソフトの協賛で開催です。

第2回 HPC OPS研究会

  • 日時:2018年7月2日(月)13時30分 - 18時
  • 場所:日本マイクロソフト(品川)
  • その他:詳細は下記の開催ページに(スライドなど追加される予定です)

概要

 HPC OPS (えいちぴーしー おぷす) 研究会は、自然科学の研究成果を最大化するための科学計算環境やその構築技術についての研究会です。計算環境構築の時間やコストを低下させ、本来の研究活動に多くの時間を割けられるよう科学計算環境の開発・運用のノウハウを共有します。
 コンテナ型仮想計算やクラウドでのHigh Performance Computing、DevOps による科学計算環境の自動構築、データ解析ワークフローエンジンの実装や利用、最適なオンプレミスPCクラスタの運用構築などについて議論します。産学官などの垣根を越えて、クラウドやDevOps, HPCに関わる技術者や科学者などからの参加を広く募集します。

発表題目など

発表者 題名
二階堂愛(理化学研究所 オープニング
海津一成(理化学研究所 細胞シミュレーションソフトウェアE-Cell4の技術
白石友一(国立がん研究センター Extraction Transformation Load (ETL)アプローチに基づくがんゲノム解析パイプラインの開発
近藤宇智朗(udzura)(GMOペパボ株式会社) コンテナランタイムとアーキテクチャを新規に開発した結果、見えてきた世界について
日本マイクロソフト TBA(タイトル不明)
奥野 慎吾(エクストリーム-D株式会社) XTREME-Dが提供するクラウドHPCサービス
政谷好伸(国立情報学研究所 NIIでの計算機環境の運用及び、Literate Computing(for reproducible infrastructure)について
佐藤仁(産業技術総合研究所 AI橋渡しクラウド(ABCI)における高性能計算とAI/ビッグデータ処理の融合

発表スライドは研究会のページで順次公開されています。

興味のあった発表について

いくつかの発表は既に別の場所で聞いていました(言い換えれば界隈の有名どころで)が、全体的に自分の興味のある分野と被っていたので大変楽しかったです。 細胞シミュレーションソフトウェアの配布や開発形態をアレコレ工夫したり、既存のゲノム解析パイプラインをクラウド上で構築したり、Jupyter Notebookのプラグインを開発して、実行可能かつロギングなど様々な機能がついた形式でドキュメントを管理したり。あとおなじみのABCIでSingularityでHPCコンテナの文化を支援する話とか。

どれも内容は面白かったですが、個人的には初めて聞いたGMOペパボの@udzuraさんの発表が特に興味深かったです。@udzuraさんはDSLによる詳細なコンテナ環境の設定を可能とするOSS Haconiwaの開発者です。Haconiwaについてはちょっと前に解説記事を目にしていました。

他のお話が科学技術計算をテーマにしてコンテナのインフラ環境やソフトウェアのメンテナンス、デプロイなどについて述べていた中で、Webサービスホスティングという流れで自社のLollipop!クラウドの中でのコンテナの役割を考察されていたのと、個人的な興味に合致していたので記憶に残りました。

コンテナとアーキテクチャを開発し、見えてきた世界 / why-we-create-our-container-and-architecture - Speaker Deck

今回のトーク内容は開発したHaconiwaそのもの…ではなく、同社の提供するLollipop!クラウドで採用するFastContainerアーキテクチャの中のコンテナ(Haconiwa)の役割について。

FastContainerアーキテクチャは同社で働くまつもとりーさん(博士(工学))の提唱している概念で、ホスティングサービスで管理するコンテナの状態をリクエストに応じて動的に管理して(また再配置しやすいように資源を配置し)自動的な負荷分散を目指すものです(私の理解では)。

当日のトークでは、上述のホスティングサービスにおけるコンテナ(プロセス)の振る舞いや利用技術の特性を示しながら従来の単純なプロセスからの役割の変化を考察し、近年のコンテナの進化は『ホストから独立したより軽量な仮想化技術としての文脈クラウド的文脈)』と『システム上で動作する、より安全かつ利便性の高いプロセス技術ホスティング、またはHPC的文脈)』の両方の文脈がある、と述べていました(自己流の解釈が多分に含まれます)。

FastContainerアーキテクチャ自体も面白かったのですが、まとめを聞いた時に「そうなんだよなー。だから界隈によってコンテナの定義もブレてたり、聴衆によって求める特性が違ったりで発表が難しいんだよなー……。」という気持ちを抱きました。

これは例えば後者の文脈であげられるソフトウェア(SingularityとかBareMetalContainerとかShifter)は”仮想化”を目的としていないので、内容や運用の話をすると前者の仮想化の文脈では「これはコンテナなのか…?」みたいな反応になってしまうので、発表の導入に注意しないといけない。みたいなことを指します。

個人的には両方の文脈で興味があって、旧来は少し異なる思想を持っていた両者の文化が発展と共に同じ技術に辿り着いて、徐々に技術的に融合しつつある現状(クラウド環境をHPC的に利用するとか、逆にHPC環境をクラウドを介して提供する話とか、クラウドのソフトウェアスタックをHPC方面に提供するとか)が面白いと思っています。が、何処に話を位置付けて発表するのかはっきり意識しないと聴衆が混乱しはじめるので、気を付けないといけないですね。

が、最近はこの分野は一人で何でもかんでもやれるものではないなーと限界を感じつつあります。

ということで、HPS OPS研究会は大変楽しかったです。研究界隈のDevOps的な話を聞くだけでもエンジニアリングの興味を刺激されるので、個人的にとてもおすすめです。