% !TeX spellcheck = de_DE \subsection{Kommunikation} \begin{itemize} \item klassicher Ansatz aus \begriff{TCP/UDP}, \begriff{IP} und \begriff{Sockets} für Cluster oft nicht ausreichend: \begin{itemize} \item viele Schichten mit jeweiligem Overhead \item teure \begriff{syscall}s notwendig \item insbesondere TCP besitzt viele schwergewichtige Sicherungsmechanismen (+ Slow-Start) \end{itemize} \item wichtige Aspekte für effiziente Kommunikation: \begin{itemize} \item Mechanismus für Datentransfer (\begriff{Programmed IO} (PIO) vs. \begriff{Direct Memory Access} (DMA)): RAM $\rightarrow$ NIC, NIC $\rightarrow$ NIC, NIC $\rightarrow$ RAM \item Speicherverwaltung (schnelles Auflösen virtueller Adressen, Pinning von für DMA relevanten Pages) \item Schutz für Userspace-Adressräume (private DMA-Bereiche) \item Benachrichtigung beim Empfänger (Polling vs. Interrupts) \item Zuverlässigkeit der Datenübertragung (hardware- oder software-basiert) \end{itemize} \item \begriff{InfiniBand}: \begin{itemize} \item hohe Bandbreite, niedrige Latenz \item unterstützt \enquote{Zero-Copy Data Transfers} und \begriff{Remote DMA} \item Hardware-Komponenten: \begriff{Host Channel Adapter} (HCA, für Rechner), \begriff{Target Channel Adapter} (TCA, für Storage), Switches, Router \item Topologie: Punkt-zu-Punkt-Verbindungen durch Switches \item Zuverlässigkeit: Unterstützung für redundante Verbindungen, QoS, 16 virtuelle Lanes mit getrennten Bandbreiten und Flusskontrolle \end{itemize} \end{itemize}