Die Performanzanforderungen steigen in allen Bereichen der wissenschaftlichen Forschung rapide an. Mit zunehmender Komplexität und den Datenraten moderner Detektoren werden auch hochentwickelte Computersysteme rasch Teil der Datenerfassung und Kontrolle. Online-Bildrekonstruktion und -analyse ermöglichen das Design komplexer Experimente. Wissenschaftler erhalten in Echtzeit einen Überblick über das Experiment und sind in der Lage, Prozesse auf der Grundlage visueller Informationen entweder automatisch oder manuell zu steuern. Darüber hinaus werden in  einem Zeithorizont von 10 Jahren Detektoren existieren, welche Terabits an Daten pro Sekunde erzeugen. Die Leistungsfähigkeit von Speichersystemen bleibt weit dahinter zurück. Dies macht es notwendig, Daten von wissenschaftlicher Relevanz bereits in der Phase der Datenerfassung zu identifizieren, zu extrahieren und eine weitere Datenkompression durchzuführen, wann immer dies möglich ist.

Rechenarchitekturen ändern sich schnell und bieten eine zunehmende Vielfalt an Technologien, die für verschiedene Anwendungen geeignet sind. Die jüngsten Fortschritte sind gekennzeichnet durch hohe Parallelität und zunehmende Heterogenität der Rechnerarchitekturen sowie eine sich weiter vergrößernde Kluft zwischen Rechenleistung und Speicherbandbreite. Eine Vielzahl von Computertechnologien, einschließlich Mehrkern-CPUs, GPUs und FPGAs, sind auf den meisten HPC-Plattformen leicht verfügbar. Die für die Arbeitslasten des maschinellen Lernens optimierte Rechenhardware wird von allen großen Anbietern sowohl als spezielle Blöcke in neueren GPU- und FPGA-Architekturen als auch als eigenständige Produkte eingeführt. Berechnungen mit reduzierter Präzision haben im Zusammenhang mit Anwendungen für das maschinelle Lernen einen erheblichen Auftrieb erhalten und wurden schnell für eine breite Palette leistungskritischer Aufgaben übernommen. Diese Technologie ist besonders für Online-Anwendungen relevant, bei denen nur so viel Auflösung erforderlich ist, wie benötigt wird um Entscheidungen mit hinreichender Sicherheit treffen zu können.

Um die verfügbare Rechenleistung einer gegebenen Architektur voll auszuschöpfen, wird es umso wichtiger, bestehende Algorithmen zu parallelisieren und die Implementierungen für die Zielarchitekturen fein abzustimmen. Heutzutage muss das betrachtete Rechenmodell mit mehreren Ebenen der Parallelität umgehen können. Selbst im einfachsten Fall wird die Rechenlast zunächst auf die Rechenknoten verteilt, dann auf die Recheneinheiten innerhalb jedes Knotens (GPUs, FPGAs), und schließlich soll die inhärente Parallelität jeder Einheit ausgenutzt werden. Fortgeschrittene Anwendungen könnten eine verborgene Parallelität nutzen, die innerhalb einiger Recheneinheiten verfügbar ist, und eine weitere Schicht der Planung hinzufügen. Komplexe Cache-Hierarchien auf jeder Ebene und Kommunikationsasymmetrien zwischen den Einheiten innerhalb desselben Knotens und zwischen verschiedenen Knoten erschweren zusätzlich den Datenfluss und das Scheduling. Die besten Ergebnisse können nur dann erzielt werden, wenn aufgabenspezifische Qualitätsanforderungen, die Vielfalt der möglichen Algorithmen und alle Aspekte der zugrundeliegenden Rechnerplattform insgesamt ganzheitlich betrachtet werden. Hier sind die Leistungsmodellierung und -analyse unverzichtbare Instrumente zur Identifizierung von Leistungsengpässen.

Kleinen Forschungsgruppen fehlt es an Fachwissen und Ressourcen, die für die Entwicklung immer ausgefeilterer DAQ-Systeme erforderlich sind. Unser Ziel am IPE ist es, die Lücke zwischen Detektorentwicklungsgruppen und Rechenzentren mit ihren HPC-Clustern zu schließen.  Wir sehen IaaS- und PaaS-Infrastrukturen als Kernbausteine für eine gemeinsame Infrastruktur, um Daten vom Detektor direkt in das lokale Rechenzentrum zu pushen und für die Online-Datenverarbeitung und -reduktion auf HPC-Ressourcen zurückzugreifen. Wir entwickeln Technologien zur Organisation eines schnellen und zuverlässigen Datenflusses zwischen Detektor und HPC-Infrastruktur. Wir entwerfen auch umfassende Steuerungs- und Datenerfassungssysteme, die sowohl Hardware- als auch Softwarekomponenten umfassen und bei denen wir größte Sorgfalt darauf verwenden, die Software für die gewählte Hardwarekonfiguration zu optimieren.

Unsere Kompetenzen

Am IPE verfügen wir über ein breites Spektrum an Kompetenzen in den Bereichen Algorithmen, Rechenmodelle, Hardwarearchitekturen und Kommunikationsprotokolle. Wir betreiben einen Entwicklungscluster, der mit mehreren Generationen von GPUs von AMD und NVIDIA und zwei Arten von schnellen Interconnects auf der Basis von Infiniband- und Ethernet-Technologien ausgestattet ist. FPGAs von Xilinx und Altera sind ebenfalls verfügbar. Zu den Hauptforschungsgebieten gehören:

  • Parallele Algorithmen
    • Lineare Algebra
    • Röntgen-Tomographie
    • Ultraschall-Tomographie
    • Teilchenbild-Geschwindigkeitsmessung
    • Hochenergie-Teilchenphysik
  • Hochleistungsrechnen für Online-Anwendungen
    • Heterogenes Rechnen mit CPUs, GPUs, FPGAs und benutzerdefinierten Beschleunigern
    • Berechnungen mit reduzierter Genauigkeit und hardware-aware Techniken
    • Parallele Programmierung mit CUDA und OpenCL
    • Multi-GPU und verteiltes Rechnen mit NVIDIA GPUDirect und AMD DirectGMA
    • Benchmarking, Leistungsanalyse und Software-Optimierung
  • Datenakquisition mit hoher Bandbreite und Steuerung mit niedriger Latenz
    • Linux-Kernel-Entwicklung, PCI-Treiber, Scatter-Gather-DMA-Engines usw.
    • Verteilte Hochgeschwindigkeitsspeicher mit iSER, DRBD und Linux AIO
    • Verteilte Dateisysteme für datenintensive Arbeitslasten (GlusterFS, CePH, BeeGFS)
    • Infiniband- und Ethernet-Netzwerke mit niedriger Latenz unter Verwendung von RDMA- und ROCe-Technologien
    • Langsame Steuerungsplattformen von EPICS und National Instruments 
  • Datenintensive Cloud
    • IaaS- (VMWare, oVirt und KVM) und PaaS- (OpenShift/Kubernetes) Cloud-Infrastruktur für datenintensive Anwendungen
    • Optimierte Kommunikation von CRI-O-Containern innerhalb der Infrastruktur von Kubernetes
    • Wissenschaftliche Workflow-Engines für Cloud-Umgebungen
    • HPC- und Datenbank-Arbeitslasten in Cloud-Umgebungen
    • Desktop-Bildanalyse-Anwendungen in Cloud-Umgebungen

Schwerpunkt unserer Anwendungen ist die Online-Datenverarbeitung, -steuerung und -überwachung. Ein prominentes Beispiel sind schnelle Bildgebungsalgorithmen für Röntgen- und Ultraschalltomographie. Im Rahmen des UFO-Projekts ermöglichte unsere Technologie den Bau einer neuartigen Beamline für Tomographie mit hohem Durchsatz und hoher Zeitauflösung einschließlich Online-Überwachung und bildgesteuertem Regelkreis. Ein weiteres unserer Leitprojekte ist ein GPU-basierter Prototyp eines L1-Spurtriggers für das CMS-Experiment. Weitere Anwendungen befinden sich in der Materialwissenschaft und der Strömungsmechanik.

Unsere Technologien

  • DAQ für hochauflösende Bildsensoren
  • DAQ für Hochenergiephysik
  • DAQ für KATRIN
  • DAQ für supraleitende Sensoren
  • DAQ für Tristan
  • GPU-Computing
  • Medizinische Bildverarbeitung
  • Mess- und Steuerelektronik für Katrin
  • Neuronale Netze für Beschleunigerphysik
  • Slow Control und Datenmanagement
  • Terabit/s Optische Datenübertragung
  • Ultraschall-Computertomographie
  • Ultraschall-Therapiesysteme
  • Ultraschnelle Röntgenbildgebung

Für Studierende

Wir bieten eine Vielzahl von Forschungsthemen für Studierende, die sich für Hochleistungsrechnen, Leistungsanalyse und Optimierung interessieren. Wir bieten laufend Praktika zum Thema "Software-Optimierung" an.  Spezifischere Themen können im Rahmen von Masterarbeiten im Rahmen laufender Projekte bearbeitet werden.  

Im Allgemeinen erwarten wir vorherige Erfahrung in paralleler Programmierung. Wir würden uns freuen, Sie am IPE begrüßen zu dürfen, wenn Sie C beherrschen und über einige Erfahrung in CUDA/OpenCL oder/und Multi-Threaded-Programmierung verfügen. Wenn Sie über die erforderliche Erfahrung verfügen und in der Lage sind, selbständig zu arbeiten, sind wir auch flexibel genug, um Themen an Ihre Interessen anzupassen und vielleicht sogar ein neues Thema im Bereich des Hochleistungsrechnens zu definieren.