发明名称 Management of ownership control and data movement in shared-memory systems
摘要 A method to exchange data in a shared memory system includes the use of a buffer in communication with a producer processor and a consumer processor. The cache data is temporarily stored in the buffer. The method includes for the consumer and the producer to indicate intent to acquire ownership of the buffer. In response to the indication of intent, the producer, consumer, buffer are prepared for the access. If the consumer intends to acquire the buffer, the producer places the cache data into the buffer. If the producer intends to acquire the buffer, the consumer removes the cache data from the buffer. The access to the buffer, however, is delayed until the producer, consumer, and the buffer are prepared.
申请公布号 US8949549(B2) 申请公布日期 2015.02.03
申请号 US200812324628 申请日期 2008.11.26
申请人 Microsoft Corporation 发明人 Harper, III David T.;Callahan, II Charles David
分类号 G06F12/00;G06F3/00;G06F9/00;G06F9/52;G06F12/08;G06F3/06 主分类号 G06F12/00
代理机构 代理人 Sullivan Kevin;Chinagudabha Raghu;Minhas Micky
主权项 1. A method to exchange cache data and control information between processors in a cache based shared memory system, the cache based shared memory system having a plurality of processors including at least a producer and a consumer operating in a producer-consumer idiom, wherein the producer and the consumer are each in communication with a buffer configured to temporarily store the cache data and control information while conveying the cache data and control information between the producer and the consumer, the method comprising: employing the control information to provide mutual exclusion of the cache data temporarily stored in the buffer and provide a state of the buffer; indicating an intent of one of the consumer and the producer to acquire access to the buffer; preparing the producer, the consumer, and the buffer for the one of the consumer and the producer to acquire ownership of the buffer in response to the indicated intent; delaying the acquisition of ownership of the buffer until after the producer, the consumer, and the buffer are prepared for the acquisition of ownership of the buffer; in early acquire situations, the indicating an intent of one of the consumer and the producer is preformed by sending an acquire instruction to the other of one of the consumer and the producer, and the delaying includes deferring ownership of the buffer until the other of the producer and the consumer has released ownership of the buffer; and in late acquire situations where the acquire occurs after the other of the producer and the consumer has released ownership of the buffer, an indicating an intent of one of the consumer and the producer to use the buffer is preformed by sending a prefetch instruction to the other of the consumer and the producer, and the delaying includes proactively pushing the released buffer to the one of the consumer and the producer prior to the acquire.
地址 Redmond WA US