电子工程专辑
UBM China

高效轻型线程助力提高Linux实时性能

上网日期: 2012年07月17日 ?? 作者: Michael Christofferson ?? 我来评论 字号:放大 | 缩小 分享到:sina weibo tencent weibo tencent weibo


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友

关键字:数字麦克风? 数字增益? 前置放大器?

简介

上个世纪,研发人员投入了大量精力提高Linux实时性能和行为,最著名的是PREEMPT_RT Linux实时扩展。最近,研发人员致力于研究适用于多核设备的Linux用户空间解决方案,该解决方案允许从用户空间中直接访问基础硬件,从而可避免因将Linux内核引入用户空间应用而带来的额外系统开销。这些用户空间扩展(有多个)已首先由电信/网络高性能 IP 数据包处理系统进行驱动,以实现所谓的“裸金属”实施,其中,多核设备中的Linux用户空间应用可以模拟“无操作系统”解决方案的执行过程,即在每个内核上进行简单“运行到完成”、轮询循环,以便进行数据包处理。在从根本上实现该目标的同时,该解决方案仍可用于非常特殊的用例。还有其他需要提高性能的用例无法通过以上解决方案完全解决吗?如果有的话,请列举出来,是否可应用更完善的Linux实时改进?答案是肯定的,采用Linux用户空间轻型线程 (light-weight threading, LWT) 即可。我们来研究一下实时 Linux,以及轻型线程如何能成为适用于某些应用的解决方案。研究的重点受电信、网络或常用通信应用的影响,Enea侧重于这些应用中采用的技术。但总体上来说,对轻型线程的重点应用会使多方受益。

实时Linux及其解决的问题

在过去的10 年中,Linux 已在实时性能和行为方面取得了显著的进步,满足了大量应用的需求。具体归纳如下:

PREEMPT_RT

PREEMPT_RT也许是Linux实时扩展取得的最显著的成就,PREEMPT_RT数据包解决了多核设备Linux中存在的特别棘手的问题,即“中断延迟”问题。将事件/数据传送到真实用户空间应用之前,处理Linux内核中的中断占用的系统开销非常高 - 该系统开销往往会延迟其他中断,从而增大发生中断时测得的中断信息接收方进行处理的总体延迟。同样,Linux内核中还有许多所谓的“重要部分”,可在其中通过自旋锁禁用中断。标准Linux内核的总体中断延迟与许多实时应用的最重要的中断延迟要求不符,特别是无线接入网(移动)和移动核心基础设施,这两者要求最差情况下的中断延迟应在20-30微秒范围内。这一点也适用于许多其他市场应用。在快速“nutshell”PREEMPT_RT中,这一问题是通过以下方式解决的:

●将全部设备驱动器中断句柄传递到可调度线程中,这样可最大程度地减少Linux内核对中断的处理工作,因此,无需等待前一中断处理完成便可处理新中断。之后,中断处理会变为受优先级驱动,根据用户需求,会先完成优先级最高的中断处理。

●将Linux内核中的所有死空间自旋锁传递到互斥量中,从而允许其他内核线程代替内核空间自旋锁运行。

基本上,PREEMPT_RT已根据非常高性能的实时标准将总体中断延迟成功缩短,这样对大量Linux应用都非常有帮助。要了解具体应用?请继续往下读。

用户空间Linux调整

如上文所述,近年来,研发人员对Linux用户空间应用投入了大量精力。目的是避免用户空间应用(Linux 用户对其附加价值投入了大量精力)占用Linux内核本身的系统开销来处理某些特定的设备/中断交互。Linux采用的模型可极大程度地防止用户空间应用受到内核的影响,在该模型中,所有用户空间操作(包括线程)始终会映射到Linux内核,以便处理其I/O请求。这样便Linux具有强大的行为和特性。但是,对于数据处理性能非常高的应用来说,即使采用PREEMPT_RT,Linux也会有短时故障,这是因为,总是需要进行Linux内核上下文切换才能直接访问硬件。用户空间Linux实施允许应用在不涉及Linux内核的情况下直接访问硬件和中断,并可极大程度地提高性能。但这种性能提升只能在I/O密度极高的环境中实现。大部分Linux用户空间调整都侧重于单线程应用(如高性能数据包处理),其中,Linux下只有一个线程用于模拟多核设备中的“无操作系统”性能。

下一页:多线程问题


1???2???3???4?下一页?最后一页





我来评论 - 高效轻型线程助力提高Linux实时性能
评论:
*? 您还能输入[0]字
分享到: 新浪微博 qq空间
验证码:
????????????????
?

关注电子工程专辑微信
扫描以下二维码或添加微信号“eet-china”

访问电子工程专辑手机网站
随时把握电子产业动态,请扫描以下二维码

?

5G网络在提供1Gbps至10Gbps吞吐量方面具有很好的前途, 并且功耗要求比今天的网络和手机都要低,同时还能为关键应用提供严格的延时性能。本期封面故事将会与您分享5G的关键技术发展,以及在4G网络上有怎样的进步。

?
?
有问题请反馈
推荐到论坛,赢取4积分X