The read-copy-update mechanism for supporting real-time applications on shared-memory multiprocessor systems with Linux

D. Guniguntala;P. E. McKenney;J. Triplett;J. Walpole
{"title":"The read-copy-update mechanism for supporting real-time applications on shared-memory multiprocessor systems with Linux","authors":"D. Guniguntala;P. E. McKenney;J. Triplett;J. Walpole","doi":"10.1147/sj.472.0221","DOIUrl":null,"url":null,"abstract":"Read-copy update (RCU) is a synchronization mechanism in the Linux™ kernel that provides significant improvements in multiprocessor scalability by eliminating the writer-delay problem of readers-writer locking. RCU implementations to date, however, have had the side effect of expanding non-preemptible regions of code, thereby degrading real-time response. We present here a variant of RCU that allows preemption of read-side critical sections and thus is better suited for real-time applications. We summarize priority-inversion issues with locking, present an overview of the RCU mechanism, discuss our counter-based adaptation of RCU for real-time use, describe an additional adaptation of RCU that permits general blocking in read-side critical sections, and present performance results. We also discuss an approach for replacing the readers-writer synchronization with RCU in existing implementations.","PeriodicalId":55035,"journal":{"name":"IBM systems journal","volume":"47 2","pages":"221-236"},"PeriodicalIF":0.0000,"publicationDate":"2008-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1147/sj.472.0221","citationCount":"67","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"IBM systems journal","FirstCategoryId":"1085","ListUrlMain":"https://ieeexplore.ieee.org/document/5386550/","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 67

Abstract

Read-copy update (RCU) is a synchronization mechanism in the Linux™ kernel that provides significant improvements in multiprocessor scalability by eliminating the writer-delay problem of readers-writer locking. RCU implementations to date, however, have had the side effect of expanding non-preemptible regions of code, thereby degrading real-time response. We present here a variant of RCU that allows preemption of read-side critical sections and thus is better suited for real-time applications. We summarize priority-inversion issues with locking, present an overview of the RCU mechanism, discuss our counter-based adaptation of RCU for real-time use, describe an additional adaptation of RCU that permits general blocking in read-side critical sections, and present performance results. We also discuss an approach for replacing the readers-writer synchronization with RCU in existing implementations.
支持Linux共享内存多处理器系统上实时应用程序的读拷贝更新机制
读拷贝更新(RCU)是Linux中的一种同步机制™ 内核,通过消除读取器-写入器锁定的写入器延迟问题,显著提高了多处理器的可扩展性。然而,迄今为止,RCU实现的副作用是扩展了代码的不可抢占区域,从而降低了实时响应。我们在这里介绍了RCU的一种变体,它允许抢占读取端关键部分,因此更适合实时应用。我们总结了锁定的优先级反转问题,概述了RCU机制,讨论了我们对RCU进行的基于计数器的实时自适应,描述了RCU的额外自适应,该自适应允许在读取侧关键部分进行一般阻塞,并给出了性能结果。我们还讨论了在现有实现中用RCU替换读写器同步的方法。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信