Resolving classical concurrency problems using adaptive conflictless scheduling

M. Smolinski
{"title":"Resolving classical concurrency problems using adaptive conflictless scheduling","authors":"M. Smolinski","doi":"10.1109/INISTA.2017.8001193","DOIUrl":null,"url":null,"abstract":"Classical concurrency problems define environments for task processing with high contention of shared resources. The adaptive conflictless scheduling is an alternative to existing synchronization mechanisms used in known solutions of concurrency problem to provide parallel tasks processing without resource conflicts. Used in this paper scheduling concept eliminates deadlock between tasks that are caused by the wrong allocation of shared resources, regardless of the specification of task environment. The adaptive conflictless scheduling, in opposition to other solutions dedicated to specific problem, is a universal approach and can be used to solve different concurrency problems. This article presents versatility of applications of adaptive conflictless scheduling by its usage in two classical concurrency problems: readers and writers and dining philosophers. Analysis of scheduling rules, when conflictless scheduling is applied, shows lack of task starvation in both classical concurrency problems. If conflictless scheduling is used, there is no need to use any other synchronization mechanisms for control tasks access to groups of shared resources. In presented approach only the programmer has to separate tasks and for each of them has to establish and report all required shared resources. Then tasks synchronization in accessing resource groups will be performed according to the adaptive conflictless schedule, which is the sequence of conflictless schedules. The concept of conflictless scheduling bases on efficient resource conflict detection between tasks by its resource identifiers and delayed execution of conflicted tasks using many FIFO queues assigned individually to each group of shared resources. Task queues are emptied based on the conflictless schedule, which is calculated every time according to specific state of the task processing environment.","PeriodicalId":314687,"journal":{"name":"2017 IEEE International Conference on INnovations in Intelligent SysTems and Applications (INISTA)","volume":"3 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 IEEE International Conference on INnovations in Intelligent SysTems and Applications (INISTA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/INISTA.2017.8001193","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3

Abstract

Classical concurrency problems define environments for task processing with high contention of shared resources. The adaptive conflictless scheduling is an alternative to existing synchronization mechanisms used in known solutions of concurrency problem to provide parallel tasks processing without resource conflicts. Used in this paper scheduling concept eliminates deadlock between tasks that are caused by the wrong allocation of shared resources, regardless of the specification of task environment. The adaptive conflictless scheduling, in opposition to other solutions dedicated to specific problem, is a universal approach and can be used to solve different concurrency problems. This article presents versatility of applications of adaptive conflictless scheduling by its usage in two classical concurrency problems: readers and writers and dining philosophers. Analysis of scheduling rules, when conflictless scheduling is applied, shows lack of task starvation in both classical concurrency problems. If conflictless scheduling is used, there is no need to use any other synchronization mechanisms for control tasks access to groups of shared resources. In presented approach only the programmer has to separate tasks and for each of them has to establish and report all required shared resources. Then tasks synchronization in accessing resource groups will be performed according to the adaptive conflictless schedule, which is the sequence of conflictless schedules. The concept of conflictless scheduling bases on efficient resource conflict detection between tasks by its resource identifiers and delayed execution of conflicted tasks using many FIFO queues assigned individually to each group of shared resources. Task queues are emptied based on the conflictless schedule, which is calculated every time according to specific state of the task processing environment.
使用自适应无冲突调度解决经典并发问题
经典的并发性问题定义了对共享资源有高度争用的任务处理环境。自适应无冲突调度是已知并发问题解决方案中现有同步机制的替代方案,可提供无资源冲突的并行任务处理。本文所采用的调度概念消除了由于共享资源分配错误而导致的任务间死锁,而不受任务环境规范的影响。自适应无冲突调度不同于其他专门针对特定问题的解决方案,是一种通用的方法,可用于解决不同的并发性问题。本文通过自适应无冲突调度在两个经典并发问题(读者和作家以及用餐哲学家)中的使用,展示了其应用程序的多功能性。对调度规则的分析表明,当应用无冲突调度时,这两种经典并发问题都不存在任务饥饿问题。如果使用无冲突调度,则不需要使用任何其他同步机制来控制任务对共享资源组的访问。在提出的方法中,只有程序员必须分离任务,并为每个任务建立和报告所有所需的共享资源。然后,访问资源组的任务同步将按照自适应无冲突调度顺序执行,即无冲突调度顺序。无冲突调度的概念基于任务间资源标识符的有效资源冲突检测和使用多个FIFO队列分别分配给每组共享资源来延迟冲突任务的执行。任务队列是根据无冲突调度来清空的,该调度是根据任务处理环境的具体状态每次计算的。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术文献互助群
群 号:604180095
Book学术官方微信