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...
Saved in:
Main Authors: | , , |
---|---|
Other Authors: | |
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 |