鵜川 始陽 (うがわ ともはる/Ugawa, Tomoharu)

[English page in Kochi University of Technology]

東京大学
大学院情報理工学系研究科
創造情報学専攻
准教授
京都大学博士(情報学)

2020年10月に 高知工科大学 情報学群 から異動しました.

〒113-8656 東京都文京区本郷7-3-1
東京大学情報理工学系研究科創造情報学専攻
E-mail: うがわ@ci.i.U−TOKYOドメイン
TEL: 03-5841-4383
researchmap: https://researchmap.jp/ugawa


履歴


翻訳しました

ガベージコレクション 自動的メモリ管理を構成する理論と実装 (翔泳社)
ガベージコレクションの世界的な教科書 「The Garbage Collection Handbook」を翻訳しました.

研究

プログラミング言語とその処理系の研究をしています. JavaやJavaScriptなどのマネージド言語の実行系に 興味があり,特にガベージコレクションやハードウェア の特性に合わせた効率化に興味があります. 様々な角度から安全で効率のよい実行系を作る技術の研究をしています.

最近の研究テーマ

不揮発性メモリを使ったJavaの永続化ヒープ

突然電源が切れてもメモリ上のデータが失なわれない Java 仮想機械を目指しています. メインメモリに不揮発性メモリ(NVM)を使ったシステムでは, 電源が失われても NVMに書き込んだデータを保持することができます. しかし,データ構造を更新する一連の書込みの途中で電源が切れる可能性があり, NVM 上のデータを常に整合性がとれた状態にしておくのは至難の業です. キャッシュメモリから書き戻されたデータだけが NVM に書き込まれることや, マルチスレッドアプリケーションでは複数のスレッドが並行して NVM 上のデータにアクセスする可能性があることを考慮すると,なおさらです. この研究では,マネージド言語である Java を対象に,オブジェクトを NVM 上に配置して,突然電源が切れても再起動後に復元できる仕組みを開発しています. いつ電源が切れても復元できるよう,NVM 上のデータがどの瞬間も不整合な状態にならないことを保証しつつ, 性能を稼ぐのが難しいところです.

組込みシステム向けJavaScript処理系

IoT 向けのマイコンなどの組込みシステム(100 KB〜のメモリを想定)で動作する JavaScript インタプリタ eJS を開発しています.このインタプリタを使えば,JavaScriptのプログラム をそのままマイコンで実行できます. 組込みシステムは一般にメモリが少なく実行速度も遅いですが, 個々のシステムで実行されるプログラムは固定されている傾向があります. ブラウザの JavaScript エンジンは, どのようなプログラムでも実行できるようにするために仕組みが複雑になりがちです. eJS は対象のシステム毎に, そのシステムやそこで実行するプログラムに特化したインタプリタを自動生成します. このとき,不要な機能を削ぎ落し,使う機能だけが高速に動作するインタプリタを生成します.

大規模システム向け並行ガーベージコレクション

ビッグデータを扱う計算機システムは,大量のメモリを搭載し, ときにはテラバイトのデータを扱うこともあります.CPU コアも何十個もあり, 多数のスレッドが並行して動作します.そのようなシステムのアプリケーションを Java のようなマネージド言語で記述すると,ガーベージコレクションが問題になります. 何テラバイトものメモリ空間のガーベージコレクションを, アプリケーションの実行を一時停止して一度に行おうとすると,実行が長時間止まってしまいます. さらに,多数のスレッドが並行して実行していると,全スレッドを止めるだけでも大変です. この研究で開発した Transactional Sapphire は,スレッドを一斉に止める必要がありません. アプリケーションを一切止めることなく,並行してガーベージコレクションを行います. Transactional Sapphire は,コンパクションもアプリケーションを止めずに行います. しかも,オーバヘッドが大きいリードバリアは使いません. この研究で開発した軽量な書込みバリアのアルゴリズムを使って, アプリケーションとガーベージコレクションが調停しながらデータを移動してコンパクションします.

研究発表 (一部日本語preprint有ります!)

(DBLP)

受賞等

学会活動

プログラム委員長

プログラム委員

その他


リンク