- 2
- 0
- 约3.46千字
- 约 7页
- 2018-12-07 发布于福建
- 举报
软硬件结合解决对称多处理机同步问题
软硬件结合解决对称多处理机同步问题
[摘要]对称多处理机SMP结构在现今的并行服务器中普遍采用,多核芯片如何管理共享、竞争资源就是一大问题。文章提出的软硬件结合可以解决对称多处理机的同步问题。
[关键词]对称多处理SMP;同步问题;互斥事件;点到点事件;全局事件
[作者简介]李海霞,黄石理工学院计算机学院讲师,江西师范大学计算机信息工程学院硕士研究生,研究方向:嵌入式,湖北黄石,435003
[中图分类号] TP31 [文献标识码] A [文章编号] 1007-7723(2010)03-0027-0002
一、引言
多核化趋势正在改变并行计算的面貌,与传统的单核CPU相比,多核CPU带来了更强的并行处理能力、更高的计算密度和更低的时钟频率,并大大减少了散热和功耗。但是多核技术的应用也带来了诸多问题,在大多数情况下,多核CPU的内核拥有独立的L1缓存,共享L2缓存、内存子系统、中断子系统和外设。因此,系统需要让每个内核独立访问某种资源并确保资源不会被其他内核上的应用程序争抢。本文提出的软硬件结合可以解决对称多处理机的同步问题。
二、同步问题
SMP机器主要支持三种同步操作:互斥、点到点事件和全局事件[1]。而一个同步事件主要由三个组成部分:(1)获得方法:如何获得同步的权利(如进入临界区、离开事件);(2)等待算法:如何等待同步变得可用(如忙等待、阻塞等待);(3)释放方法:如何使得另外的进程能够获得同步。在以上三个部分中,等待算法的选择是独立于同步的类型。等待算法主要有忙等待(busy_waiting)和阻塞(blocking)两种。忙等待和阻塞等待方法之间的权衡是很明显的:由于阻塞方法需要操作系统介入来将进程挂起和重新执行,因此与忙等待方法相比,有更大的开销;但是,阻塞方法在等待时不占用处理器,因此处理器可用执行其他进程。忙等待虽然没有进程挂起的开销,但是在等待时占用处理器和高速缓存带宽。在等待时间很短的时候,忙等待方法更好;但是,当等待时间很长,并且有别的进程在等待执行的情况下,阻塞方法更好。因此,有一种方法是用硬件来实现获得和释放方法,然后用软件来将同步事件的三个部分结合起来。
三、软件/硬件实现
用户和系统,谁应该负责实现像锁、路障那样的高层同步操作?一般说来,编程人员只希望使用锁、事件等高层同步操作,而不关心其内部是如何实现的[2]。因此,应该由系统负责实现高层同步操作。系统必须确定硬件在多大程度上提供支持,并且用软件实现哪些功能。硬件支持的好处是速度快,而把一些功能用软件实现的好处是具有弹性,并且能适应不同的情况。现在,已经开发了一些利用简单的原子交换原语的软件同步算法,速度与完全用硬件实现差不多,但是弹性好得多,并且硬件要求非常简单。不同的同步算法可能要求不同的基本原语支持,并且支持这些原语的复杂性变化很大。这就使得硬件和软件之间的交互变得很重要:一方面要根据可获得原语来选择同步计算;另一方面,体系设计者要根据算法的需要来设计原语。
四、软件/硬件在三种同步操作的权衡
(一)互斥操作
互斥操作有许多实现算法,一种通用方法是在处理器的指令集中支持某种原子执行的读-修改-写指令。典型的是原子交换(exchange)指令,它是种简单的锁算法,功能正确,但是性能有问题。我们介绍两种先进的锁算法:票锁(Ticket lock)和基于数组的锁(array-base lock)[3]。
票锁(Ticket lock):每个想获得锁的进程都持有一个票号,并且忙等待一个全局的NOW-serving号,只有当NOW-serving号与它持有的票号相同时,才能得到锁。当一个进程释放时,只要简单地将NOW-serving号增1.所需要的原子指令是FetchIncrement,一个进程用这条指令从一个共享计数器来获得自己的票号。只要持有的票号等于NOW-serving号的进程才能获得锁。这个锁在没有竞争的情况下开销和要求的存储量很小且是固定的。
基于数组的锁(array-base lock):它的思想是用FetchIncrement指令不是去获得进行忙等待的一个值,而是获得进行忙等待的一个位置。如果可能有P个进程竞争锁,则锁的数据结构中包含P个位置数组,进程在这些位置上进行忙等待。为了避免假共享现象,最好是每个位置在一个独立的内存块上。获得方法是用一个FetchIncrement操作去获得数组中下一个可得到的位置;等待方法是在获得的位置上进行忙等待;释放方法是将一个表示“锁空闲”的值写入到数组中的下一个位置中。在锁释放时候,只有在下一个数组位置上进行忙等待的处理器,它的高速缓存中的内存
您可能关注的文档
最近下载
- 2024-2025学年上海市普陀区六年级下学期数学期末试题含详解.pdf VIP
- 制造业企业员工高离职率分析.pdf VIP
- GB50461-2024:石油化工静设备安装工程施工质量验收规范.pptx VIP
- 三江A116火灾报警控制器简易操作规程.docx
- (新版)社会体育指导员理论知识考试题库(含答案).docx VIP
- DB31T 1104-2018 城市轨道交通导向标识系统设计规范.docx VIP
- 2023年浙江省军队转业干部录用考试试题.docx VIP
- 口渴了-朋友帮你.ppt VIP
- Xikong西莱克低温机控制板SHXK814用户手册.pdf
- 爱迪生牛顿大发明攻略.doc VIP
原创力文档

文档评论(0)