meta-something

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

スイスで3ヶ月間の留学を完走した感想

昨年2017年秋~冬にかけて経験した3ヶ月ほど滞在したスイスのCSCSで行った海外留学について書いてみます。ほとんど研究内容には触れず、かなり一般的な話です。タイトルにある通り、研究というよりもただの感想です。

海外留学の概要

  • 滞在場所
    • Lugano, Switzerland
  • 渡航期間
    • 2017年9月中旬 ~ 2017年12月中旬(約3ヵ月間)
  • ホスト機関
    • Swiss National Supercomputing Centre
      • (Italian: Centro Svizzero di Calcolo Scientifico; CSCS)
  • 研究内容(ざっくり)

CSCSについて

www.cscs.ch

  • スイス連邦工科大学(ETH Zurich)の運営するスーパーコンピューティングセンター
  • 正式名称はSwiss National Supercomputing Centre (Italian: Centro Svizzero di Calcolo Scientifico) で、イタリア語の頭文字を取って CSCSと呼ばれる
  • 2017年7月のTOP500において3位にランクインしたPiz Daintを運用している
  • スーパーコンピューターに関連するインフラ基盤から応用研究のアプリケーションまで、HPC分野の研究者が幅広く所属する

f:id:MetaVariable:20180405142654j:plain
山頂から見下ろしたルガーノ湖と市街

全体的なスケジュール

時期 内容
2016.12 - ? 受け入れ先の候補を探す
2017.3 - 2017.4 受け入れ交渉
2017.4 - 2017.5 滞在ビザ等の調整
2017.9.19 渡航(日本→スイス)
2017.12.15 帰国(スイス→日本)

受け入れ先の交渉(?)

もともとHPC環境向けのコンテナ型仮想化OSSであるSingularityShifter等に興味があったので、主にコンテナ型仮想化をキーワードに関連する論文の著者や研究機関を探していたところ、色々な幸運に恵まれてShifterの研究開発・運用を行うCSCSに海外留学(インターンシップ)として参加できることになった。

スイス渡航にあたってのあれこれ

スイス渡航にあたって少し面倒だったのがビザの扱い。 基本的には90日以内の滞在の場合、日本国籍の人はスイス入国にビザ/査証は必要ない大使館情報)のだが、今回の滞在はこれが適用できなかった(微妙に合計90日を超えていたので)。

上記が適用できない場合、スイスの居住地を管轄する現地の行政組織(カントン)に滞在許可発行確認書を直接申請する必要があるのだが、現地の行政機関のページを覗いてみると日本語はもちろん英語情報もなく、イタリア語だったため、非常に困った。

結局、留学先の事務担当の方に必要書類を取得して頂いて、国際郵便で届けてもらうことで解決した。留学にあたっては受け入れ機関の事務の人が手続きしてくれる場合が多いらしいので、頑張って英語メールを書きましょう。

研究環境とか開発環境とか

今回はCSCSでHPCシステム(PizDaintを含む)の運用や研究開発を担当するHPC Operasions部門のSystem Integration Teamに参加して3ヵ月間を過ごした。 共同研究者用の広めのスペースでデスクを1つ借りて、持ち込んだSurface Bookで毎日Shfiterのコーディングしたり、テスト環境でコードをテストしたり、開発中コードの性能をメンバーと議論したり。

ミーティングはほぼ毎週行われ、進捗状況・計測データ・採用したアルゴリズムなどを資料にまとめて、事前にSlackで共有後に30分~1時間程度メンバーと方針について議論をしていた。開発中の性能測定やデバッグにあたってはPizDaintを利用できた。また、サクッとベンチマーク走らせたりする上ではPizDaint上のShifterは結構便利だったので、個人的にはやっぱりHPC環境でもコンテナ使いたい。

ちなみにミーティング資料について特に何も指定がなかったのでMarkdownで書いていたが、Visual Studio Codeの機能含めてわりとウケは良かった。(Visual Studio CodeのMarkdown Preview機能 + PDF変換プラグイン

また、内部のソフトウェア開発ではGitLabをベースにしたCIパイプラインが運用されていて、

  1. 内部ネットワーク上でホストしているGitLabからcloneして開発
  2. PullRequest等をトリガーにGitLab CIのパイプライン開始、仮想テスト環境(Vagrant, Docker)を立ち上げてテストを実行
  3. テスト結果を見ながらレビューしたり諸々、大丈夫ならマージ
  4. コードマージ後、実テスト環境(PizDaintと同じ構成のマシン)で諸々の検証
  5. 問題なければ実際にリリース

という流れで開発と運用が行われていた。CS系の研究機関としてちゃんと開発ツールを使っている感じがあり、個人的にはとても居心地がよい場所だった。

最終日には滞在中の研究成果をまとめてCSCSスタッフの前でプレゼンテーションを行った。流石に緊張したが、それなりにスライドも作り込んで話したのでムードも悪くはなく、よい経験になったと思う。

f:id:MetaVariable:20180405143008p:plain

人間関係とか

基本的には毎日チームメンバーとお昼を一緒に食べていたのと、帰国前の最後の週にはメンバーの家でチーズフォンデュパーティーをしたりできたので、かなり仲良くなれたように感じる。

特にチームメンバーに過去に日本の国立大学で5年間ほど研究員をしていた人(ただし日本語は話せない)がいて、日本という共通のネタがあったこともあって、研究でも日常生活でも大変にお世話になった。また、チームメンバー以外でもスタッフ向けのパーティーやExcursionに参加して交流できたので結構充実していた。

その他

  • 居住地がイタリア語圏だったので主食がピザ、パスタ、ケバブ。深刻な野菜不足
  • 研究施設では英語が通じたが、市内は全くわからないイタリア語なので大変だった
  • 物価が高い(適当に安いものを食べても約10CHFくらい(≒約1200円)する)
  • 店舗の閉店時間が早い(19時には大手スーパー含めて閉店、日曜日は何処も開いていない)

完走した感想

これまでも学会等で何度か海外出張に行く機会はあったものの、1ヶ月以上の長期滞在は初体験だったので、大変に緊張していた。とはいえ2週間も経つ頃には、同じコンピュータサイエンスの背景知識があれば多少不完全な英語でもミーティングは可能で、難しい表現がなくとも日常会話はできるということがなんとなく理解できて、いつの間にかすっかり生活に馴染んでしまった。

1ヶ月も経つ頃には宿泊施設のキッチンでのんびり料理しながらチームメンバーオススメの専門書を読むのを楽しんだり、週末にはまた別の人にオススメされた観光地に旅行へ行ったり、CSCSでの研究作業が順調だったのもあって、いつの間にか海外での研究生活を楽しむ自分が居た。

興味がある対象の研究開発ができて、目の前のことに集中できる環境って、素晴らしいですね。。。

特によく言われる「限られた時間で最大限の仕事を行う」という意識はチームメンバーとの議論でも強く伝わってきたので、この意識は日本に持ち帰ってからの研究にも活かしたいところです。

おまけ:週末の旅行

欧州に長期滞在する機会は今後あるかわからないと思ったので、週末には長距離バスでイタリアの首都(ミラノ)、特急で片道4時間でヴェネツィアに旅行に行ったり、電車でチューリッヒに行ったりした。文化的な土台が違うと街並みも観光の名所も違って面白いですね。特にヴェネティアは人生で最も行ってみたい場所だったので、旅行的な意味ではもう悔いがないです。

f:id:MetaVariable:20180405142429j:plainf:id:MetaVariable:20180405142330j:plainf:id:MetaVariable:20180405141722j:plain
欧州旅行(ミラノチューリッヒベネツィア