APP下载

核间自旋锁的使用和问题定位方法

2021-11-28阳丽

萍乡学院学报 2021年6期
关键词:资源方法

阳 丽

核间自旋锁的使用和问题定位方法

阳 丽

(萍乡学院 信息与计算机工程学院,江西 萍乡 337000)

多核CPU在不同的内核间同步,通常采用核间自旋锁的方法来保证多核之间互斥。核间自旋锁的使用频度需要根据CPU的核处理能力和用户程序对CPU总体处理能力的要求来进行权衡。如果核间自旋锁的使用过于频繁或核上加锁周期过长,就会导致CPU的单位时间资源使用率过高,使用户代码功能的执行效率降低。为解决核间自旋锁在使用过程中遇到的问题,文章提出的解决方案是在为核间自旋锁加锁和解锁过程增加相应的调试信息,然后针对不同情况进行扫描队列或新增核间自旋锁。

核间自旋锁;多核CPU;核处理能力

1 引言

核间自旋锁是为了实现保护共享资源而提出的一种锁机制。由于用户程序在多核CPU上执行时,有些需要在各个核之间进行数据的交互,并且数据交互的方式是使用核间共享内存的方式实现的,因此被读写的核间共享内存就成为了临界资源,不允许有其他的任务访问该资源。对临界资源互斥访问最常见的方法有使用互斥信号量或自旋锁[1]。

信号量是一种睡眠锁,如果有一个任务试图获得一个已经被占用的信号量时,信号量就会将其推进到一个等待队列中,然后让其睡眠。当持有信号量的进程将信号量释放后,处于等待队列中的那个任务将被唤醒,并获得该信号量。而一个自旋锁就是一个互斥设备,它只能有两个值:“锁定”和“解锁”[2]。……

登录APP查看全文

猜你喜欢

资源方法
让有限的“资源”更有效
基础教育资源展示
学习方法
资源回收
资源再生 欢迎订阅
用对方法才能瘦
四大方法 教你不再“坐以待病”!
赚钱方法
捕鱼
对你有用的“钱”在资源