Is it possible to use the DBID as a conforming acknowledgement in CHI OWO process?

Hello,

  I am reading the owo section of the CHI protocol and it says The Requester must send a CompAck response after receiving DBIDResp, DBIDRespOrd, CompDBIDResp, or Comp responses for the corresponding writes and Comp or CompDBIDResp responses for all earlier related ordered writes.

 However, in the example diagram, the RN is given the CompAck after receiving the comp from the A request, is there a contradiction here? I mean why not give CompAck directly after receiving DBID?

  •  However, in the example diagram, the RN is given the CompAck after receiving the comp from the A request, is there a contradiction here? I mean why not give CompAck directly after receiving DBID?

    The Streaming Ordered Write mechanism requires the RN to delay the CompAck to ensure that a write that is ordered earlier is not observed after a later write can be observed. 

    The write is only guaranteed to be observable when the Comp response is received by the interconnect - see Table B2.7 in the CHI.G Specification.  This means that if CompAck-A was given after the DBIDResp, then the write is not guaranteed to be observable and the ordering mechanism would be broken.

    The last write in the sequence can receive the CompAck without waiting for the Comp if all the earlier writes in the sequence have received their Comp.  All the earlier writes are guaranteed to be observable and so the ordered write ordering is maintained.

    DBIDRespOrd is not required for Ordered Write Observation, and also only guarantees ordering to the same Completer.  The Streaming Ordered Write mechanism ensures ordering of writes across different Completers.  

  • Thank you for your reply.

    I am still confused that why wait to send CompAck-A after Comp-A has received rather than DBID-A? In Fig2.35, as A is the first request, it should be reasonable to assume that all writes before A had received comp responses and CompAck- A should be given after DBID-A has received. This is exactly what B2.5.5.3 talking about, right?