2022年提高多核处理器线程执行效率的技术文件 .pdf
《2022年提高多核处理器线程执行效率的技术文件 .pdf》由会员分享,可在线阅读,更多相关《2022年提高多核处理器线程执行效率的技术文件 .pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、29高性能计算技术提高多核处理器线程执行效率的技术编译:董立平周丽江南计算技术研究所无锡摘 要:随着多核技术在新一代高性能微处理器中的普遍应用,微处理器设计已进入多核时代。本文着重从实现技术的角度,介绍了一些提高多核处理器线程执行效率,及消除多核处理器各种延迟的技术和产品,为切实提高多核处理器的执行效率和处理性能,提供了有效的技术途径和可供借鉴的设计方法。关键词:多核技术,高性能微处理器,线程,执行效率,延迟引言并行程序的设计水平是提高多核处理器执行效率的前提,然而在并行程序设计中仍有许多有待解决的难题,例如可并行执行任务的发现、任务的线程化、同步协议的定义与安装、竞争与死锁的处理、并行处理的
2、实现和容错及确保运算的正确性等。在目前这种软件制作方法对机器性能影响巨大的时代,无论是处理器厂商还是操作系统研发者都在致力为软件开发人员提供技术支持和相应产品,旨在降低并行化程序的设计难度,同时提高所开发程序在多内核上的执行效率。提高多核处理器线程执行效率的技术随着集成电路技术物理极限的日益临近,多核化正在成为高性能微处理器发展的重要方向。然而怎样才能提高多核处理器的线程执行效率,是亟待解决的一个重大课题。为此,一些国外公司开发了一系列相关技术,下面将简要介绍其中一些关键技术。加载与对应的操作系统实现从单核处理器向多核处理器过渡的第一步就是要将现有软件移植到多核处理器中运行。首先,就是要采用与
3、相对应的操作系统,利用其并行功能使软件人员生成的进程及线程,能够根据多个内核的忙闲情况进行动态分配,用以实现多个应用软件和多线程的并行执行。以往,与对应的操作系统几乎都是面向服务器和个人计算机的,直到最近,才推出了以嵌入式机器为主要对象的版实时操作系统。这些版实时操作系统与以及等现有与对应的操作系统,在线程的调度功能上有着很大的差别。例如等配有专门的线程调度程序,可将每个线程优先分配给特定的内核,即所谓的“亲和性”方法。为了提高缓存的命中率,优先分配给特定的内核,如果该内核不空再分配给别的内核。与之相反,加拿大软件系统公司的“”等,则配备了在进程和线程分配时限定内核的功能,即让以独占形态进行处
4、理的,面向单核的应用软件可原封不动地在多核型处理器上执行,以简化现有软件向多核移植的程序。例如可按下述方法将线程分配给多个核心:首先确认是否限制可分配新线程的核,如果可分配的核有空则将线程分配给它;如果它正在执行别的线程,则比较正在执行线程与处于等待状态线程的优先级,若正在执行线程的优先级低,则切换线程。分配核的限制,可在用于描述操作系统启动顺序的脚本上指定详细过程。所谓限定分配核功能就是指,将要求实时性的应用软件分配给一个核心,而后再将其它应用软件的线程动态地分配给剩下的、且处于空闲状态的核的机制。其主要作用是确保实时性,即通过这一机制在不中断其它任务执行的情况下,确保要求实时性的任务执行。
5、线程轨迹可视化当将传统软件向在多核型处理器上工作的,与名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 4 页 -30高性能计算发展与应用年第三期总第二十四期对应的操作系统移植时,程序的调试是一个最大的难题。与能很好把握单一动作的单核不同,多核在发生问题时,必须在确认多个内核究竟发生了什么的同时探明原因。为此,一些实时操作系统厂商,纷纷开始提供用于多核处理器运行状况分析的工具。例 如,软 件 系 统 公 司 提 供 的 开 发 环境“”等,就实现了哪个线程正被分配给核心、哪个线程生成哪个线程,以及线程间发生了怎样的通信等的可视化。其目的在于使检测线程间的竞争及死锁,以及伴随线程等待
6、而产生的等待时间延长等,严重阻碍性能提高的重要因素的发现变得更加容易。微处理器厂商也已经开始提供具备同样功能的工具,例如,美国公司的“”、公司的“”等,这些产品都具备实时显示线程运行状态的功能,同时还可用不同颜色显示共享变量的排他控制,及线程间发生等待时的等待时间。简化并行化标识完成现有软件向多核型处理器移植作业后,接下来就要致力于可使处理性能提高的软件并行化工作。当发现某任务负载过大将成为处理瓶颈时,可采用使该任务在多个核上并行执行的多线程技术,并通过这一技术实现软件处理时间随内核数量增加而缩短的目的。最常用的多线程化方法就是,在语言中使用时,可通过管理线程用来标识线程的生成和同步等,也可在
7、程序设计语言级使用与线程管理标注对应的语言。但在软件开发者必须在源代码中标明所有线程的生成和同步,及线程间的排他控制等信息的多线程程序设计中,可能会因熟练程度不够,而导致工作量增加的问题。目前,人们开始利用称为“”的来使多线程化变得易行。与基于和的多线程化相比,的优势在于其需在源码中标明的线程管理指示要少得多,仅需在多线程分割部分之前用“”插入标示开始的指示即可。采用所谓“”型并行化技术,即在主线程执行过程中,可将负荷过重的部分分割成多个线程执行,等执行完这些线程再继续执行主线程。至于需要将哪部分分成多线程,则由软件开发者自行指定。将软件开发者指定的线程数最大化,通过编译器进行线程分割,但是,
8、与对应的编译器却无法通过调整线程数及其粒度,来谋求处理性能的提高及整合。因此,线程间共享变量的排他控制和主线程分割后线程中变量的共享等若干问题的解决必须由软件开发者明确指定。配备并行化库在以并行化为前提进行新的软件开发时,使用第三方提供的完全并行化软件库是一种很好的方法。例如,美国公司就为“”处理器提供了完全并行化的科学计算库“()”,并且还为其配备了高速傅立叶变换功能。通过从“”的通用核上的软件中调出的库,可以将信号处理机从任务中分离出来,但是,其前提是它只能在用于向局部存储器传送指令和数据的固件上执行。面向“”的软件开发还准备提供基于并行处理模型的通用并行处理模板,具体而言,就是“”硬件提
9、供的、功能抽象化的基本层和能够提供各种函数功能的主干层。我们将这种使用了主干的并行化程序设计雏形称之为并行模板。除此之外,公司于年月开始面向不能使用与对应编译器的执行环境,及常用语言分类库的情况提供“()”。是一种,面向循环和分类处理,及散列表和数组处理的语言分类库,由于其排他控制和线程间同步所需指令是事先插入的,因此软件开发者用不着在线程管理上浪费时间。面向多核时代消除各种延迟因素的技术随着核数的不断增加,面向多核型处理器的软件开发也变得越来越困难。这主要是因为,需要使用多个核就必须细化线程的粒度,尽量割分出更多的线程。然而,伴随着众多线程的生成和同步,及线程间的排他控制等必然会增加很多开销
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年提高多核处理器线程执行效率的技术文件 2022 提高 多核 处理器 线程 执行 效率 技术 文件
限制150内