MOC 50291 Developing High-performance Applications using Microsoft Windows HPC Server 2008- Seminare

Seminarinformationen

Seminar-Ziel

In dieser Schulung lernen die Entwickler - High-Performance Computing (HPC) Anwendungen für Microsoft Windows HPC Server 2008 zu entwickeln.
Das Produkt Microsoft Windows HPC Server 2008, die Vorgehensweisen für Design, Debugging, Tuning und Betrieb von High-Performance Computing-Anwendungen unter HPC Server 2008 kennen.

Sowie Technologien für das Erstellen von HPC-Anwendungen werden 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 entwickern in Visual C++ sowie C# und arbeiten sowohl mit verwaltetem (managed) als auch nicht-verwaltetem (unmanaged) Code.

Teilnehmer Zielgruppe

Softwareentwickler

Kurs Voraussetzungen

Entwickler mit sehr guten Kentnissen bezüglich Windows Plattformen

Visual Studio

C++ und/oder C#

Seminardauer

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

Schulungsunterlagen

  • nach Absprache

Seminar-Inhalt / Agenda

Introduction to High-Performance Computing and HPC Server 2008

  • Motivation for HPC
  • Brief product history of CCS and HPCS
  • Brief overview of HPC Server 2008 — components, job submission, scheduler
  • Product differentiators
  • Software development technologies:  parametric sweep, threads, OpenMP, MPI, SOA, etc.
  • Measuring performance — linear speedup
  • Predicting performance — Amdahl’s law

 

Multi-threading for Performance

  • Multi-threading for responsiveness and performance
  • The costs of multi-threading
  • Structured, fork-join parallelism
  • Multi-threading in C# using the .NET Thread class
  • Multi-threading in VC++ using the Windows API
  • Load balancing
  • Scheduling multi-threaded apps on Windows HPC Server

 

The Dangers of Multithreading

  • Race conditions
  • Critical sections
  • Starvation
  • Livelock
  • Deadlock
  • Compiler and language implications
  • Memory models
  • Locks
  • Interlocking
  • Lock-free designs

 

The HPCS Job Scheduler

  • Throughput vs. performance
  • Nodes vs. sockets vs. cores
  • Jobs vs. Tasks
  • Job and task states
  • Default scheduling policies
  • The impact of job priorities and job preemption
  • Job resources and dynamic growing / shrinking
  • Submission and activation filters

 

Parallel Application Design

  • Two sample design problems…
  • Foster’s method
  • Common problem decompositions
  • Common communication patterns
  • Computation vs. communication
  • Design patterns:  master-worker, pipeline, map-reduce, SOA, parametric sweep, and more

 

Introduction to OpenMP

  • What is OpenMP?
  • Shared-memory programming
  • Using OpenMP in Visual Studio with VC++
  • Parallel regions
  • Execution model
  • Data parallelism
  • Load balancing, static vs. dynamic scheduling
  • Scheduling OpenMP apps on Windows HPC Server

 

Running and measuring performance on the cluster

  • Barriers
  • Critical sections
  • Synchronization approaches
  • Implementing common design patterns — conditional, task, master-worker, nested
  • Data coherence and flushing
  • Environment variables
  • Common pitfalls

 

Introduction to the .NET Task Parallel Library

  • What is the TPL?
  • Moving from threads to tasks
  • Using the TPL in Visual Studio with C#
  • Execution model
  • Parallel.For
  • Data and task parallelism
  • Synchronization approaches
  • Concurrent data structures
  • Scheduling TPL-based apps on Windows HPC Server

 

Interfacing with HPCS-based Clusters

  • Cluster Manager
  • Job Manager
  • Job Description Files
  • clusrun
  • Console window
  • PowerShell
  • Scripts
  • Programmatic access via HPCS API v2.0

 

Intro to SOA with HPC Server 2008

  • Service-oriented architectures
  • SOA and WCF
  • Mapping SOA onto Jobs and the Job Scheduler
  • Private vs. shared sessions
  • Secure vs. insecure sessions

 

Create SOA-based Apps with HPC Server 2008

  • Service-side programming
  • Service configuration
  • Client-side programming
  • WCF configuration and tracing

 

General Performance Tuning of Parallel Applications

  • Performance counters
  • Heat map in Windows HPC Server 2008
  • Customizing the heat map
  • perfmon
  • xperf (aka the Windows Performance Toolkit)
  • SOA tuning
  • What to look for…
  • Other tools

 

Introduction to MPI

  • Shared-memory vs. distributed-memory
  • The essence of MPI programming — message-passing SPMD
  • Microsoft MPI
  • Using MSMPI in Visual Studio with VC++
  • Execution model
  • MPI Send and Receive
  • mpiexec
  • Scheduling MPI apps on Windows HPC Server

 

Data Parallelism and MPI’s Collective Operations

  • Data parallelism in MPI
  • A real world example
  • Broadcast
  • Scatter
  • Gather
  • Barriers
  • Reductions
  • Defining your own reduction operator
  • Common pitfalls

 

MPI.NET

  • Why MPI.NET?
  • Using MPI.NET in Visual Studio with C#
  • Type-safe Send and Receive
  • Collective operations in MPI.NET
  • Execution model
  • Scheduling MPI.NET apps on Windows HPC Server

 

Using MPI — Debugging, Tracing, and Other Tools

  • Local debugging with Visual Studio
  • Remote debugging with Visual Studio
  • General MPI tracing
  • Tracing with ETW (Event Tracing for Windows)
  • Trace visualization
  • Other tools for MPI developers

 

Designing MPI Applications

  • Hiding latency by overlapping computation and communication
  • Avoiding deadlock
  • Hybrid designs involving both MPI and OpenMP
  • Buffering
  • Error handling
  • I/O and large datasets

 

MPI-2

  • Groups
  • Communicators
  • Topologies
  • Non-scalar data:  packing/unpacking, non-contiguous arrays, and user-defined datatypes
  • MPI I/O
  • Remote memory access
  • [ Dynamic process creation is not supported in MSMPI ]

 

Excel-based HPC Apps

  • Excel as a computation engine
  • Performing Excel computations on Windows HPC Server 2008
  • Using Excel Services
  • Using Excel UDFs
  • Future versions of Excel and HPC Server

 

Porting UNIX apps to Windows HPC Server 2008

  • The most common porting issues
  • 32-bit to 64-bit
  • UNIX calls
  • Manual porting of UNIX code
  • Cygwin
  • MinGW
  • Microsoft SUA — Subsystem for UNIX-based Applications

 

Open Grid Forum HPC Basic Profile

  • What is the OGF HPC Basic Profile?
  • Platform-neutral job submission
  • JSDL — Job Submission Description Language
  • Enabling in Windows HPC Server 2008

 

Setup and Administration of Windows HPC Server 2008

  • Hardware requirements
  • Software requirements
  • Initial decisions
  • Headnode setup
  • Compute node setup
  • Broker node setup
  • Developer machine setup
  • Diagnostics
  • Maintenance — including performance
  • Troubleshooting
 
 

Weitere Schulungen zu Thema Windows Server 2008

MOC 6438 Implementierung und Administration von MS Windows SharePoint Services 3.0 in MS Windows Server 2008

Dieser 2-tägige Kurs bietet eine Einführung in die Konfiguration und Administration der Windows SharePoint Services 3.0 in einer Windows Server 2008-Umgebung.   Hinweis: Englische Kursbezeichnung: Implementing and Administering Windows SharePoint Services 3.0 in Windows Server 2008   ...merken/anfragen
 

MOC 2433 MS Visual Basic Scripting Edition und MS Windows Script Host Essentials

In diesen 3-tägigen Kurs wird den Teilnehmern die Nutzung von Windows Scripting Host und Scripting Technologien für die Administration von Windows Netzwerken vermittelt. Der Schwerpunkt liegt auf der Verwendung von VB-Script, um mit dem ADS-Interface zu interagieren....merken/anfragen
 

MOC 2830 Planung der Sicherheit für Microsoft Netzwerke (dt. MOC 2112)

In diesen 3-tägigen Seminar wird den Teilnehmern das Wissen vermittelt sicher Netzwerk-Infrastrukturen zu installieren und konfigurieren.     ...merken/anfragen
 

MOC 50403 Implementierung von Active Directory Rights Management Services mit Exchange und SharePoint

Dieses vier-tägige Seminar vermittelt den Kursteilnehmern das Wissen und die Fähigkeiten für den Einsatz von Microsoft Active Directory Rights Management Services (AD RMS), sowie ein Verständnis für die Rolle die AD RMS in einer weitläufigen Infrastruktur spielt und wie es mit anderen Microsoft Technologien interagiert. Hinweis: Englische Kursbezeichnung: MOC 50403 Implementing Act...merken/anfragen
 
 
 
  • keine Seminare auf Ihrem Merkzettel
 

Anfragedetails

Seminartyp wählen:




Preis pro Person
1.895,00 € netto
2.255,05 € inkl. 19% MwSt
Verpflegung zzgl.
Seminarunterlagen zzgl.
Standort wählen:

Termin wählen:






*  oder Wunschtermin


Anzahl Teilnehmer:


auf den Merkzettel
 
 

alt

alt

alt


IT-Schulungen.com erhält beim
Internationalen Training Center Rating
(ITCR) die höchste Bewertung und wird
mit Premium Services ausgezeichnet.