電通大の国際交流
国際交流センターホーム arrow 電通大の国際交流 arrow 国際交流事業 arrow 組織的な若手研究者等海外派遣プログラム arrow 各派遣者の報告 arrow 鵜川 始陽

鵜川 始陽情報・通信工学専攻 助教

派遣先:イギリス ケント大学
派遣期間:平成24年9月24日~平成24年12月24日

研究テーマ:プログラミング言語の実行時システムにおけるメモリ管理に関する研究

活動の概要

Richard Jones教授の研究グループに参加して、プログラミング言語の実行時システムにおけるメモリ管理に関する研究を行った。Jones教授はメモリ管理に関する世界的に著名な教科書「The Garbage Collection Handbook」の著者で、この分野の第一人者である。

この滞在では、マルチコアCPUを搭載した計算機上の言語仮想機械に適したごみ集め(GC)の研究を行った。GCとは自動メモリ管理機構のひとつで、Javaなどの近代的なプログラミング言語はGCを備えている。GCを備える言語の実行環境で多数のCPUコアを活用するには、ユーザプログラムとは別のCPUコアを使って並行にGCを実行する並行GCが有効と考えられている。しかし、GCをユーザプログラムと並行に実行するには両者の間で同期をとりながら実行する必要があり、同期による時間的なオーバヘッドを小さくすることが課題になっている。特に、メモリの空き要領が断片化した時に、それを解消するにはデータを移動させる必要があるが、それには多数の同期が必要になる。そのため、既存の実用的な並行GCではユーザプログラムの実行と並行して断片化を解消することを諦めている。本研究の目的は、断片化を解消する並行GCの同期オーバヘッドを実用的なレベルまで下げることである。

滞在中は、週2回の研究ミーティングで研究について議論した。それに加えて、プログラミング言語とそのシステムを研究するスタッフと博士課程の学生が参加するセミナーに参加した。セミナーでは、これまでに行ってきた組込みシステム向けGCについて講演した。

研究成果概要

Sapphire GCは断片化の解消まで行う既存の実験的な並行GCだが、同期オーバヘッドは大きい。本研究では、Sapphire GCを基にして、同期の粒度を粗くしたり不必要な同期を除去したりすることでオーバヘッドを小さくすることを目指している。
Sapphire GCの論文上では同期オーバヘッドや実装の詳細は示されていないので、本研究では、まずSapphire GCを研究に適したJava仮想機械であるJikes RVMに実装することを目標にした。滞在期間で、Sapphire GCの実装の半分程度を完了した。その中で、モデル検査を用いて検証しながら実装を進め、通常では発見が困難なバグを発見することに成功した。GCを検証する研究は存在するものの数は少なく、実例として価値がある。

帰国時点では研究の途中段階であるが、帰国後も定期的にskypeを使ったミーティングを行いながら共同研究を継続している。成果がまとまった段階で論文にする予定である。

国際化に関する所感及び提言

滞在先のケント大学には多くの外国人研究者が滞在しており、3ヶ月と短い滞在期間ではあったが、様々な国籍の研究者と個人的なネットワークを築くことができた。滞在先のスタッフだけでなく、そこに滞在している研究者とも意見交換することはよい刺激になったと思う。また、実質的に研究分野が近い研究者が同じ所属に何人も在籍しており、日常的に研究内容の意見交換をしているのが印象的だった。

作成日:2013年1月24日 / 更新日:2013年4月23日