{"title":"简短声明:非阻塞双容器的通用结构","authors":"Joseph Izraelevitz, M. Scott","doi":"10.1145/2611462.2611510","DOIUrl":null,"url":null,"abstract":"A dual container has the property that when it is empty, the remove method will insert an explicit reservation (antidata) into the container, rather than returning an error flag. This convention gives the container explicit control over the order in which pending requests will be satisfied once data becomes available. The dual pattern also allows the method's caller to spin on a thread-local flag, avoiding memory contention. In this paper we introduce a new nonblocking construction that allows any nonblocking container for data to be paired with almost any nonblocking container for antidata. This construction provides a composite ordering discipline - e.g., it can satisfy pending pops from a stack in FIFO order, or satisfy pending dequeues in order of thread priority.","PeriodicalId":186800,"journal":{"name":"Proceedings of the 2014 ACM symposium on Principles of distributed computing","volume":"360 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-07-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":"{\"title\":\"Brief announcement: a generic construction for nonblocking dual containers\",\"authors\":\"Joseph Izraelevitz, M. Scott\",\"doi\":\"10.1145/2611462.2611510\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"A dual container has the property that when it is empty, the remove method will insert an explicit reservation (antidata) into the container, rather than returning an error flag. This convention gives the container explicit control over the order in which pending requests will be satisfied once data becomes available. The dual pattern also allows the method's caller to spin on a thread-local flag, avoiding memory contention. In this paper we introduce a new nonblocking construction that allows any nonblocking container for data to be paired with almost any nonblocking container for antidata. This construction provides a composite ordering discipline - e.g., it can satisfy pending pops from a stack in FIFO order, or satisfy pending dequeues in order of thread priority.\",\"PeriodicalId\":186800,\"journal\":{\"name\":\"Proceedings of the 2014 ACM symposium on Principles of distributed computing\",\"volume\":\"360 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2014-07-15\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"4\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 2014 ACM symposium on Principles of distributed computing\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/2611462.2611510\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2014 ACM symposium on Principles of distributed computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2611462.2611510","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Brief announcement: a generic construction for nonblocking dual containers
A dual container has the property that when it is empty, the remove method will insert an explicit reservation (antidata) into the container, rather than returning an error flag. This convention gives the container explicit control over the order in which pending requests will be satisfied once data becomes available. The dual pattern also allows the method's caller to spin on a thread-local flag, avoiding memory contention. In this paper we introduce a new nonblocking construction that allows any nonblocking container for data to be paired with almost any nonblocking container for antidata. This construction provides a composite ordering discipline - e.g., it can satisfy pending pops from a stack in FIFO order, or satisfy pending dequeues in order of thread priority.