发明名称 Efficient communication of producer/consumer buffer status
摘要 A mechanism is provided for efficient communication of producer/consumer buffer status. With the mechanism, devices in a data processing system notify each other of updates to head and tail pointers of a shared buffer region when the devices perform operations on the shared buffer region using signal notification channels of the devices. Thus, when a producer device that produces data to the shared buffer region writes data to the shared buffer region, an update to the head pointer is written to a signal notification channel of a consumer device. When a consumer device reads data from the shared buffer region, the consumer device writes a tail pointer update to a signal notification channel of the producer device. In addition, channels may operate in a blocking mode so that the corresponding device is kept in a low power state until an update is received over the channel.
申请公布号 US9053069(B2) 申请公布日期 2015.06.09
申请号 US201213593030 申请日期 2012.08.23
申请人 International Business Machines Corporation 发明人 Brokenshire Daniel A.;Johns Charles R.;Nutter Mark R.;Minor Barry L.
分类号 G06F15/173 主分类号 G06F15/173
代理机构 代理人 Lammes Francis;Walder, Jr. Stephen J.;Tyson Thomas E.
主权项 1. A method, in a data processing system, comprising: performing, using a first device in the data processing system, an operation on a shared buffer region in the first device, wherein the first device is a first synergistic processing unit; writing, by the first device, a pointer update to a first register in a memory flow controller in the first device, wherein the pointer update is an update to one of a head pointer or a tail pointer of the shared buffer region; writing, by the first device, the pointer update to a signal notification channel between the memory flow controller and a storage area in a second device in the data processing system, wherein the second device is a second synergistic processing unit; updating, by the second device, a pointer stored in a second register in the storage area of the second device with the pointer update in response to the pointer update being written to the signal notification channel by the first device determining, by either the first device or the second device, whether the shared buffer region is full; responsive to the first device determining that the shared buffer region is full, entering, by the first device, a low-power consumption waiting state waiting for a predetermined amount of storage space to be freed in the shared buffer region before additional data may be written to the shared buffer region; and responsive to the second device determining that the shared buffer region is full, entering, by the second device, the low-power consumption waiting state waiting for the predetermined amount of storage space to be freed in the shared buffer region before the additional data may be written to the shared buffer region, wherein entering the low-power consumption waiting state comprises placing the signal notification channel in a blocking mode of operation, wherein while in the blocking mode of operation, a channel interface of the first device or the second device periodically issues a read channel count instruction to the signal notification channel to determine a count associated with the notification channel, and wherein if the count associated with the signal notification channel is zero, then the signal notification channel remains in the blocking mode of operation.
地址 Armonk NY US