Overlay Weaverができるまで

首藤 一幸

首藤一幸, "平成18年度論文賞の受賞論文紹介:Overlay Weaverができるまで",
情報処理, Vol.48, No.7, p.762, (社)情報処理学会, 2007年 7月 15日

受賞論文

首藤一幸, 田中良夫, 関口智嗣:
"オーバレイ構築ツールキット Overlay Weaver",
情報処理学会論文誌: コンピューティングシステム, Vol.47, No.SIG12 (ACS 15), pp.358-367,
2006年 9月

Overlay Weaverは,単純に言えば,分散ハッシュ表(DHT)ライブラリである.DHTとは,中心となるサーバ的なマシンのない,全ノードが対等かつ自律的な分散環境でハッシュ表の機能を達成する仕掛けである.後の概念整理で,DHTは構造化オーバレイの一応用であると位置付けられた.Overlay Weaverもそのモデルに従っており,ルーティング機能の上に,DHTだけでなくマルチキャスト機能も提供している.

オーバレイ研究には次の課題があった:(1)アルゴリズム面の研究を応用ソフトとして結実させるための労力が大きい,(2)アルゴリズム間の公正な比較が困難である.数百,数千ノードのシミュレーションで研究を進めた後,実環境向けの実装には別途数千ステップ以上の開発が必要となる.分散システムなので試験やデバッグも容易ではない.そもそも,数百台以上の実験環境などそうそうない.既存アルゴリズムとの比較をしようにも実装をまるごと比較する他はなく,差異がアルゴリズムによるのかソフトの設計や実装によるのかは判らない.

そこで私は,ルーティング処理からアルゴリズムに依存しない部分を切り離すことで,アルゴリズムの実装を容易にした.これにより,たとえばKademliaの場合,p2psim用の実装1796ステップに対し,Overlay Weaver用は290ステップで済んだ.Overlay Weaverは,オーバレイのアルゴリズムとしてChord,Kademlia,Koorde,Pastry,Tapestryの実装を提供しており,これらを切り替えて使える.これにより,応用に合ったアルゴリズムの選択や,アルゴリズム自体の公正な比較が可能になった.

Overlay Weaverが提供している分散環境エミュレータを用いると,PC 1台で数千ノードの実験を行うことができる.大規模な試験を手軽に繰り返しながらアルゴリズムを設計,実装し,品質を向上させ,その実装をそのまま実環境で動作させることができるのである.

こうして実装したChord他のアルゴリズムは,地球規模テストベッドPlanetLabの二十数ヵ国300台以上で稼働している.また,ブラジル,ロシア,英国,ハンガリーなど国内外での活用が進んでおり,Symphony,EpiChordといったアルゴリズムも実装された.

ワクワクと職業の間で

魔法のように感じられる技術が好きな私は,2000年に現れたGnutellaに興奮した.Gnutellaはそれまでのファイル共有ソフトとは違った.中央集権的なマシンは存在せず,自律的な多数のPCが連合することで,ファイル検索・提供という機能を提供していた.

DHTもまた非集中的な仕掛けであり,深く感銘を受けた.自分の手で経験したいと強く願いながら,職業研究者としては成果(例:論文)が見込めない限りは没頭するわけにはいかない,と自分でブレーキをかけていた.

その後,本研究の着想を得た.面白く,熱中でき,うまくいけば論文も,という見通しが立った.IPA未踏ソフトに応募することで,緊張感の中で開発を加速しようと画策する.しかし仕事上の事情により応募を断念.

2005年3,4,5月と,愛知万博の支援業務,任期なし研究員になるための審査準備,出張に次ぐ出張で過ぎていった.6月,今後取り組む研究の提案書という上司からの宿題に悩みつつ経過.7月,着手の許可を得た.

開発を始めた.前年度はどうも生産的な仕事ができなかったと反省したところ,約60日間も出張していたことが判った.そこで2005年度は出張を減らし,引きこもり状態で研究を進めた.その結果,秋口には形になり始め,その後品質を上げ,年明けには配布開始にこぎつけた.外に出ることは無論大切だが,そこにはトレードオフもある.ある先生の言葉を思い出す:「(ある種の)研究者にとって忙しいことはいいことではない」

ベンチャー企業に移ってからも,時間を見つけてこの研究は続けている.会社の生業であるソフト・サービス開発では個人々々の能力とエネルギーが成果を決定付けるため,それをいかに引き出すかに頭をひねっている.


首藤一幸 (正会員)
shudo at utagoe.com

ウタゴエ(株)取締役最高技術責任者. 1998年 早稲田大学助手. 2001年 産業技術総合研究所入所. 2006年より現職. 博士(情報科学). SACSIS2006最優秀論文賞. IPA未踏ソフト2006年度上期スーパークリエータ認定.


利用上の注意事項