MuMQ: A lightweight and scalable MQTT broker

© 2017 IEEE. A message broker is an imperative component in IoT systems, and it works as a gateway between IoT devices and application platforms. With the growth of IoT devices today, these systems can easily overwhelm message brokers unless the software can fully utilize hardware resources such as...

Full description

Saved in:
Bibliographic Details
Main Authors: Wiriyang Pipatsakulroj, Vasaka Visoottiviseth, Ryousei Takano
Other Authors: Mahidol University
Format: Conference or Workshop Item
Published: 2018
Subjects:
Online Access:https://repository.li.mahidol.ac.th/handle/123456789/42335
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Mahidol University
id th-mahidol.42335
record_format dspace
spelling th-mahidol.423352019-03-14T15:03:23Z MuMQ: A lightweight and scalable MQTT broker Wiriyang Pipatsakulroj Vasaka Visoottiviseth Ryousei Takano Mahidol University National Institute of Advanced Industrial Science and Technology Computer Science Engineering © 2017 IEEE. A message broker is an imperative component in IoT systems, and it works as a gateway between IoT devices and application platforms. With the growth of IoT devices today, these systems can easily overwhelm message brokers unless the software can fully utilize hardware resources such as multi-core facility. This paper presents muMQ, a high-performance MQTT broker running on Commercial-Off-The-Shelf hardware. It tackles the challenge to improve the performance of message brokering on a single machine by efficiently utilizing multi-core CPUs. First, muMQ exploits an event-driven I/O mechanism for multi-core scalability. Each CPU core equally handles dispatched TCP connections and locally processes MQTT logic. Second, muMQ adopts a user-level TCP/IP stack, mTCP with DPDK, to avoid the overhead of the in-kernel TCP/IP stack, including system call overhead and resource contention. We evaluate the effectiveness of our approach through experiments. The results show that muMQ can handle 512K or greater long-lived subscribers with no message loss; muMQ achieves a publish messaging rate at 930K messages per second, which is 5.38 times faster than an existing MQTT broker. We also confirm mTCP accelerates the performance by 1.8 times compared with muMQ using the in-kernel TCP/IP stack. 2018-12-21T07:19:43Z 2019-03-14T08:03:23Z 2018-12-21T07:19:43Z 2019-03-14T08:03:23Z 2017-07-07 Conference Paper IEEE Workshop on Local and Metropolitan Area Networks. Vol.2017-June, (2017) 10.1109/LANMAN.2017.7972165 19440375 19440367 2-s2.0-85027287337 https://repository.li.mahidol.ac.th/handle/123456789/42335 Mahidol University SCOPUS https://www.scopus.com/inward/record.uri?partnerID=HzOxMe3b&scp=85027287337&origin=inward
institution Mahidol University
building Mahidol University Library
continent Asia
country Thailand
Thailand
content_provider Mahidol University Library
collection Mahidol University Institutional Repository
topic Computer Science
Engineering
spellingShingle Computer Science
Engineering
Wiriyang Pipatsakulroj
Vasaka Visoottiviseth
Ryousei Takano
MuMQ: A lightweight and scalable MQTT broker
description © 2017 IEEE. A message broker is an imperative component in IoT systems, and it works as a gateway between IoT devices and application platforms. With the growth of IoT devices today, these systems can easily overwhelm message brokers unless the software can fully utilize hardware resources such as multi-core facility. This paper presents muMQ, a high-performance MQTT broker running on Commercial-Off-The-Shelf hardware. It tackles the challenge to improve the performance of message brokering on a single machine by efficiently utilizing multi-core CPUs. First, muMQ exploits an event-driven I/O mechanism for multi-core scalability. Each CPU core equally handles dispatched TCP connections and locally processes MQTT logic. Second, muMQ adopts a user-level TCP/IP stack, mTCP with DPDK, to avoid the overhead of the in-kernel TCP/IP stack, including system call overhead and resource contention. We evaluate the effectiveness of our approach through experiments. The results show that muMQ can handle 512K or greater long-lived subscribers with no message loss; muMQ achieves a publish messaging rate at 930K messages per second, which is 5.38 times faster than an existing MQTT broker. We also confirm mTCP accelerates the performance by 1.8 times compared with muMQ using the in-kernel TCP/IP stack.
author2 Mahidol University
author_facet Mahidol University
Wiriyang Pipatsakulroj
Vasaka Visoottiviseth
Ryousei Takano
format Conference or Workshop Item
author Wiriyang Pipatsakulroj
Vasaka Visoottiviseth
Ryousei Takano
author_sort Wiriyang Pipatsakulroj
title MuMQ: A lightweight and scalable MQTT broker
title_short MuMQ: A lightweight and scalable MQTT broker
title_full MuMQ: A lightweight and scalable MQTT broker
title_fullStr MuMQ: A lightweight and scalable MQTT broker
title_full_unstemmed MuMQ: A lightweight and scalable MQTT broker
title_sort mumq: a lightweight and scalable mqtt broker
publishDate 2018
url https://repository.li.mahidol.ac.th/handle/123456789/42335
_version_ 1763490111748571136