こんにちは、芳澤です
近年、IoTやAIなどにともない、画像、動画、センサデータなどのデータを収集する機会がおおくなっています。これらのデータをすばやくリアルタイムに処理するためにIoTデバイスの近くにサーバを設置してそこでバッチ処理などを行ったりすることにより、その先のクラウドの負担を軽減させるエッジコンピューティングという技術が存在しています。
多くのデータを処理する場合、複数のサーバを用いてデータ量を分散して並列分散処理をおこなうことがあります。
しかしながら、それらの複数のサーバは同じスペックのサーバであるとは限りません。サーバごとに、処理速度、帯域幅などが違うということでデータを効率的に処理することができず、時間がかかってしまいます。
この課題に対して解決するアプローチとして先日、研究室内で以下の論文を紹介し議論を行いました。
- タイトル: Hetero-Edge: Orchestration of Real-time Vision Applications on Heterogeneous Edge Clouds
- 著者: Wuyang Zhang, Sugang Li, Luyang Liu, Zhenhua Jia, Yanyong Zhang, Dipankar Raychaudhuri (WINLAB, Rutgers University)
- 発表: IEEE INFOCOM 2019
- URL: https://ieeexplore.ieee.org/document/8737478
そこで、この論文では 処理を行うサーバや帯域幅がそれぞれ異なる状況下で、並列分散処理を行う際 、提案手法によってリアルタイム処理を実現することを目的としています。
この論文では、並列分散処理を行うフレームワークとしてApache Stormを採用しています。
そこから、独自の手法を用いて異種ノードのタスク割り当てを最適化すること、またApache Storm内でのboltと呼ばれる役割のlatencyの格差をなくすことにより、リアルタイム処理を実現できることが分かりました。