{"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.