基于排队理论的物联网发布/订阅通信系统建模与优化
论文标题
-
英文标题:Queuing Theory-Based Modeling and Optimization of a Publish/Subscribe IoT Communication System
-
中文标题:基于排队理论的物联网发布/订阅通信系统建模与优化
作者信息
-
Franc Pouhela
-
Anthony Kiggundu
-
Hans D. Schotten
论文出处
本文是一篇会议论文,发表于2025年1月。论文链接为:https://www.researchgate.net/publication/388221957。
摘要
本文提出了一个基于排队理论的物联网(IoT)发布/订阅通信系统的全面模型。利用马尔可夫(M/M/1)排队过程,对中间件消息队列协议(MMQP)代理的消息传递进行了建模、分析和优化。研究推导了关键性能指标,如平均等待时间、系统利用率以及多线程对性能的影响。该模型旨在通过确定代理服务率与消息到达率之间的最佳关系来优化系统的吞吐量和效率。通过实验评估,验证了模型的准确性及其在改进物联网通信中的价值。
引言
随着分布式系统中高效、可扩展和连续的数据收集与处理需求的增加,尤其是在5G和未来的6G网络背景下,物联网(IoT)通信的上下文感知需求愈发显著。通过在网络操作的不同层集成人工智能(AI),实现上下文感知的物联网通信成为一个重要方向。消息队列遥测传输(MQTT)协议作为一种轻量级消息协议,在物联网和机器对机器(M2M)场景中被广泛使用。然而,MQTT在某些方面仍有改进空间。为此,本文设计了一种类似的协议——中间件消息队列协议(MMQP),以提高效率、灵活性、可扩展性和安全性。为了确保代理在不同网络条件下的最佳性能和可靠性,本文利用排队理论对其行为进行了数学建模。
相关工作
发布/订阅通信范式在分布式系统和物联网应用中得到了广泛研究。MQTT和高级消息队列协议(AMQP)是这种范式的两个主要实现,它们在消息分发和服务质量(QoS)管理方面具有相似的机制。排队理论已被广泛应用于通信系统的建模和优化。Kleinrock开创了使用排队模型分析网络性能的先河,为后续研究奠定了基础。近年来,研究者们利用排队模型分析了无线和移动网络的性能。Eugster等人对发布/订阅范式进行了全面综述,概述了各种设计选择及其对系统性能的影响。针对MQTT,研究者们也对其设计和实现进行了研究,强调了其在资源受限环境(如物联网)中的适用性。
通信系统
高效的物联网通信在很大程度上依赖于所选择的消息模式和协议。本文介绍了一种新的协议——MMQP,它是一种专为物联网和M2M通信设计的轻量级二进制协议。MMQP允许客户端通过一个中央分发节点(代理)间接通信。客户端既可以作为发布者,也可以作为订阅者。订阅者通过订阅特定主题来表达对消息的兴趣,而发布者则将消息发布到这些主题。代理通过管理主题层次结构,将消息从发布者分发到适当的订阅者。
消息路由
在MMQP中,主题作为关键标识符,用于组织和分发消息。这些主题由代理以层次结构管理,并以字符串形式表示,多个级别之间用正斜杠(“/”)分隔。当客户端发布消息时,代理会分析主题层次结构以识别适当的订阅者,并将消息转发给对确切主题或其任何父级感兴趣的订阅者。
服务质量
MMQP支持三个级别的服务质量(QoS):
-
QoS 0(最多一次):尽力而为的传输,不保证消息确认。
-
QoS 1(至少一次):发送方发布消息,接收方(代理或订阅者)确认收到。如果未收到确认,发送方可能会重发消息。
-
QoS 2(恰好一次):保证消息仅被传递一次,涉及两步过程。
系统建模
排队理论是研究等待线或队列的数学工具,用于建模为随机到达的客户提供服务的系统行为。本文利用排队理论对通信系统进行建模,以分析和预测系统在不同负载条件下的行为。典型的排队系统由客户到达过程、服务过程和队列规则(决定服务顺序)组成。本文采用的M/M/1模型是最简单的排队模型,其中到达过程遵循泊松分布,服务时间呈指数分布,且只有一个服务器。
系统动态
为了有效建模通信系统,本文提出了一些关键假设,以简化系统的复杂性,同时确保模型能够准确反映其行为。这些假设包括:
-
遵循先进先出(FIFO)队列规则。
-
消息可靠地传递给订阅者。
-
代理作为单服务器队列运行。
-
系统处于稳态,允许使用稳态概率分布。
-
K和S分别表示发布者和订阅者的集合。
-
µs≥0表示订阅者s的服务率。
-
λk≥0表示发布者k的到达率。
总体到达率
本文的排队模型如图5所示。左侧是发布者集合K,其随机消息到达率用λ1、...、λk表示。右侧是订阅者集合S,每个订阅者都有其各自独立的服务率µ1、...、µs。中间的代理在M/M/1队列模型中充当服务节点。每个发布者k以独立的速率λk广播消息,该速率遵循泊松分布。系统的总体到达率可以描述为所有发布者到达率的总和,这也导致了泊松分布。
总体服务率
本文有一个单一的代理,它将消息转发给一组订阅者S。每个订阅者s都有一个指数分布的服务时间,其服务率用µs表示。系统的总体有效服务率µ可以定义为所有订阅者服务率的总和。这个组合服务率µ表示所有订阅者共同处理消息的预期速率。
稳态指标
流量强度ρ定义为ρ=λ/µ,它有助于确定系统的负载。当ρ<1时,系统是稳定的,这意味着代理可以处理传入的消息,而不会使队列无限增长。如果ρ≥1,系统不稳定,队列长度可能会无限制地增长。系统中消息数量的稳态概率分布为P(n)=(1-ρ)ρ^n。系统的平均消息数量为L=ρ/(1-ρ),消息在系统中的平均停留时间(包括等待和服务时间)为W=1/(µ-λ),消息在队列中等待的平均时间为Wq=ρ/(µ-λ)=λ/(µ(µ-λ))。
优化约束
为了优化通信系统,本文提出了一个优化问题,旨在最小化延迟(平均等待时间),同时确保系统稳定并最大化吞吐量。关键目标是优化代理的消息服务率µ,同时保持等待时间在可接受范围内。然而,随着服务率µ的增加,通常会带来额外的运营成本(例如,更多的处理能力、更高的网络带宽、更高的内存使用等)。因此,需要在优化目标中纳入与服务率增长相关的成本项。
实验评估
本文利用自定义的MMQP代理进行了实验评估,该代理用C++17实现,兼容Windows和Linux操作系统,并利用Asio库进行跨平台的异步网络和低级I/O操作。代理的软件架构基于实体-组件-系统(ECS)设计模式,以实现灵活和可扩展的行为。
测量设置
实验数据是在配备11代英特尔酷睿i7-11800H处理器和32GB RAM的笔记本电脑上收集的。在实验设置中,发布者以100ms(10Hz)的频率向代理发送消息,消息负载大小从10B到10K不等,代理将消息转发给订阅者,同时测量消息和字节的到达率和服务率。此外,还测量了不同线程数量(从1到8)对系统性能的影响。
n客户端的测量
在这种场景下,发布者和订阅者的数量相等,且处于单线程模式。实验结果表明,随着客户端数量的增加,到达率呈线性增长,表明每个额外的客户端都会为代理带来几乎恒定的消息负载增加。服务率随着客户端数量的增加而显著增加,这表明更多的客户端连接到代理会生成更多的消息,系统需要处理这些消息。系统利用率ρ=λ/µ的值随着客户端数量的增加而降低,这表明代理的服务能力能够有效地扩展,使系统在流量增加时保持低利用率、高响应性和操作稳定性。
多线程测量
在这种场景下,通过增加工作线程的数量,同时保持负载大小和客户端数量不变,测量代理的到达率和服务率。实验结果表明,随着线程数量的增加,到达率略有下降,这可能是由于线程之间的上下文切换导致的。服务率在增加线程数量时保持相对稳定,这表明增加线程数量对代理的整体服务率影响不大。
优化结果
根据优化模型,本文计算了一些值,以观察最优服务率µ如何响应惩罚参数ϵ和到达率λ的变化。随着λ的增加,最优服务率µ明显增加,这表明µ必须与λ成比例增长,以保持系统稳定。此外,µ对λ的变化比对ϵ的变化更敏感,这有助于避免对系统进行过度惩罚,减少为了保持低运营成本而过度丢弃消息的需要。
结论与未来工作
本文通过实验评估,展示了将排队理论应用于建模和优化发布/订阅通信系统的潜在好处。实验结果表明,到达率λ主要驱动最优服务率µ*的增长,以确保系统稳定,而惩罚参数ϵ通过在延迟降低和成本效率之间进行平衡来调整这种增长。所提出的优化方法为开发更有效的管理消息队列的算法提供了基础。未来的研究应专注于使用更多真实世界的数据来提高优化的准确性。此外,实施各种机器学习算法以预测流量增长并确定最优的惩罚参数,可以进一步增强延迟和资源利用之间的平衡。