- 著者
-
牧野 青希
橘 直雪
大越 匡
中澤 仁
- 雑誌
- 研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
- 巻号頁・発行日
- vol.2022-OS-154, no.4, pp.1-8, 2022-03-07
クラウドサーバ型コンピューティングの普及に伴い,アプリケーションプログラムの実行にサーバレスアーキテクチャ(Function as a Service, FaaS)を採用できるようになった.この FaaS プラットフォームでは,一つの物理マシンの上で複数のユーザアプリケーションをホストし,アプリケーション同士の隔離のために Docker 等の Linux コンテナ環境や仮想マシンを用いることが多い.しかし,コンテナや仮想マシンの構築処理(コールドスタート)によるオーバヘッドは大きく,AR/VR/MR,自動運転車など,常に低遅延性を要求する用途で問題となる.その対処としてコンテナ・仮想マシンを常に準備状態にすることは,より多くのメモリ空間を消費し続け,ホスト可能なアプリケーション数の減少につながる.この問題の回避のために,コンテナに代わって WebAssembly を採用する試みがあるが,コンテナに比べて処理速度に劣る.そこで本研究では,準備状態のコンテナ環境を減らしながら短い応答時間を安定して実現する方式として,コンテナと WebAssembly を切り替えながら処理を行う手法を提案する.提案手法では,構築を含めたコンテナの処理時間,WebAssembly の処理時間をそれぞれ記録し,より早く応答できる方式を推測・選択する.これにより,コンテナのコールドスタートの問題,WebAssembly の処理速度の問題を同時に解決する.この提案手法のプロトタイプ実装における評価実験では,コンテナのみ・WebAssembly のみでの実行方式に比べて,常に適切な切り替えを行えること,応答時間に対するコールドスタートによる影響が減少すること,また準備状態で待機するコンテナ数が減少することが確かめられた.