{"title":"对象内并发的多版本机制","authors":"Toshio Hirotsu, H. Fujii, M. Tokoro","doi":"10.1088/0967-1846/2/4/002","DOIUrl":null,"url":null,"abstract":"We propose an extended concurrent object model for distributed multiuser systems called the multiversion concurrent object (MCO). The original concurrent object model is simple because it excludes internal concurrency, but this may cause long blocking on its execution during message sending and external device accesses. Thus, these blockings may decrease system performance. We introduce a multiversion mechanism to the original concurrent object model. Each MCO makes a copy of its own state, which is called a version, for executing a method that is not interleaved with other similar copies during execution. The results from concurrent execution are merged upon termination of each method. The MCO simplifies programming, since synchronization statements are not required inside its methods. Using this model for shared objects, we can construct a system in which each user can work freely without suffering from other user`s unexpected actions. We present a prototype implementation of MCO and some performance evaluations.","PeriodicalId":404872,"journal":{"name":"Distributed Syst. Eng.","volume":"64 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1995-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"A multiversion mechanism for intra-object concurrency\",\"authors\":\"Toshio Hirotsu, H. Fujii, M. Tokoro\",\"doi\":\"10.1088/0967-1846/2/4/002\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"We propose an extended concurrent object model for distributed multiuser systems called the multiversion concurrent object (MCO). The original concurrent object model is simple because it excludes internal concurrency, but this may cause long blocking on its execution during message sending and external device accesses. Thus, these blockings may decrease system performance. We introduce a multiversion mechanism to the original concurrent object model. Each MCO makes a copy of its own state, which is called a version, for executing a method that is not interleaved with other similar copies during execution. The results from concurrent execution are merged upon termination of each method. The MCO simplifies programming, since synchronization statements are not required inside its methods. Using this model for shared objects, we can construct a system in which each user can work freely without suffering from other user`s unexpected actions. We present a prototype implementation of MCO and some performance evaluations.\",\"PeriodicalId\":404872,\"journal\":{\"name\":\"Distributed Syst. Eng.\",\"volume\":\"64 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1995-12-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Distributed Syst. Eng.\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1088/0967-1846/2/4/002\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Distributed Syst. Eng.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1088/0967-1846/2/4/002","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A multiversion mechanism for intra-object concurrency
We propose an extended concurrent object model for distributed multiuser systems called the multiversion concurrent object (MCO). The original concurrent object model is simple because it excludes internal concurrency, but this may cause long blocking on its execution during message sending and external device accesses. Thus, these blockings may decrease system performance. We introduce a multiversion mechanism to the original concurrent object model. Each MCO makes a copy of its own state, which is called a version, for executing a method that is not interleaved with other similar copies during execution. The results from concurrent execution are merged upon termination of each method. The MCO simplifies programming, since synchronization statements are not required inside its methods. Using this model for shared objects, we can construct a system in which each user can work freely without suffering from other user`s unexpected actions. We present a prototype implementation of MCO and some performance evaluations.