MOC 50291 Developing High-Performance Applications Using Microsoft Windows HPC Server 2008

Das Seminar "MOC 50291 Developing High-Performance Applications Using Microsoft Windows HPC Server 2008" ist seitens des Herstellers nicht mehr verfügbar, bzw. abgekündigt. Wir können Ihnen diese Schulung in Form eines Workshops in Ihrem Unternehmen oder in unserem Schulungszentrum anbieten.

Seminarinformationen

Seminar - Ziel

Diese 5-tägige Seminar vermittlet den Teilnehmern das Wissen und die Fähigkeiten High-Performance Computing (HPC)-Anwendungen für Microsoft Windows HPC Server 2008 zu entwickeln. Sie lernen das Produkt Microsoft Windows HPC Server 2008 sowie Vorgehensweisen für Design, Debugging, Tuning und Betrieb von High-Performance Computing-Anwendungen unter HPC Server 2008 kennen. Weiter werden Technologien für das Erstellen von HPC-Anwendungen vorgestellt, einschließlich Parametric Sweep, Multithreading, OpenMP, .NET Task Parallel Library, MPI, MPI.NET und der SOA-basierte Ansatz für HPC Server. Die Teilnehmer programmieren in Visual C++ sowie C# und arbeiten sowohl mit managed als auch unmanaged Code.
Der Kurs kann zur Vorbereitung auf die Zertifizierung als Microsoft Certified Technology Specialist (MCTS): Windows HPC Server 2008, Development genutzt werden.

Teilnehmer - Zielgruppe

Softwareentwickler

Kurs - Voraussetzungen

  • Grundlegende Erfahrung mit der Windows-Plattform
  • Grundlegende Programmiererfahrung mit Windows Visual Studio
  • Mindestens zweijährige Programmiererfahrung mit C++ oder C#

Seminardauer

  • 5 Tage
  • 09:00 Uhr bis 17:00 Uhr

Schulungsunterlagen

  • nach Absprache

Seminar-Inhalt / Agenda

Einführung in das High-Performance Computing und Windows HPC Server 2008

  • Motivation
  • Überblick: Komponenten, Job Submission, Scheduler
  • Compute Cluster Server (CCS)und High Performance Computing Server (HPCS)
  • Produktunterscheidungsmerkmale
  • Softwareentwicklungs-Technologien: Parametric Sweep, Threads, OpenMP, MPI, SOA, etc.
  • Performance Messung – linearer Speedup
  • Performance Vorhersagung – Amdahl’s Gesetz

Multi-threading für bessere Performance

  • Multi-threading zur verbesserten Reaktionsfähigkeit und Performance
  • Kosten des Multi-threading
  • Strukturierter, Fork-join Parallelismus
  • Multi-threading mit C# bei Nutzung der .NET Thread Class
  • Multi-threading mit VC++ bei Nutzung der Windows API
  • Lastenausgleich / Load Balancing
  • Planung von Multi-thread Apps auf dem Windows HPC Server

Gefahren des Multithreading

  • Gleichzeitigkeitsbedingungen
  • Kritische Sections
  • Starvation
  • Livelock
  • Deadlock
  • Implikationen des Compilers und der Sprache
  • Speichermodelle
  • Locks
  • Interlocking
  • Lock-free-Designs

HPCS Job Scheduler

  • Durchsatz vs. Performance
  • Nodes vs. Sockets vs. Cores
  • Jobs vs. Tasks
  • Job- und Task- Status
  • Standart Scheduling Richtlinien
  • Die Wirkung von Job Prioritäten and Job Vorrechte/Preemption
  • Job Ressourcen und dynamisches Wachsen / Schrumpfen
  • Submission- und Aktivierungs-Filter

Design paralleler Anwendungen

  • Zwei beispielhafte Design Probleme
  • Foster’s Methode
  • Verbreitete Probleme der Dekomposition
  • Verbreitete Kommunikations-Schemata
  • Design-Schemata: Master-Worker, Pipeline, Map-reduce, SOA, Parametric Sweep, etc.

Einführung in OpenMP (Open MultiProcessing)

  • Überblick
  • Shared-Memory Programmierung
  • Nutzung von OpenMP im Visual Studio mit VC++
  • Parallele Regions
  • Execution Modell
  • Daten-Parallelismus
  • Lastenausgleich/Load Balancing, statisches vs. dynamisches Scheduling
  • Scheduling von OpenMP-Apps auf Windows HPC Server

Messen der Performance im Cluster

  • Barrieren
  • Kritische Sektionen
  • Synchronisations-Ansätze
  • Impelmentierung von verbreiteten Design Schemata – conditional, task, master-worker, nested
  • Daten Kohärenz und Flushing
  • Umgebungs-Variablen
  • Häufige Fehler

Einführung in die .NET Task Parallel Library (TPL)

  • Überblick
  • Von Threads zu Tasks
  • Nutzung der TPL im Visual Studio mit C#
  • Execution Modell
  • Parallel.For
  • Daten- und Anwendungs-Parallelismus
  • Synchronisierte Ansätze
  • Konkurrierende Datenstrukturen
  • Scheduling von auf TPL-basierenden Apps auf dem Windows HPC Server

Interfacing mit HPCS-basierten Clustern

  • Cluster Manager
  • Job Manager
  • Job Description Dateien
  • clusrun
  • Konsole-Fenster
  • PowerShell
  • Skripte
  • Zugang mittels HPCS API v2.0

Einführung in SOA (service-orientierte Architektur) mit HPC Server 2008

  • Überblick: Servic-orientierte-Architekturen
  • SOA und WCF
  • Mapping von SOA auf Jobs und dem Job-Scheduler
  • Private- vs. Shared-Sessions
  • Sichere vs unsichere Sessions

Erstellen SOA-basierter Anwendungen mit HPC Server 2008

  • Service-Side Programmierung
  • Service Konfiguration
  • Client-Side Programmierung
  • WCF Konfiguration und Tracing

Performance Tuning paralleler Anwendungen

  • Performance Counter
  • Heat-Map im Windows HPC Server 2008
  • Anpassung der Heat-Map
  • perfmon
  • xperf (aka the Windows Performance Toolkit)
  • SOA Tuning
  • Andere Werkzeuge

Einführung in MPI (Message-Passing Interface)

  • Shared-Memory vs. distributed-Memory
  • Die Essenz der MPI Programmierung – message-passing SPMD
  • Microsoft MPI
  • Nutzung von MSMPI im Visual Studio mit VC++
  • Execution Model
  • MPI Senden und Empfangen
  • mpiexec
  • Scheduling von MPI Apps auf dem Windows HPC Server

Datenparallelismus und kollektive Operationen in MPI

  • Datenparallelismus in MPI
  • Ein Beispiel aus der echten Welt
  • Broadcast
  • Scatter/Streuen
  • Gather/Sammeln
  • Barrieren
  • Reduktionen
  • Design eines eigenen Reduktions-Operator
  • Häufige Fehler

MPI.NET

  • Gründe für MPI.NET
  • Nutzung von MPI.NET im Visual Studio mit C#
  • Type-Safe Senden und Empfangen
  • Kollektive Operationen in MPI.NET
  • Execution Model
  • Scheduling MPI.NET Apps auf dem Windows HPC Server

Einsatz von MPI - Debugging, Tracing und andere Tools

  • Lokales Debugging mit Visual Studio
  • Remote Debugging mt Visual Studio
  • Überblick: MPI Tracing
  • Tracing mit ETW(Event Tracing for Windows)
  • Trace Visualisierung
  • Weitere Tools für MPI Entwickler

Design von MPI-Anwendungen

  • Verbergen von Latenzen mittels Überlappung von Berechnung und Kommunikation
  • Vermeidung von Deadlocks
  • Hybrid-Designs mit sowohl MPI als auch OpenMP
  • Buffering
  • Fehler-Handling
  • I/O und große Datensets

MPI-2

  • Gruppen
  • Communicators
  • Topologien
  • Nicht-skaläre Daten: packen/entpacken, nicht-zusammenhängende Arrays, und nutzer-definierte Datentypen
  • MPI I/O
  • Remote Memory Zugriff

Excel-basierte HPC-Anwendungen

  • Excel als Computation Engine
  • Durchführung von Excel Computation auf dem Windows HPC Server 2008
  • Nutzung von Excel Services
  • Nutzung von Excel UDFs
  • Zukünftige Versionen von Excel und HPC Server

Portieren von UNIX-Anwendungen auf Windows HPC Server 2008

  • Das meist verbreitete Portierungs-Fragen
  • 32-bit zu 64-bit
  • UNIX calls
  • Manuelle Portierung von UNIX Code
  • Cygwin
  • MinGW
  • Microsoft SUA – Subsystem für UNIX-basierte Anwendungen

Open Grid Forum (OGF) HPC Basic Profile

  • Überblick: OGH HPC Basic Profile
  • Plattform-Neutrale Submission
  • JSDL – Job Submission Description Language
  • Enabling in Windows HPC Server 2008

Setup und Administration von Windows HPC Server 2008

  • Hardware-Anforderungen
  • Software-Anforderungen
  • Grundlegende Entscheidungen
  • Head-Node Setup
  • Compute-Node Setup
  • Broker-Node Setup
  • Developer-Machine Setup
  • Diagnose
  • Wartung – einschließlich Performance
  • Troubleshooting

Weitere Schulungen zu Thema Abgekündigte Seminare

MOC 50068 MS SQL Server 2008 für erfahrene Oracle Datenbankadministratoren

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

Verstehen der Architektur des SQL Servers. Sie sind selbstständig in der Lage das SQL Server System, die Datenbanken und Benutzer zu verwalten. Es werden Ihnen die Möglichkeiten der Tools aufgezeigt um Orakel-Diagramme zu SQL Server- Datenbanken zu migrieren.

MOC 6730 Aufbaukurs - Netzwerkinfrastruktur- und Active Directory-Technologie für Windows Server 2008

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

Windows Server 2008 zu installieren und zu konfigurieren., Windows Server Core-Rollen hinzuzufügen und zu konfigurieren., Die neue Sicherungs-Infrastruktur, einschließlich des Volumeschattenkopie-Dienstes zu erläutern., Neue und verbesserte Netzwerkfunktionen mit Windows ...

Prüfungsvorbereitung Netzteil LPIC-1

- u.a. in Stuttgart, Paderborn, Wien, Dresden, Düsseldorf

Der Kurs bereitet Sie auf den Netzteil der LPIC-1 Prüfung vor.

MOC 40004 Programming Windows 8 Metro Style Apps using C#

- u.a. in Frankfurt am Main, Wien, Dresden, Koblenz, Darmstadt

Innerhalb dieses 3-tägigen Seminars gewinnen Sie erste Einblicke in die Funktionen der Metro Style App-Programmierung für Windows 8 mit C#. Sie werden mit Windows 8 vertraut gemacht und lernen, wie Sie erfolgreiche Anwendungen erstellen und im Windows Store veröffentlichen ...