Georg Lausen, Eljas Soisalon-Soininen , Peter Widmayer
{"title":"Pre-analysis locking","authors":"Georg Lausen, Eljas Soisalon-Soininen , Peter Widmayer","doi":"10.1016/S0019-9958(86)80005-5","DOIUrl":null,"url":null,"abstract":"<div><p>A safe and deadlock free locking policy is introduced, called pre-analysis locking. A transaction system with no lock and unlock operations in the transactions is first being analyzed by the pre-analysis locking algorithm. Then, the result of this analysis is used to insert lock and unlock operations into the transactions with the goal of achieving a degree of concurrency as high as possible. However, pre-analysis locking is merely a heuristic operating in polynomial time; therefore, it is not guaranteed to perform optimally in all cases. In comparison with 2-phase locking, neither pre-analysis locking nor 2-phase locking dominates the other; there exist transaction systems in which pre-analysis locking allows for more concurrency than any 2-phase locking policy, but there are also cases in which a 2-phase locking policy allows for more concurrency than pre-analysis locking. However, preanalysis locking is free from deadlocks, in general.</p></div>","PeriodicalId":38164,"journal":{"name":"信息与控制","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"1986-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0019-9958(86)80005-5","citationCount":"7","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"信息与控制","FirstCategoryId":"1093","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0019995886800055","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"Mathematics","Score":null,"Total":0}
引用次数: 7
Abstract
A safe and deadlock free locking policy is introduced, called pre-analysis locking. A transaction system with no lock and unlock operations in the transactions is first being analyzed by the pre-analysis locking algorithm. Then, the result of this analysis is used to insert lock and unlock operations into the transactions with the goal of achieving a degree of concurrency as high as possible. However, pre-analysis locking is merely a heuristic operating in polynomial time; therefore, it is not guaranteed to perform optimally in all cases. In comparison with 2-phase locking, neither pre-analysis locking nor 2-phase locking dominates the other; there exist transaction systems in which pre-analysis locking allows for more concurrency than any 2-phase locking policy, but there are also cases in which a 2-phase locking policy allows for more concurrency than pre-analysis locking. However, preanalysis locking is free from deadlocks, in general.