no fied access extending remote memory access programming
play

No/fied Access: Extending Remote Memory Access Programming - PowerPoint PPT Presentation

spcl.inf.ethz.ch @spcl_eth R OBERTO B ELLI , T ORSTEN H OEFLER No/fied Access: Extending Remote Memory Access Programming Models for Producer-Consumer Synchroniza/on


  1. spcl.inf.ethz.ch @spcl_eth R OBERTO ¡B ELLI , ¡T ORSTEN ¡H OEFLER ¡ No/fied ¡Access: ¡Extending ¡Remote ¡Memory ¡Access ¡ ¡ Programming ¡Models ¡for ¡Producer-­‑Consumer ¡Synchroniza/on ¡ ¡

  2. spcl.inf.ethz.ch @spcl_eth C OMMUNICATION IN T ODAY ’ S HPC S YSTEMS § The de-facto programming model: MPI-1 § Using send/recv messages and collectives § The de-facto network standard: RDMA § Zero-copy, user-level, os-bypass, fuzz-bang 2

  3. spcl.inf.ethz.ch @spcl_eth P RODUCER -C ONSUMER R ELATIONS § Most important communication idiom § Some examples: § Perfectly supported by MPI-1 Message Passing § But how does this actually work over RDMA? 3

  4. spcl.inf.ethz.ch @spcl_eth MPI-1 M ESSAGE P ASSING – S IMPLE E AGER 4 [1]: T. S. Woodall, G. M. Shipman, G. Bosilca, R. L. Graham, and A. B. Maccabe, “High performance RDMA protocols in HPC.”, EuroMPI’06

  5. spcl.inf.ethz.ch @spcl_eth MPI-1 M ESSAGE P ASSING – S IMPLE E AGER 5 [1]: T. S. Woodall, G. M. Shipman, G. Bosilca, R. L. Graham, and A. B. Maccabe, “High performance RDMA protocols in HPC.”, EuroMPI’06

  6. spcl.inf.ethz.ch @spcl_eth MPI-1 M ESSAGE P ASSING – S IMPLE E AGER 6 [1]: T. S. Woodall, G. M. Shipman, G. Bosilca, R. L. Graham, and A. B. Maccabe, “High performance RDMA protocols in HPC.”, EuroMPI’06

  7. spcl.inf.ethz.ch @spcl_eth MPI-1 M ESSAGE P ASSING – S IMPLE E AGER Critical path: 1 latency + 1 copy 7 [1]: T. S. Woodall, G. M. Shipman, G. Bosilca, R. L. Graham, and A. B. Maccabe, “High performance RDMA protocols in HPC.”, EuroMPI’06

  8. spcl.inf.ethz.ch @spcl_eth MPI-1 M ESSAGE P ASSING – S IMPLE R ENDEZVOUS 8 [1]: T. S. Woodall, G. M. Shipman, G. Bosilca, R. L. Graham, and A. B. Maccabe, “High performance RDMA protocols in HPC.”, EuroMPI’06

  9. spcl.inf.ethz.ch @spcl_eth MPI-1 M ESSAGE P ASSING – S IMPLE R ENDEZVOUS 9 [1]: T. S. Woodall, G. M. Shipman, G. Bosilca, R. L. Graham, and A. B. Maccabe, “High performance RDMA protocols in HPC.”, EuroMPI’06

  10. spcl.inf.ethz.ch @spcl_eth MPI-1 M ESSAGE P ASSING – S IMPLE R ENDEZVOUS 10 [1]: T. S. Woodall, G. M. Shipman, G. Bosilca, R. L. Graham, and A. B. Maccabe, “High performance RDMA protocols in HPC.”, EuroMPI’06

  11. spcl.inf.ethz.ch @spcl_eth MPI-1 M ESSAGE P ASSING – S IMPLE R ENDEZVOUS 11 [1]: T. S. Woodall, G. M. Shipman, G. Bosilca, R. L. Graham, and A. B. Maccabe, “High performance RDMA protocols in HPC.”, EuroMPI’06

  12. spcl.inf.ethz.ch @spcl_eth MPI-1 M ESSAGE P ASSING – S IMPLE R ENDEZVOUS 12 [1]: T. S. Woodall, G. M. Shipman, G. Bosilca, R. L. Graham, and A. B. Maccabe, “High performance RDMA protocols in HPC.”, EuroMPI’06

  13. spcl.inf.ethz.ch @spcl_eth MPI-1 M ESSAGE P ASSING – S IMPLE R ENDEZVOUS Critical path: 3 latencies 13 [1]: T. S. Woodall, G. M. Shipman, G. Bosilca, R. L. Graham, and A. B. Maccabe, “High performance RDMA protocols in HPC.”, EuroMPI’06

  14. spcl.inf.ethz.ch @spcl_eth C OMMUNICATION IN T ODAY ’ S HPC S YSTEMS § The de-facto programming model: MPI-1 § Using send/recv messages and collectives § The de-facto hardware standard: RDMA § Zero-copy, user-level, os-bypass, fuzz bang 14 http://www.hpcwire.com/2006/08/18/a_critique_of_rdma-1/

  15. spcl.inf.ethz.ch @spcl_eth R EMOTE M EMORY A CCESS P ROGRAMMING § Why not use these RDMA features more directly? § A global address space may simplify programming § … and accelerate communication § … and there could be a widely accepted standard § MPI-3 RMA (“MPI One Sided”) was born § Just one among many others (UPC, CAF, … ) § Designed to react to hardware trends, learn from others § Direct (hardware-supported) remote access § New way of thinking for programmers 15 [1] http://www.mpi-forum.org/docs/mpi-3.0/mpi30-report.pdf

  16. spcl.inf.ethz.ch @spcl_eth MPI-3 RMA S UMMARY § MPI-3 updates RMA (“MPI One Sided”) § Significant change from MPI-2 § Communication is „one sided” (no involvement of destination) § Utilize direct memory access § RMA decouples communication & synchronization § Fundamentally different from message passing one sided two sided Proc B Proc A Proc A Proc B Communication send Communication put + recv Synchronization sync Synchronization 16 [1] http://www.mpi-forum.org/docs/mpi-3.0/mpi30-report.pdf

  17. spcl.inf.ethz.ch @spcl_eth MPI-3 RMA C OMMUNICATION O VERVIEW Process B (active) Memory Process A (passive) Memory Put Non-atomic communication calls (put, get) MPI window Atomic Get MPI window Process C (active) … Process D (active) … Atomic communication calls (Acc, Get & Acc, CAS, FAO) 17

  18. spcl.inf.ethz.ch @spcl_eth MPI-3 RMA C OMMUNICATION O VERVIEW Process B (active) Memory Process A (passive) Memory Put Non-atomic communication calls (put, get) MPI window Atomic Get MPI window Process C (active) … Process D (active) … Atomic communication calls (Acc, Get & Acc, CAS, FAO) 18

  19. spcl.inf.ethz.ch @spcl_eth MPI-3 RMA C OMMUNICATION O VERVIEW Process B (active) Memory Process A (passive) Memory Put Non-atomic communication calls (put, get) MPI window Atomic Get MPI window Process C (active) … Process D (active) … Atomic communication calls (Acc, Get & Acc, CAS, FAO) 19

  20. spcl.inf.ethz.ch @spcl_eth MPI-3 RMA C OMMUNICATION O VERVIEW Process B (active) Memory Process A (passive) Memory Put Non-atomic communication calls (put, get) MPI window Atomic Get MPI window Process C (active) … Process D (active) … Atomic communication calls (Acc, Get & Acc, CAS, FAO) 20

  21. spcl.inf.ethz.ch @spcl_eth MPI-3 RMA C OMMUNICATION O VERVIEW Process B (active) Memory Process A (passive) Memory Put Non-atomic communication calls (put, get) MPI window Atomic Get MPI window Process C (active) … Process D (active) … Atomic communication calls (Acc, Get & Acc, CAS, FAO) 21

  22. spcl.inf.ethz.ch @spcl_eth MPI-3 RMA S YNCHRONIZATION O VERVIEW Active Target Mode Passive Target Mode Active process Passive process Fence Lock Synchroni- zation Communi- cation Post/Start/ Lock All Complete/Wait 22

  23. spcl.inf.ethz.ch @spcl_eth MPI-3 RMA S YNCHRONIZATION O VERVIEW Active Target Mode Passive Target Mode Active process Passive process Fence Lock Synchroni- zation Communi- cation Post/Start/ Lock All Complete/Wait 23

  24. spcl.inf.ethz.ch @spcl_eth MPI-3 RMA S YNCHRONIZATION O VERVIEW Active Target Mode Passive Target Mode Active process Passive process Fence Lock Synchroni- zation Communi- cation Post/Start/ Lock All Complete/Wait 24

  25. spcl.inf.ethz.ch @spcl_eth MPI-3 RMA S YNCHRONIZATION O VERVIEW Active Target Mode Passive Target Mode Active process Passive process Fence Lock Synchroni- zation Communi- cation Post/Start/ Lock All Complete/Wait 25

  26. spcl.inf.ethz.ch @spcl_eth MPI-3 RMA S YNCHRONIZATION O VERVIEW Active Target Mode Passive Target Mode Active process Passive process Fence Lock Synchroni- zation Communi- cation Post/Start/ Lock All Complete/Wait 26

  27. spcl.inf.ethz.ch @spcl_eth I N CASE YOU WANT TO LEARN MORE MPI-3 RMA S YNCHRONIZATION O VERVIEW Active Target Mode Passive Target Mode Active process Passive process Fence Lock Synchroni- How to implement producer/consumer in passive mode? zation Communi- cation Post/Start/ Lock All Complete/Wait 27

  28. spcl.inf.ethz.ch @spcl_eth O NE S IDED – P UT + S YNCHRONIZATION 28

  29. spcl.inf.ethz.ch @spcl_eth O NE S IDED – P UT + S YNCHRONIZATION 29

  30. spcl.inf.ethz.ch @spcl_eth O NE S IDED – P UT + S YNCHRONIZATION 30

  31. spcl.inf.ethz.ch @spcl_eth O NE S IDED – P UT + S YNCHRONIZATION Critical path: 3 latencies 31

  32. spcl.inf.ethz.ch @spcl_eth C OMPARING A PPROACHES Message Passing One Sided 1 latency + copy / 3 latencies 3 latencies 32

  33. spcl.inf.ethz.ch @spcl_eth I DEA : RMA N OTIFICATIONS § First seen in Split-C (1992) § Combine communication and synchronization using RDMA § RDMA networks can provide various notifications § Flags § Counters § Event Queues 33

  34. spcl.inf.ethz.ch @spcl_eth C OMPARING A PPROACHES Message Passing One Sided Notified Access 1 latency + copy / 3 latencies 1 latency 3 latencies 34

  35. spcl.inf.ethz.ch @spcl_eth C OMPARING A PPROACHES But how to notify? Message Passing One Sided Notified Access 1 latency + copy / 3 latencies 1 latency 3 latencies 35

  36. spcl.inf.ethz.ch @spcl_eth P REVIOUS WORK : O VERWRITING I NTERFACE § Flags (polling at the remote side) § Used in GASPI, DMAPP, NEON § Disadvantages § Location of the flag chosen at the sender side § Consumer needs at least one flag for every process § Polling a high number of flags is inefficient 36

  37. spcl.inf.ethz.ch @spcl_eth P REVIOUS WORK : C OUNTING I NTERFACE § Atomic counters (accumulate notifications → scalable) § Used in Split-C, LAPI, SHMEM - Counting Puts, … § Disadvantages § Dataflow applications may require many counters § High polling overhead to identify accesses § Does not preserve order (may not be linearizable) 37

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend