未来的工作

本文只介绍了在RISC-V架构上评估实时Linux的第一步。由于其他相关研究几乎不存在,因此有大量的可能性进一步研究这一主题。未来的工作可能包括,例如,测试一些额外内核选项的效果,评估更多的压力类别,以及研究一些内核优化,如与多核操作相关的事情。此外,来自不同硬件平台的实验、关于完全不同度量的测量以及实际的PREEMPT_RT开发工作在未来将是有价值的。进一步研究这些主题将为RISC-V架构在实际的工业实时应用中的可能性提供重要信息。

如前所述,本文中使用的内核配置是非常简单的,而实际应用的系统肯定需要对Linux内核的一些附加特性进行启用。因此,通过启用一些最重要的附加内核配置选项并测试它们如何影响延迟性能,进行进一步的研究将是有益的。排除明显的调试选项外,正常的实时Linux内核不会受到它的显著影响。然而,这些选项的某些部分可能会引入大量的延迟,因此需要进行一些优化工作,才能被认为可以在实时配置中使用。此外,同时甚至可能发现并修复与锁定和一般实时行为相关的其他错误。

由于Linux系统非常复杂,除了可以测量的延迟之外,还有许多其他有趣的测量标准。从内存使用、功耗和系统吞吐量等方面获得更多统计数据,这些都将成为在RISC-V上使用实时Linux其他功能非常有价值的信息。此外,由于本研究完全忽略了网络或其他导致大量中断的来源等影响,因此可以测试和评估更广泛的压力类别。设计这些额外的压力类别必须与启用额外的内核特性一起完成。

当前的系统有可能对本研究中使用的设置进行一些额外的优化,并实现更低的延迟。例如,通过设置CPU亲和位来将某些中断限制在某些核上,可能会略微改善其他核上所经历的延迟。此外,一些代码级的优化也是可能的。这种优化工作应该针对前面讨论的延迟最长的区域。有了这些变化,延迟可能会比本文中提出的还要小。此外,RISC-V体系结构本身正在不断开发中,并有定期提出和批准的新特性。例如,目前正在努力设计和实现一个更好、更灵活的中断控制器硬件。这个关于CLIC(核-本地中断控制器)的建议旨在为当前基于PLIC的架构添加全新的特性。重大的改进将包括支持中断抢占和选择向量控制等。这些特性对于某些对时间敏感的应用程序可能是有用的,甚至是至关重要的,因此在未来,RISC-V将更能够处理不同的实时工作负载。然而,应该注意的是,这些细节可能会发生变化,因为CLIC规范仍处于早期开发阶段。未来肯定还会有其他类似的新硬件块的开发。

除了RISC-V硬件之外,基础的软件支持也将继续改进。最重要的软件部分,例如编译器、调试工具和Linux内核已经对RISC-V提供了很大的支持,当然,它仍然落后于其他更老和更成熟的架构。例如,当使用RISC-V架构时,尚未完全支持Linux内核的每个特性。但可以肯定的是,不断增长的社区和商业利益将解决其中的某些问题。总的来说,整个RISC-V生态系统一直都在持续改善。

最后,在RISC-V体系结构上使用实时Linux的最重要的事情将是官方支持。这将在一定程度上保证其功能,因为到那时,使用该产品的社区将会更多。从Kernel 6.6 LTS起,RISC-V已成为RT-Linux官方支持,而赛昉科技昉·惊鸿-7110大部分驱动代码已被Kernel 6.6接受,这对于昉·惊鸿-7110 SoC进入RT-Linux商业工业项目十分有利。基于本文,RISC-V体系结构应该完全适合用于要求更高的工业应用程序。