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 root

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 ...

MOC 6731 MS Windows Server 2008 Erweitern Ihrer Kenntnisse der Anwendungsinfrastruktur-Technologie

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

Konfigurieren und Verwalten von Windows Server als Anwendungsserver mit neuen Serverrollen, Neue Funktionen in IIS 7.0 Anwendungsserver zu verwenden, inklusiv des neuen modularen Konfigurationssystems., Web-Anwendungen mit IIS 7.0 zu verwalten., Problemlösungen für IIS ...

MOC 10778 Implementing Data Models and Reports with Microsoft SQL Server 2012

- u.a. in Berlin, Hamburg, München, Zürich, Freiburg

Die Inhalte sind von Microsoft noch in Bearbeitung. Die finale Agenda ist für Februar 2012 angekündigt Bereits jetzt führen wir für Sie SQL Server 2012 - Schulungen mit CTP3 durch.

MOC 80424 Product Configuration in Microsoft Dynamics AX 2012

- u.a. in Nürnberg, Paderborn, Zürich, Essen, Koblenz

Während dieses 2-tägigen Seminars werden Ihnen alle Fertigkeiten und Kenntnisse vermittelt, die Sie für die normalen und fortgeschritten Funktionen des Product Configuration Features in Microsoft Dynamics AX 2012 benötigen. Hauptthemen dieses Seminars sind das Basis-Setup, ...