問題意識の共有
昨今の情勢
最近のゲームやスタンドアロンなVR機器の普及から分かる通り、あらゆるコンテンツが指数関数的にリッチに成長しています。
それに伴い、そういったコンテンツに対応できるデバイスはいわゆるハイエンドモデルと呼ばれるデバイスです。(デバイスのリッチ化が先という話もある)
しかしながら、皆が皆ハイエンドなデバイスを持っているわけではありません。
このような時代背景から、”計算リソースが枯渇しがち”という課題があると考えました。
高速化するモバイル通信:5G
5Gという新たなモバイル通信はより高速で低遅延かつ多台数接続が謳われています。
“超高速で低遅延で多台数接続”なので大抵のことが実現できますね!
思いついたアイディア
この超高速低遅延なモバイル通信が実現するならば、計算リソースをリアルタイムにシェアできるのではないかと考えました。
イメージとしては、”eGPUの間のケーブルを5Gに置き換えて、遠隔地にある計算リソースに計算を肩代わりさせる”という発想です。
もう一捻りしました。この遠隔地にある計算リソースとして、自分の計算リソースだけでなく他の人の使っていない計算リソースを使うという発想をしました。
計算リソースとシェアリングエコノミーを組み合わせようというアイディアです。
手法の提案
ぼくらの思い描く理想
ユーザーは2種類存在します。リソースを提供する人とリソースを借りる(使う)人です。
考えたしくみとしては、
- 提供者が使っていないときに計算リソースを共有するプラットフォームに自身のPCを接続
- 利用者がプラットフォームにある計算リソースを使いたいときに使いたいだけ使う
- 利用者は使った分だけ提供者にお金を払う
- 提供者は使われた分お金がもらえる(インセンティブ)から、使っていないときにプラットフォームにシェアしてくれる
- 提供者と利用者の間の通信は固定回線か5Gで超高速低遅延なのでリアルタイムな共有ができると期待している
他の事例/過去の事例
- Folding@home
- ネットワークを介して巨大な計算システムを構築するアイディア
- パブリッククラウド(e.g. AWS, Azure, GCP)
- 使いたい人が、使いたいときに、使いたいだけ使う
実際の実装
- 決済基盤は諦めた
- 計算リソースのシェアは2ステップ
- 計算リソースの集約
- K8sを使用して、提供者のコンピュータをワーカーノードとして管理
- 計算リソースの使用
- すべてのシステムに対応は無理なのでシステムを限る方針
- 今回はglmark2とMinecraft
- それぞれのシステムに対応したコンテナを作成→K8sのポッドにする
- 使いたい人の分だけポッドをデプロイ
- 外部から各ポッドに使用者がアクセスして使用
- すべてのシステムに対応は無理なのでシステムを限る方針
- 計算リソースの集約
実験
実証実験で知りたいこと
NTT docomoさんの協力があり実際に5Gを使って実験をすることができました。
私達は実験で”本当に5Gで実現できるのか”を実験することにしました。
対照実験として、端末サーバー室に1GbpsのLANを構築して実験します。
端末サーバー室での構成
端末サーバー室では、glmark2が表示でき、問題なくMinecraftがプレイできました。
実証実験での構成
まず、東京にサーバーを置いて広島のクライアントに表示する構成を示します。
次に広島にサーバーを置いて東京のクライアントに表示する構成を示します。
5G環境でできたこと
- 東京Serverにglmark2の計算をさせて広島Clients(4台のmac)に映像を転送する
- 広島ServerにMinecraftの計算を計算をさせて東京Clientsに映像を転送する。
5G環境でできなかったこと
- Minecraftのプレイ
- 東京側でマウスやキーボードの操作を行い、インタラクティブに映像が変化することを期待していたが、不可能だった
できなかった要因
- 純粋に5Gの通信速度が足りなかった
- VritualGLがネットワークの遅延を監視して送信する量を調整していた
まとめ
今回の実装(?)
今回の最終的な実装を以下に示します。実証実験ではK8sを使わずにDockerを直接建ててました。
プロジェクトの軽いまとめ
- 背景: リッチになり続けるコンテンツに対して枯渇しているモバイル計算リソースを補いたい
- 理想: 余ってる計算リソースを5G越しにモバイルデバイスで使いたい
- 現実: 5G越しに使用することはできなかった
- 今後: 今回はK8sだったけど用途に応じてVMが建てられるようにK8sとOpenStackを両方使ったものにしたい
情報/知識が欲しい
今回の実装では、集まっている計算リソースを上限にPodをデプロイしたりできるものができました。
しかし、当初の構想ではクラスターを支える物理の計算リソースをフレキシブルに追加したり取り除いたりできるものが作りたかったです。この方面に対して知見が無いので情報が欲しいです。
他のメンバーが書いたこのコンテストに関する記事
はじめに
お久しぶりです。てるふのです。
総務省が主催する、高専ワイヤレスIoT技術実証コンテストに採択されていました。
2019/05/28くらいから取り組んでいるので1年弱の長期プロジェクトでした。
この記事は総務省等の広報画像に埋め込んでいるQRコードからアクセスされることを想定して書かれています。
結果はコンピューティング大賞です。詳細は総務省が公開しているpdfを確認してください。
所属チームとチーム構成