1 / 12

Timestamp Snooping: Extending SMPs with Order Observance

Explore the implementation of timestamp snooping on switched networks for extending SMPs, allowing out-of-order delivery and arbitrary broadcast while maintaining total order of transactions. Evaluate its performance against directory-based protocols.

Download Presentation

Timestamp Snooping: Extending SMPs with Order Observance

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Timestamp snooping: an approach for extending SMPs Milo M. K. Martin et al. Summary by Yitao Duan 3/22/2002

  2. Motivation • Commercial workloads favor SMPs with snooping • Directory-based protocols don’t dominate • However, SMPs have problems • Networks that perform ordered broadcasts are expensive and unable to take advantage of the increasing level of integration • Synchronous broadcast is a poor match for emerging interconnection options • Key observation: order only needs to be observed by transaction processing, not network delivery. • Implementing snooping on switched network.

  3. Timestamp Snooping Networks • Everything happens in logical time. Only relative order matters. • Ordering time (OT): The logical time when this transaction should be processed. • Guarantee time (GT): The local current time at a node in the logical time space. Doesn't have to be the same at all nodes. • At GT, no transaction whose OT <= GT will arrive later

  4. Transaction Processing • Two virtual networks: broadcast address network and data network • Address network operations • Assign OT: Source stamps transaction OT = Source GT + estimated time before being processed at destination • Broadcast: Network broadcasts the transaction • Compute GTs: Switches advance their GTs • Destination Operation: Destinations Process the transactions in OT order – “Bus” arbitration done distributively by destination nodes

  5. A Special Case • Each node has access to a global clock • GT = clock time • OT = Conservative estimate of when the transaction can be serviced • Travel time + queuing time at destination • All processors will process the same transaction at the same time • Same as synchronous broadcast on a bus!

  6. One Network Implementation • Maintain OTs and GTs implicitly • Source assigns slack – time to wait at the destination before it is processed • Token: clock ticks in logical time • Switches exchange tokens and update slack • Initially each input port of a switch has 1 or more tokens

  7. Token Passing Example

  8. Snooping Protocol • Support any subset of MOESI states • Hard to implement owned and shared signals • Eliminate them and add states to memory • Optimizations enabled: • Peeking at buffered transactions and prefetching • Processing other processors’ early transactions to blocks currently in stable states S, I, or not present.

  9. Evaluation • MSI Protocols • TS-Snoop • DirClassic • DirOpt • Network • four indirect radix-4 butterflies • direct 4x4 2D torus • Target System • 16-node SPARC • Solaris 7 • Simulated by extended Simics (with memory hierarchy) • Commercial workload

  10. Performance – Runtime Normalized Runtime with Butterfly (left) and Torus (right)

  11. Performance – Link Traffic Normalized Link Traffic with Butterfly (left) and Torus (right)

  12. Summary and Discussion • SMPs with snooping protocols suitable for commercial workload but bus a bottleneck • Implementing MOESI snooping protocol on switched network • Timestamp each transaction • Allow out of order delivery and arbitrary broadcast • Destinations enforce total order by processing transactions in timestamp order • Trade bandwidth for lower latency • But why compare against directory protocols?

More Related