今天,Linux内核在各种计算机架构和各种类型的设备上运行,从手机到超级计算机。该操作系统(OS)的多功能性使其能够跨嵌入式单核芯片部署到具有多个处理器内核的服务器片上系统(SoC)到包含数百个处理器内核的基站。这种可扩展性是Linux如此成功的原因之一,也是它促进了广泛的应用程序开发的原因。为 Linux 编写的用户应用程序可以轻松移植到更快、更强大的处理器上。
为了利用这种可移植性并最大限度地提高可扩展性,利用任何软件(包括Linux)来促进重用以加快上市时间和可靠性至关重要。当我们在嵌入式应用中从 32 位处理器迁移到 64 位处理器时,这一点尤其重要。在 64 位环境中重用久经考验的 32 位软件的能力对于快速轻松地开发强大的产品非常重要。
我们可以从PC行业从32位到64位计算的过渡中学到的一个教训是,在硬件和操作系统过渡到64位之后,32位软件将继续存在。在过去的30年里,我们的行业一直在编写和优化适合32位空间的软件。在完全过渡到64位世界之前,我们必须尽可能多地重用该软件,这一点至关重要。
幸运的是,随着硬件虚拟化和硬件多线程等嵌入式设计的新技术变得更加主流,同时提高性能和可靠性将变得更加容易。通过转向多核和多线程,将有更多的CPU周期可供用户使用。最重要的是,虚拟化现在允许应用程序在不修改的情况下运行,从而可以将线程或核心专用于特定应用程序。一旦 64 位 Linux 在 SoC 上运行,虚拟化使用户能够设置虚拟机 (VM),该虚拟机可以运行现有的单处理器 Linux 和未经修改的用户应用程序。这允许现有软件以最佳性能运行;将此方法与多核结合使用,简单的任务分区可进一步提高性能。
移动
处理的未来基于多核。例如,一些用于移动电话的应用处理器包含多达八个64位内核;无论每个人都同意我们真的需要那么多核心,它已经成为一个基线基准。这部分是由于一些Android应用程序使用Linux作为构建块,并且可以从一个内核扩展到八个内核。但是,在大多数32位应用程序移植到64位处理器之前,在可预见的未来,最新的闪亮的新八核手机仍将运行相同的32位应用程序。
网络基础设施
同时,网络一直是多核和多线程处理器的大用户。网络软件的一个关键特征是它本质上是多线程的。网络软件中有三个主要任务:传输、接收和处理数据包。随着生产线速度和处理需求的增加,并行任务的数量也会增加。在高端网络应用中,从互联网骨干交换机到移动基站,数百甚至数千个MIPS处理器中的核心数量并不少见。例如,Imagination最近宣布了其MIPS I6400处理器内核,可以从一个虚拟内核扩展到1,500多个虚拟内核。这种前所未有的可扩展性水平是基于这样一种预期,即随着千兆互联网变得更加容易为消费者提供,未来几年内核数量将继续增加。
想象科技 MIPS I6400 能够扩展到 1,500 多个虚拟内核。
家庭网络
家庭DSL网关和无线路由器等住宅应用一直在使用单核处理器,现在正迅速成为速度瓶颈。这些设备中的大多数都运行Linux,并带有经过认证的语音和用软件编写的DSL编解码器。对于下一代路由器和网关,只需迁移到新的 64 位多核处理器,编解码器可用的处理器周期就会增加一倍以上。通过重复使用相同的 32 位软件,可以更快地将更新的 SoC 推向市场,而无需进行广泛的重新认证。随着软件优化的不断发展,可以利用不同的编程技术来利用多线程或多核扩展。
添加 Linux 软件优化
目前有两种版本的 Linux;单处理器 (UP) Linux 和多处理器 (SMP) Linux.SMP 操作系统专为多核处理器而设计,是 Linux 可扩展性的基础。虽然SMP Linux的性能开销很小,但采用SMP Linux可以为未来的产品奠定基础,因此即使对于单处理器系统,今天也应该主动采用。这为设备制造商提供了过渡到多线程软件所需的时间,以实现更高的性能并添加新功能。
最近成立的prpl基金会也将有助于促进这种迁移。prpl是一个开源,社区驱动,协作,非营利性基金会,旨在定位和支持MIPS架构(并向其他人开放),重点是实现下一代数据中心到设备的便携式软件和虚拟化架构。现有的单核 Linux 用户可以从 prpl 及其社区获得 SMP Linux 的更新代码库,以帮助迁移到 SMP Linux。移植Linux操作系统后,可以使用“任务集”命令将每个任务或应用程序绑定到特定的处理器。与 Linux 相关的固有处理开销以及在单个处理器上运行多个应用程序(即上下文切换损失)分布在多个处理器上,从而使更多的 CPU 周期可用于应用程序,而不是依赖于单个处理器。为了进一步说明这一概念,图2显示了从单个处理器内核到多个处理器内核的可能迁移路径及其相关优势。
从单个处理器内核迁移到多个处理器内核可显著降低操作系统 (OS) 开销,使应用程序能够更高效地运行。
多核技术还为电源管理开辟了新的方法。从功率角度来看,将任务分配给两个较慢的处理器比以高工作频率运行一个处理器更经济。多线程更进一步,以最大限度地提高可用的处理能力。
未来是多核的
这是进入技术领域的一个激动人心的时刻。我们正在迅速从单核处理器转向多核处理器世界。有很多方法可以完成这种迁移,虚拟化等新技术通过创建虚拟世界(包括Linux)可以在新的多核芯片上未经修改地运行而无需任何更改,从而使迁移到多核处理器变得相对简单。
通过单处理器代为我们提供支持的软件将通过包含越来越多的处理器的下一代硬件设备为我们提供支持。在prpl基金会等社区驱动型组织的帮助下,新一代软件将充分利用多核和多线程硬件,并提供更加集成的解决方案。
审核编辑:郭婷
-
Linux
+关注
关注
87文章
11292浏览量
209328 -
计算机
+关注
关注
19文章
7488浏览量
87849 -
操作系统
+关注
关注
37文章
6801浏览量
123283
发布评论请先 登录
相关推荐
评论