查看原文
其他

@程序员,解读 5G 中性命攸关的时延! | 技术头条

欧阳琦玮 CSDN 2019-04-24


作者 | 欧阳琦玮

责编 | 郭芮


「命悬一线」大概是赛车电影最大的high点,主角在影片中无数次躲过一劫,但这种幸运未能在现实中延续。


2015年《速7》上映,依然大卖,而Brain的扮演者Paul Walker在两年前死于车祸。当时他刚参加完一场车展,邀请朋友一起试驾他的新保时捷GT,由于车速过高,失控的GT撞车爆炸,两人当场死亡。


在Paul之外,全世界每年有近140万人在交通事故中丧生,有2000-5000万人在交通事故中受伤(WHO, 2018),全世界每年因为交通事故造成的经济损失,约为2万亿美元。


如果分析车祸的诱因,避不开一个关键的概念——「时延」。


若有各类传感器、电子系统与5G网络的介入,就能对潜在风险进行预判并提前进行干预,大大提升驾驶安全。本文就来谈谈性命攸关的「时延」,希望能帮助大家更好地理解这个问题。


《速度与激情》撞车片段



什么是时延?



时延常常发生在因果关系中。


举例而言,当你对大山喊话的时候会听到回声,这里你的喊话是“因”,听到回声是“果”。喊话和回声之间的时间差,就被称为“时延”。


当你对着镜子摆POSE,摆POSE这个动作是“因”,看到镜子里面的你同样在摆POSE是“果”,摆POSE这个动作和看到镜中POSE的时间差,也被称为时延,只是这个时延非常短暂,超出了人类觉察的极限,是“超低时延”。


如果我们把镜子变成摄像机,把摆POSE变为网络直播,那么演员做出动作和观众看到动作的时间差,也是“时延”。


在“因”和“果”之间为什么会有时延?


因为声音和光的传输需要时间,无线电波的传输需要时间,影像和语音资料的编码、解码都需要时间。简单的说,我们可以把时延分为网络(传输)时延,和处理(运算)时延。


要想降低总时延,就要从传输时延和运算时延分别入手进行优化。


以当前4G(LTE)网络为例,当通过4G网络观看手机视频的时候:


总网络时延

=

网络传输各个节点之间的时延总和

=

空口时延

从用户设备(如手机)到基站的时延(耗费的时间)

+

回传时延

数据从基站回传到核心网的时延(耗费的时间)

+

核心网处理时延

+

核心网到应用服务器的时延

比如从核心网到腾讯视频的服务器耗费的时间



上面公式中的每一个部分都可以进一步分解,比如:


空口时延

=

队列时延

+

帧定位时延

+

……

(此处略去300字……)



与回声类似,手机和服务器如果要完成一个交互,就需要信息在两端完成一个往返。这时候前面提到的传输过程*2,相应的,时延也加倍,这叫做端到端时延(End to End, or E2E Latency)。


出于简化讨论的目的,我们忽略网络本身的结构复杂性,只讨论网络(传输)时延,和处理(运算)时延。



道路安全、速度以及时延的重要性



交通事故引发的人身及经济损失


全世界每年有近140万人在交通事故中丧生,有2000-5000万人在交通事故中受伤(WHO, 2018),全世界每年因为交通事故造成的经济损失,约为2万亿美元。


汽车制动距离


汽车行驶中的时速通常为几十到一百公里。如果考虑到两车相向行驶的情况,则相对速度可能达到200-300 千米/时,即56-83米/秒,也就是说每秒通过的距离可以覆盖12-18辆车身的长度。提前一秒制动的价值,也许是几十米的制动距离以及大大降低的伤亡数量。


驾驶员反应时间


紧急停车时,除了考虑车辆本身的刹车距离,还需要考虑驾驶员的反应时间。各类传感器、电子系统和5G的介入,能够对潜在风险进行预判并提前进行干预,大大提升驾驶安全。下图列示了不同速度下的制动距离:


不同时速下的紧急制动距离(基于英国交通部的数据整理)



5G针对车联网进行了技术优化



数十种降低时延方案


针对车联网、自动驾驶和VR等场景中的超低时延需求,工程师们设计出了多种优化方案。比如,从帧结构入手,可以降低最小时隙/TTI、放大子载波间隔;此外,极化码、按照时延要求差异对数据进行分层(Priority to latency critical data)等等……此处略去10000字……从无线传输、核心网、缓存效率、分布式网络等不同角度,提出了数十种方案以降低5G网络的总体时延。对目前可得的近300篇文献/方案进行分类,可得到下面的优化思路汇总:


缩短时延的5G技术方向汇总,Reference: IEEE Communications Surveys & Tutorials (Volume: 20, Issue: 4, 4th Quarter 2018)


5G网络的时延目标:1毫秒


综合采取前述各种方案,5G网络在处理Latency Critical Data时,有望将时延降到1毫秒(1/1000秒)的水平。我们将5G的目标时延与现有网络进行比较,能够更明显的看到这种变化。


不同网络环境的时延比较(RTT, Round-Trip Time) ,Reference: LTE to 5G, The Global Impact of Wireless Innovation, Rysavy Research and 5G Americas, August 2018


上图中的现有网络时延数据基于5G Americas成员企业商用网络的实测数据(不含internet latency)。由于5G网络尚未大规模商用部署,5G时延数据基于网络建设目标(3GPP TR38.913, R15.0. Jun 2018)。其中,虽然同为5G网络,URLLC切片下的时延又大大低于eMBB,其上行和下行时延均只有0.5ms,只有eMBB的1/8。



边缘计算、雾计算和车车直连通讯



通过“抄近道”进一步降低总体时延


在上面的时延比较中可以看到,一方面5G网络能够将网络传输时延降低90-99%,但另一方面,仅凭上述优化,也只能将时延从100ms量级降低到1ms,其上限也就是0.1秒的节约,或者对应1~2个车身长度的距离。


我们曾提到,总时延=网络传输时延+处理运算时延,在某些场景下,比如需要大量传输和运算高清视频资料的时候(而这恰恰是车联网或自动驾驶典型场景),传输和运算处理的负担都会显著增加,此时处理(运算)时延会大大超出0.1秒的量级,甚至达到数秒钟,对应的行驶距离可能达到数百米。鉴于处理和计算耗费的时间会大大超过网络时延,那么只有对处理(运算)时延进行优化,才能大大降低整体时延。


在“云计算”架构下,大量计算集中在云端,各终端将自己需要运算的数据传输到云端进行处理,以更好地支撑那些计算资源消耗大但对时延不太敏感的网络应用,比如照片存储、邮箱等。但对于车联网、自动驾驶等时延敏感且性命攸关的应用,该模式也有其局限性。


边缘计算与雾计算


所谓“边缘计算”,实际上是将运算需求按照时延要求进行分层,对于时延要求高的应用,不再将数据传至云端进行集中处理,而是将计算任务留在用户和设备端直接完成计算,进而降低数据传输量、缩短数据回路,因而大大降低了端到端时延。


之所以叫“边缘”,是因为站在“云”的视角上,“云”是整个架构的核心,是条条大路通罗马的“罗马”,而各个终端设备是各条大路的起点和“边缘”。


而“雾计算”,可以理解为介于”云”和”边缘”的架构,是将运算任务分配在各条大路中重要的十字路口上完成。



本质上,边缘计算是通过“抄近路”的方式,一方面大大缩短了传输路径,另一方面降低了数据传输量(从对原始数据的传输转化为对运算结果的传输),从而降低了总体时延。


下面的图将云、雾和边缘设备的范围、特点和角色进行了总结,可以进一步帮助大家理解相关概念以及设备数量、时延、带宽和数据量的此消彼长。



V2V:车车直连通讯


即便是上面边缘计算的例子,也是依赖摄像头和雷达根据其测量到的车辆位置和速度来判断是否需要对后车发出警示。


实际上,当前车紧急制动或者紧急变道的时候,如果前车能够直接将相关警示信息发送给后车(类似刹车灯和转向灯——别问我为什么不能让驾驶员直接看灯——如果全部靠司机就不需要辅助驾驶和自动驾驶了不是?),效率是最高的。


在3GPP Release14中,新增了V2V/车车直连通讯的功能,目标是实现车与车在高速行驶中的高可靠、低时延通讯。


V2V/车车直连通讯示意图


车联网和自动驾驶这类对时延和稳定性要求极高的应用,限于当前网络条件一直没有得到很好的技术支持。而新一代通讯技术通过对无线传输机制的优化、对网络和运算架构的调整以及C-V2X对于车车直连通讯和V2N(车网通讯)的支持,大大提升了网络带宽、改善了网络稳定性并显著降低了时延。


我们相信,通讯技术的创新和基础设施能力的提升,将为下一轮移动应用的创新提供源源不断的推动力,并给我们的生活带来更多的安全、稳定和便利。


除了车与车连接,车联网还把车与路、车与基础设施、车与行人、车与网络……连接在一起

作者:欧阳琦玮,宽带资本董事,主要负责泛TMT行业的研究和投资工作,涉及消费、出行、金融和医疗等多个领域。

本文为作者投稿,版权归其个人所有。

作为码一代,想教码二代却无从下手:

听说少儿编程很火,可它有哪些好处呢?

孩子多大开始学习比较好呢?又该如何学习呢?

最新的编程教育政策又有哪些呢?

下面给大家介绍CSDN新成员:极客宝宝(ID:geek_baby)

戳他了解更多↓↓↓

 热 文 推 荐 

☞源码泄露是裁员报复还是程序员反抗 996?

☞5G 即将带来冲击!| 畅言

☞程序员如何掌握 React 开发的黄金法则?

 国际信奥金牌,保送清华姚班,这位 00 后是怎么做到的?| 人物志

☞ 程序员的双肩包,大概能装下整个宇宙!

 强推!十大顶级大数据可视化工具 | 程序员硬核评测

☞ 裁员25%, 梅西也拯救不了全球第一款区块链手机!

☞ 深入卷积神经网络背后的数学原理 | 技术头条

程序员被骗"黑砖窑":监禁、恐吓、996无休编程!

System.out.println("点个在看吧!");
console.log("点个在看吧!");
print("点个在看吧!");
printf("点个在看吧!
"
);
cout << "点个在看吧!" << endl;
Console.WriteLine("点个在看吧!");
Response.Write("点个在看吧!");
alert("点个在看吧!")
echo "点个在看吧!"

你点的每个“在看”,我都认真当成了喜欢

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存