infiniband low level protocol -...

30
InfiniBand Low Level Protocol Seminar Ausgewählte Themen in Hardwareentwurf und Optik HWS 08 17.12.2008 Andreas Walter Universität Mannheim

Upload: hathuan

Post on 05-Aug-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

InfiniBand Low Level

Protocol

Seminar

Ausgewählte Themen in Hardwareentwurf

und Optik HWS 08

17.12.2008

Andreas Walter

Universität Mannheim

2

Inhalt

Motivation

InfiniBand Basics

Physical Layer

IB Verbs

IB Packetstruktur

IB-RAW Format

Zusammenfassung

Ziel dieser Ausarbeitung

Realisierung von Low Level Protokollen auf einer

vorhanden InfiniBand Architektur, d.h. ein

nicht-InfiniBand konformes Paket soll auf

unteren Layern verschickt werden.

3

Was ist InfiniBand

InfiniBand Architecture (IBA) ist ein

Industriestandard für ein

Hochgeschwindigkeitsnetzwerk

Aus „Future I/O“ (Compaq, IBM, HP) und „Next

Generation I/0“ (Intel, Microsoft, Sun) entstand die

„InfiniBand Trade Association“

Kunstwort aus „infinity“ = Unendlich und

„bandwith“ = Bandbreite

4

Überblick

Ein InfiniBand-Netzwerk besteht aus

Host Channel Adapter (HCA)

Target Channel Adapter (TCA)

Switches

Router

Repeater

Links

5

6

Topologie

[1]

Eigenschaften von IB

Niedrige Latenz

Kein Bus, sondern ein Netzwerk geschalteter

bidirektionaler Verbindungen (Punkt zu Punkt)

Skalierbar

Remote Direct Memory Access (RDMA) fähig

User-Level-Kommunikation

Atomare Operationen

7

Eigenschaften von IB

Redundante Anbindungen möglich

Kupfer oder optische Verbindungen

Switching ist paketbasiert

Routing ist table-based

Flusskontrolle credit-based

IBA beschreibt komplettes Transportsystem (Schicht

1-4)

8

IB in den TOP 500

9

28,4 % aller Systeme der TOP 500 benutzen IB

38,88 % der Gesamtleistung der TOP 500 erbringen IB-Systeme

[4]

IB Architektur Layers

10

[1]

IB-Channel Adapter

Ports

Queue Pairs

Consumer

Local Identifier (LID) 16 bit

Global Identifier (GID) 128 bit

Memory and Translation Mechanism (MTP)

Subnet Management Agent (SMA)

11

[1]

Kommunikation

Basiert auf Queues

Ein Link kann mit Virtual Lanes (VL) mehrfach

verwendet werden

Ein Port besteht aus VLs (0..15)

Adressierung mittels Local IDs (LIDs) und Global

Identifier (GID)

Keys ermöglichen Isolation und Schutz

Mehrfache Pfade zum Ziel möglich

12

Queues und Virtual Lanes

13

[1][1]

IB-Kommunikationsdienste

(Un)Reliable Connection

(Un)Reliable Datagram

RAW IPv6 Datagram (optional)

RAW Ethertype Datagram (optional)

14

Subnetz-Mangager

Initialisation der Fabric

Weist jedem Port eindeutige LID und Subnet ID zu

Führt alle möglichen Pfade zwischen den Endknoten

im Subnetz ein

Reagiert auf Topologieveränderungen

15

[1]

Physical Layer - Link

Signalrate 2,5 Gbits/s

8B/10B Kodierung

Übertragung optisch oder über Kupferkabel

Kupferkabel bis 17 m Länge

Kabellänge der optischen Variante : 300 m bei Multimode-Fasern

10 km bei Singelmode-Fasern

16

[3]

IB-Verbs

Realisiert die Software Schnittstelle zwischen HCA

und Consumer

Ist als Upper-Layer-Protokoll zu verstehen

Verbs lassen sich grundsätzlich in vier Kategorien

einteilen: Transport Resource Management

Multicast

Work Request Processing

Event Handling

17[1]

Packetstruktur

18

LRH Local Route Header

GRH Global Route Header

BTH Base Transport Header

ETH Extended Transport Header

ICRC Invariante CRC

VCRC Variante CRC

[1]

Local Routing Header

19

[2]

Global Routing Header

20

[2]

Base Transport Header

21

[2]

Beispiel für ETH

22

[2]

[2]

IB-RAW Paket

23

Untersuchen, welche IB-Paketteile

benötigt werden, um ein Paket, dass in

der Payload ein anderes Protokoll besitzt

über die IB- Architektur zu verschicken

Bisher gesehen: Aufbau eines Standard-IB

Pakets, bestehend aus LRH, GRH (optional),

BTH, ETH, Payload, ICRC, VCRC

LRH für RAW-Paket

24

[2]

RAW Paket Struktur

25

Die EtherType-Werte, werden von IEEE verwaltet, siehe hierzu

http://standards.ieee.org/regauth/ethertype/

Für eigne Protokolle kann der EtherType-Wert „0x88b5“ oder

„0x88b6“ verwendet werden

Nur der Link-Layer wird benötigt

[2][2]

Raw-Paket Eigenschaften

Es gibt nur Send und Receive Operationen

Kein multi-packet-message möglich, daher muss jede

Nachricht in ein Paket passend

Da kein BTH existiert, gibt es auch keine Möglichkeit

die Ziel-QPs anzugebenPaket am Port von einem CA weis nicht in welche QP es muss, dass

demultiplexing für die QP‘s muss man selber regeln

RAW-Transport ist UnreliableEs gibt keine Response auf ein verschicktes Paket

26

Payload eines RAW-Paketes

Ein Standard-IB-Packet hat eine maximale Payload

von 4096 Bytes (=größte Message Transfer Unit

(MTU))

Wegfall von ICRC, GRH, BTH und ETHPayload vergrößert sich auf:

MTU + 124 (größter Packet Header und CRC) – 8 (LRH) – 4

(RWH)

Bei MTU von 4096 Bytes vergrößert sich die Payload auf 4208

Bytes

27

Zusammenfassung

IB-Spezifikation unterstützt das „tunneln“ von nicht-

IB konformen Paketen

Es wird lediglich der Local Routing Header benötigt

mit entsprechendem LNH-EintragEs ist nur der Physical Layer und der Link-Layer involviert

Die maximale Payload vergrößert sich im Vergleich

zu Standard-IB-Paketen

28

Fragen

Vielen Dank für Ihre Aufmerksamkeit!

Quellen

[1] InfiniBand Architecture Specification Volume 1 & 2,

Release 1.1, November 6, 2002

[2] InfiniBand Network Architecture by MindShare Inc, Tom

Shanely, October 31, 2002

[3] eXtend Computer-Peripherie GmbH. www.extend.de

[4] TOP500 www.top500.org