軽量そしてスケーラブルなMQTTブローカ

こんにちは、大澤です。

近年、IoTという言葉をよく耳にします。
実際にIoTは、私たちの生活に欠かせないものとなり、こんなものにまでインターネットがつながっているんだと驚かされることもあります。
そのIoT機器は2021年に400億台を超える見通しと総務省の情報通信統計が示しています。
これらのIoT機器は単体ではあまり役だたず、IoTシステムに組み込まれて本領発揮します。
IoTシステムの通信部分によく使われるプロトコルにMQTTと呼ばれるものが存在します。
MQTTでは中央サーバのことをBrokerと呼び、センサデータの出版者と購読者の仲介をします。
IoTシステムでは接続数が多ければ多いほどBrokerの負担が大きくなります。

マルチコアのMQTT Brokerでさらに低遅延、高スケーラビリティな動作をするBrokerということでとても面白いと感じ、つい先日研究室内で論文紹介し議論を行いました。

  • タイトル: ”muMQ: A Lightweight and Scalable MQTT Broker”
  • 著者:
    Wiriyang Pipatsakulroj, Vasaka Visoottiviseth(Faculty of Information and Communication Technology (ICT), Mahidol University,Thailand)
    Ryousei Takano(National Institute of Advanced Industrial Science and Technology (AIST),Japan)
  • 発表:  IEEE Workshop on Local and Metropolitan Area Networks (LANMAN) 2017
  • URL:  https://ieeexplore.ieee.org/document/7972165

この論文では、マルチコアに対応、そしてDPDKを使用したmuMQというブローカについて設計、及び評価結果が紹介されています。
評価結果より、Mosquitto比で遅延が1/5程度(6万4千サブスクライバ時)、スループットは最大538%向上するという結果が紹介されていました。
IoTシステムの性能において様々な方向からアプローチし、Mosquittoと比べとても良い性能を発揮していることが分かりました。
(詳細は原論文を参照してください)