第1回海外留学報告書 2023/02/23
大滝理貴 シカゴ大学コンピュータサイエンス学科

シカゴリバー河口からみたダウンタウン

留学の経緯
2022 年 9 月からシカゴ大学のコンピュータサイエンス (CS) 学科で Ph.D. 課程に進学している大滝理貴と申します。専門はデータベースシステムです。2022 年の 3 月まで東京大学の工学部航空宇宙工学科に所属していました。本報告書では留学に至るまでの過程やシカゴでの生活について述べたいと思います。
私は学部で勉強していた航空宇宙工学から、博士での専攻を CS に変えました。飛行機やロケットの飛ぶ原理を知りたいという好奇心により学部は航空宇宙工学を専攻しましたが、当時から航空宇宙以外にも、特に CS の分野への興味もあり、学業の傍らソフトウェア開発アルバイトをしたり、CSの授業を履修することで、その興味を発散させていました。
振り返ると現在データベースシステムの研究をしていることのきっかけとなったのは、学部の時に受けた CS の授業だと思います。たしかコンピュータアーキテクチャの授業で、MOSI や MESI という並行プロトコルの説明を受けたのですが、並行に動くシステムなんてそれまで勉強した事がなかったので理解にとても苦しみました。なんとか理解した後も、こんな複雑なものどうやったら思いつくんだ…
、と呆気に取られていました。そして普段使っているコンピュータの裏側では想像もつかないようなプロトコルが走っていることを実感し、いつかはそれらを作る側に回れたらカッコいいな…と漠然と感じたのを覚えています。
そこからコンピュータアーキテクチャのみならず、分散データベースシステムなど、「並行性」をキーワードにいろいろなソフトウェアに触れていきました。そしていつの間にかデータベースシステムを自作してみたり、並行トランザクションエンジンを開発してみたりとデータベースシステムの世界にどっぷり浸かっていきました。勉強すればするほどデータベースシステムの中にはテクニカルなアルゴリズムやデータ構造が詰まっていることを知り、なんだこの面白いソフトウェアは...となっていきました。
そして、データベースシステムの研究開発は、自分の興味という点でも、分野の将来性という点でも、この先長くやっていけるだろうなと感じたのもあり、大学院での専攻はデータベースシステムにしようと決意しました。
実社会で用いられているデータベースシステムは、アメリカのジャイアントテックが開発したものがほとんどで、研究の主流もアメリカと言っていいと思います。そのため、自然とアメリカの大学院に行きたいと思うようになりました。しかしアメリカの CS 大学院受験は、世界各国から応募があり、競争が著しく激しいです。私は航空宇宙工学科に属していたのに加え、論文などの実績はなかったので、応募書類は訴求力に欠けていました。したがって合格率を上げるためには何かしらの手を打つ必要がありました。
アメリカの CS 大学院の博士課程は教授が学生を雇う形で採用される事が多いため、合格に一番近づく方法は、志望先の教授のもとでインターンをし、自分に CS や データベースシステムの素養があることをアピールすることだと思いました。当時は、コロナで全てがリモートワークに変わりつつあったので、日本から渡航せずインターンできるのではないかと思い、海外大の教授にメールでその旨送り、面接などのステップを踏んで、リモートインターンを開始しました。そしてプログラムの実装などを通してラボに貢献することができたため、教授に大学院受験の推薦状を書いてもらえる事となりました。
大学院はアメリカとカナダのデータベースシステム研究が活発な場所を受験し、幸いなことにいくつか合格をいただけました。合格した中で総合的に一番良いと思ったシカゴ大学に進学することにしました。シカゴ大学には現在データベースシステムに関する教員が 4 名在籍しており研究が活発であること、ボスと相性が良さそうだと感じたこと、研究室の学生が楽しそうに見えたこと、シカゴは都会（アメリカ第三の都市！）で娯楽面でも過ごしやすいだろうと感じたこと、などが決め手となりました。
後日談ですが、ボスになぜ自分を採用したのか聞いてみたところ、知ってる先生からの推薦状がありデータベースシステムの研究経験があるのがわかったからだと言われました。やはりインターンは効果的だったように感じます。私のように分野を思い切り変える方はインターンをして研究経験を積んでみるのも良いかもしれません。

近況
シカゴに来てから 3, 4 ヶ月が経ちました。はじめは治安や寒さなどの面に慣れるのに苦労しましたが、今はとても過ごしやすく良い街だと感じるようになりました。

治安
シカゴ（特に大学のある南部）は犯罪率が比較的高く、大学のメーリングリストでは、数ヶ月に一回程のペースで学生や教員が夜道を歩いている際に金品を脅し取られたというニュースが流れてきます。私はそのような経験はないですが、到着したばかりの時に日本と同じ調子で宅配物を置き配し、数時間放置してしまった結果、盗まれました。こんな感じなので、シカゴの治安は日本と比べては悪いとしか言いようがないですが、シカゴ大学は学生を守るために巨額をつぎ込み対策を講じています。シカゴ大学はアメリカの大学の中で一番大きい警察組織を持っており、大学周辺を歩けば 30 秒に 1 回くらいはパトロールしている人を見つけることができます。また夜 17 時以降は配車サービス(Lyft) を格安で使うことができるので、暗い道を徒歩で帰らなくて済みます。シカゴの治安に関して、はじめは本当におっかないなと思っていたのですが、来て数ヶ月経ち理解したことは、危機感を持って行動をしていれば事件に巻き込まれる確率はぐっと減るということです。大体の犯罪はシカゴ大学の西や南のエリアで起きているのでそのようなエリアに絶対に立ち寄らないようにし、さらにひとりで夜道を歩いたり、貴重品を目の届かないところに置いたりしないようにしておけば、事件に巻き込まることは殆どないように感じています。

寒さ
シカゴの冬は摂氏 -20 度ほどまで下がり、またミシガン湖上の空気との温度差によって風が強く吹くため、体感温度はとても低くなります。肌の露出部分がヒリヒリと痛むほど寒いので、外出時は帽子をかぶったり、手袋をはめたりして露出を小さくしてやり過ごす必要があります。ですが、外にいるのは実質大学と家の往復時のみなので、案外生きていけます。執筆現在 2 月中旬ですが、寒さのピークは既に過ぎたようで日中に氷点下降ることも少なくなり良い気温が続いています。-20 度程度を一度経験すると、 3 度 4 度などは小躍りしたくなるくらい暖かく、正直なところ心の中では既に春のような気分です。とは言っても、一般的にはシカゴの春は 5 月からと言われており、本格的にあたたかいと感じられるのはまだ先でしょう。

授業
シカゴ大学はセメスターではなくクオーターシステムを採用しており、各学期は 3 ヶ月ずつで年に 4学期あります。夏学期は授業がほとんど開講されないため実質研究のみを行い、その他の 3 学期で授業を履修します。PhD Candidacy Exam というのが3年の夏頃にあり、それまでに 9 つの授業をうける必要があります。したがって 1, 2 年の間は授業を各学期 1, 2 個取る必要があります。私は先学期に、Introduction to Mathematical Reasoning via Discrete Mathematics と Topics in
Databases: Resource Efficient Database Systems という授業を履修しました。前者は、数学のバックグラウンドがない学生向けの離散数学の授業で、後者は私のラボのボスが開講している輪読会でした。どちらもとても有用な授業でした。前者は離散数学の証明問題をひたすら解く授業で、とても厳しく採点されたため、英語で証明を記述する練習になりました。後者は、毎週ボスが選んだ論文を読み議論していく授業でしたが、ボスやこれから共同研究をしていくラボメイトと研究テーマに関するコンテキストを擦り合わせることができたので良かったです。

研究
私たちのラボのキーワードはデータベースの “Resource Effciency” で、クエリのスケジューリングや実行計画を工夫し、リソース（CPUやメモリ）配分を適切に行うことで、クエリの処理コスト（レイテンシやメモリ使用量）を削減することについて研究しています。例えば、全体の平均レイテンシを下げるためにある一つのクエリの実行を延期したり、メモリ使用量を削減するためにあるクエリの計算結果を別のクエリに転用したりすることを考えています。今はクエリの Suspendability について特に注目しており、処理時間の長いクエリの実行を一時中断したい場合に途中結果を維持したまま中断する方法について研究しています。クエリの途中停止を可能とすることによって、処理時間の短いクエリが途中で投げられた場合に短い処理を優先して実行し全体の平均レイテンシを下げつつ、長いクエリの途中結果を無駄にすることなく実行することができるようになります。 このようにリソースの無駄をなるべく排除することで、コンピュータの消費電力を抑えることのできる環境に良いデータベースの開発を目指しています。