Multiprozessoren mit verteiltem Speicher

Allgemeine Rechnerorganisation

截屏2020-07-31 12.24.23

Nachrichtenorientiertes Programmiermodell (Message Passing Model)

截屏2020-07-31 12.25.08

Message-passing Primitive

Synchrones Message-Passing

  • Sender blockiert, bis die Nachricht beim Empfänger angekommen ist.

  • Ebenso muss der Empfänger blockieren, bis die Nachricht empfangen worden ist und in den gewünschten lokalen Speicher kopiert worden ist

  • Bsp

    截屏2020-07-31 12.27.23
    • A=10 wird an den Empfänger P2 geschickt
    • P2 muss blockieren, bis der Inhalt der Nachricht (10) in die lokale Variable B kopiert worden ist.
  • Deadlock-Gefahr!!!!

    截屏2020-07-31 12.57.41
    • Der Sender und der Empfänger blockieren, bis die Nachrichtenübertragung beendet ist, d.h. bis ein korrespondierendes SEND/RECV Paar ausgeführt ist
    • P1 und P2 sind blockiert bei ihren jeweiligen SEND-Primitiven, da beide auf ihr korrespondierendes RECV warten. 🤪
  • Kombination von Synchronisation und Kommunikation in einer Primitive kann zu L eistungsverlust führen!

Asynchrones Message-Passing

💡 Überlappung von Kommunikation und Berechnung

  • Blockierendes asynchrones SEND
    • Gibt die Kontrolle an den Sende-Prozess zurück, wenn
      • die zu versendenden Daten in einem Puffer kopiert worden sind und
      • nicht mehr durch die Berechnung verändert werden können
    • Blockierendes asynchrones RECV
      • Gibt ebenso die Kontrolle NICHT an den Empfangsprozess zurück, bis die Nachricht in einen lokalen Adressraum gespeichert worden ist
    • Nichtblockierende asynchrones Kommunikationsprimitive
      • Die Kontrolle wird SOFORT an den Sende- bzw. Empfangsprozess zurückgegeben und der Datentransfer läuft im Hintergrund
    • Probe-Funktionen
      • Prüfen ob Daten vom lokalen Adressraum des Senders in einen Puffer kopiert worden sind, bzw. ob der Empfänger die Daten kopiert hat

Message-passing Protokolle

Sender-initiiertes Message-Passing Protokoll (synchron): Drei-Phasen- Protokoll

截屏2020-07-31 13.07.50

Empfänger-initiiertes Message-Passing Protokoll (synchron)

截屏2020-07-31 13.08.11

Hardware-Unterstützung für Message-passing Protokolle

Software-Overhead

截屏2020-07-31 13.09.20

Hardware-Support für Message-Passing: DMA

截屏2020-07-31 13.09.56

Hardware-Support für Message-Passing: Kommunikationsprozessor

截屏2020-07-31 13.10.19

Previous