论文部分内容阅读
基于通用处理器(GPP,general purpose processor)平台的通信系统是第五代移动通信(5G,5th Generation Mobile Communication)技术发展的研究热点之一。这种具有通用性、开放性、灵活性的模式使移动通信的发展摆脱了对专用硬件的依赖,结合网络切片、虚拟化等技术可以增强系统的适应性和可扩展性,实现通信功能的快速迭代。但基于GPP平台的通信系统仍面临着实时处理能力不足的挑战。本文从Linux内核调度算法的角度出发,改善基于GPP平台的通信系统性能,如实时性、传输速率等。 开放空中接口(OAI,Open Air Interface)是一个基于GPP的开源软件定义无线电(SDR,Software Defined Radio)平台。OAI将通信系统的计算任务分解成多个并发的线程,并通过Linux内核调度运行。所以,Linux内核调度算法决定了内核对线程的调度方式,直接影响系统的性能,如实时性、传输速率、CPU使用率等。文章首先介绍了基于OAI和GPP搭建的Open5G平台,包括其架构和搭建流程。在此基础上,文章主要完成了以下工作: (1)分析了OAI平台的多线程调度机制,主要包括平台基站和终端线程的原理和流程以及线程间同步机制。此外,文章研究并比较了Linux常用的内核调度算法,重点研究了最新的基于截止时间的调度算法SCHED_DEADLINE,包括其原理和处理流程,并推导了算法的准入条件。 (2)研究两种实时类调度算法SCHED_DEADLINE和SCHED_FIFO(先进先出算法)基于多线程调度机制的实现。文章基于SCHED_DEADLINE算法的原理搭建了其在Open5G平台中的参数模型和线程运行时间的自适应模型。在此基础上,通过实验比较了两种调度算法在实际平台中的性能表现。结果表明:相比SCHED_FIFO调度算法,SCHED_DEADLINE的时延降低了28.38%,同时CPU使用率提高了36.53%,拥有更好的时间响应性能和CPU使用率。 (3)平台的线程在创建后被随机分配到CPU上运行,这可能导致并发的线程抢占CPU而无法及时完成处理。针对这个问题,在多线程调度机制和调度算法理论分析的基础上,通过设置线程的CPU亲和性将平台线程合理地分配到不同的CPU上运行,使Open5G平台下行速率从平均3.44Mbps上升到稳定的32.05Mbps,改善了平台的下行传输速率和稳定性。