Madoop: WebAssemblyを用いたWebブラウザベース分散処理フレームワーク
修士論文, 大阪大学
概要: 自由参加型の分散処理パラダイムである従来のVC: Volunteer ComputingをWebブラウザ上に拡張した,BBVC: Browser-Based Volunteer Computingというアイディアが登場している.BBVCでは,コードを埋め込んだページにブラウザからアクセスするだけで参加可能という手軽さに加え,世界中のインターネットユーザが対象になるという凄まじい潜在的処理能力が存在する.しかしながら,BBVCには幾つかの課題が存在する.課題の一つ目に分散処理プログラムの開発容易性の低さが挙げられる.分散処理の実現には,入力データの適切な配信やクライアント間の同期など様々な事柄を考慮しなければならず,開発容易性を下げる一因となっている.課題の二つ目に実行時性能の低さが挙げられる.BBVCではその特性上JavaScriptで処理を行うが,JavaScriptは実行時にソースコード解析を必要とするため,コンパイラ型言語と比べて性能が低く数値計算には向いていない.本稿では,これらの課題の解決を目的とした新しいBBVCフレームワークMadoopを提案する.MadoopではMapReduceとWebAssemblyを用いることで,開発容易性の確保と実行時性能の改善を実現する.また評価実験として,提案手法を用いて実際に分散処理を実行し,実行時間の長さを計測・比較することで,従来手法からの性能の改善度合いを確かめる.実験の結果,最も性能が向上した実験対象では,実行時間の長さが60%以上改善した.さらに,Madoopのより実践的なユースケースを示すため,PDG(プログラム依存グラフ)を用いたコードクローンの検出を適用実験として行った.
@mastersthesis{松尾裕幸2019,
author = {松尾 裕幸},
title = {Madoop: WebAssemblyを用いたWebブラウザベース分散処理フレームワーク},
school = {大阪大学},
year = {2019},
month = {feb}
}