1
Windows Compute Cluster Server 2003Windows Compute Cluster Server 2003
Carlos HulotNew Technologies & Plataform ManagerMicrosoft Brasil
Carlos HulotNew Technologies & Plataform ManagerMicrosoft Brasil
www.microsoft.com/hpc
2
1. The Definition of HPC
2. WCCS2003 Launch!
3. Architecture
4. Security
5. User Interface
6. Task Manager
7. Developing using Visual Studio 2005
Agenda
3
Windows Compute Cluster Server 2003Windows Compute Cluster Server 2003
The Definition of HPC The Definition of HPC
www.microsoft.com/hpc
4
HPC is broadly defined as the technology that is used to provide solutions to problems that need: Significant computational power To quickly access and process large amounts of data To operate interactively across a geographically distributed network
The goal of HPC is to reduce the execution time of a compute intensive or data intensive application
The market for HPC was small & niche. In the past 15 years, this market grew significantly
HPC has changed in the past 15 years due to improvement in: Hardware performance Hardware price Software performance and usability
Definition and History of HPC
www.microsoft.com/hpc
Definition and History of HPC
1991 1998 2005System Cray Y-MP C916 Sun HPC10000 Shuttle @ NewEgg.com
Architecture 16 x Vector4GB, Bus
24 x 333MHz Ultra-SPARCII, 24GB, SBus
4 x 2.2GHz x644GB, GigE
OS UNICOS Solaris 2.5.1 Windows Server 2003 SP1
Performance ~10 GFlops ~10 GFlops ~10 GFlops
Top500 # 1 500 N/A
Price $40,000,000 $1,000,000 (40x drop) < $4,000 (250x drop)
Customers Government Labs Large Enterprises Every Engineer & Scientist
Applications Classified, Climate, Physics Research
Manufacturing, Energy, Finance, Telecom
Bioinformatics, Materials Sciences, Digital Media
www.microsoft.com/hpc
6
Areas where HPC is used
A few of the areas where HPC is used are: Aerospace and Automotive Earth and Space Science Seismology Bioinformatics Chemistry Rendering
7
Windows Compute Cluster Server 2003Windows Compute Cluster Server 2003
Launched on June 2006 !!!Launched on June 2006 !!!
www.microsoft.com/hpc
Microsoft Compute Cluster Server
Vision Solution for aplications that uses intensive compute tasks. To help scalate using a cluster of computers.
Mission Statement Empowering end users by allowing them to easily harness distributed computing resources to solve
complex problems.
Platform Based on Windows Server 2003 SP1 64 bit Edition. Suport for Ethernet, Infiniband and others (better than Winsock Direct).
Administration Setup and administration simplified. Administration based on images + scripts. Security based on Active Directory. Job scheduling and resources administration.
Development Cluster scheduler via .NET and DCOM. MPI2 stack with a better performance and security for parallel applications. Visual Studio 2005 – OpenMP, Parallel Debugger.
www.microsoft.com/hpc
9
Hardware Requirements
CPU (x64 bit processor architecture) Intel Pentium or Xeon family (EM64T) AMD Opteron and Athlon family
Memory 512 MB minimum, 32 GB RAM maximum
Multiprocessor support Up to 4 processors per server
Disk capacity 4GB disk capacity for setup
Disk Volumes Two volumes on head node (if using RIS) and single volume on
nodes.
Network Interface Cards At least one network interface card required on all the nodes.
www.microsoft.com/hpc
10
Software Requirements
Operating Systems (Cluster Nodes) Microsoft Windows Server 2003 Compute Cluster Edition Microsoft Windows Server 2003 Standard x64 Edition Microsoft Windows Server 2003 Enterprise x64 Edition Microsoft Windows Server 2003 R2 Standard x64 Edition Microsoft Windows Server 2003 R2 Enterprise x64 Edition
Operating Systems (Remote Workstation) Microsoft Windows XP Professional with Service Pack 2 Microsoft Windows XP Professional x64 Edition Microsoft Windows Server 2003 with Service Pack 1, Standard Edition Microsoft Windows Server 2003, Standard x64 Edition Microsoft Windows Server 2003 with Service Pack 1, Enterprise Edition Microsoft Windows Server 2003, Enterprise x64 Edition Microsoft Windows Server 2003 R2, Standard Edition Microsoft Windows Server 2003 R2, Standard x64 Edition Microsoft Windows Server 2003 R2, Enterprise Edition Microsoft Windows Server 2003 R2, Enterprise x64 Edition
www.microsoft.com/hpc
11
Remote Installation Service
Active Directory
Software Development Kit Visual Studio 2005 (recommended)
Hotfixes ICS hotfix Q897616 RIS Beta Hotfix for Compute Cluster Server
Additional Software Requirements .NET Framework 2.0 Microsoft Management Console (MMC) 3.0 Pre-Release
Software Requirements
www.microsoft.com/hpc
12
Software Components
Compilers GNU Compiler Collection PGI Compilers Intel Compilers Microsoft Visual C++
UNIX Environment for Windows Interix and Windows Services for
UNIX Cygwin MKS Toolkit
Optimization and Tuning Software
Intel VTune Intel Thread Checker MSTI SeeWithin/Pro Microsoft Tools Spy++ PView
Communication Libraries Threading Libraries
OpenMP API Native Windows Threading
Message Passing Libraries MPI MPI/Pro MPICH MSMPI
13
Windows Compute Cluster Server 2003Windows Compute Cluster Server 2003
ArchitectureArchitecture
www.microsoft.com/hpc
14
Topology of WCCS
www.microsoft.com/hpc
16
Communication Components
Computers in a cluster can be connected in one of the six communication topologies: Star Crossbar Ring 2D Hypercube Fully Connected Mesh / Grid
18
Windows Compute Cluster Server 2003Windows Compute Cluster Server 2003
SecuritySecurity
www.microsoft.com/hpc
19
Some Details about Security
Permissions on files and folders on the file server that is connected to both the head nodes and the compute nodes.
Secure movement of files from personal computers back and forth to the secure file server.
Authentication of users on compute nodes so that jobs can be run remotely on these computers.
User management Human and programming interfaces
Program run levels User level, kernel, Admin mode
Dynamic access to resources
www.microsoft.com/hpc
21
Security in Compute Cluster Server
Integration with production Active Directory.
Job execution credentials.
Security Job executes based on submitters credentials Credentials cache DPAPI (credentials storage)
Exception handling Re-queue
22
Windows Compute Cluster Server 2003Windows Compute Cluster Server 2003
User Interface – Control PanelUser Interface – Control Panel
www.microsoft.com/hpc
23
WCCS Components
Head Node
Compute Node
Job Scheduler
Management Infrastructure
Compute Cluster Administrator and Job Manager
Command Line Interface
www.microsoft.com/hpc
24
Installing and Configuring Head Node
Head Node
Node
www.microsoft.com/hpc
25
Configuring the Cluster
Installing and Configuring Head Node
www.microsoft.com/hpc
26
Selecting Network Topology
Installing and Configuring Head Node
www.microsoft.com/hpc
27
Services on Nodes
Head Node Compute Cluster Management Service Compute Cluster Scheduler Service Compute Cluster SDM Store Service Compute Cluster MPI Service Compute Cluster Node Manager Service
Compute Nodes Compute Cluster Management Service Compute Cluster MPI Service Compute Cluster Node Manager Service
www.microsoft.com/hpc
28
Cluster Control
www.microsoft.com/hpc
30
Management of WCCS
Remote Desktop Sessions
www.microsoft.com/hpc
31
Management of WCCS
System Monitor This page displays performance monitoring data for the cluster
32
Windows Compute Cluster Server 2003Windows Compute Cluster Server 2003
Task ManagerTask Manager
www.microsoft.com/hpc
33
Defining a Job
Job: “A collection of tasks” A task represents the execution of a program on specified compute nodes
www.microsoft.com/hpc
Job Activation
State transition during job execution on compute node
www.microsoft.com/hpc
36
Create a new Job
www.microsoft.com/hpc
37
CCPAPI with XML
Submission and serialization of jobs using CCPAPI and XML structures known as Templates.
Templates are XML structures that capture the essence and relationship of Tasks to Jobs, Jobs to Nodes and Nodes to Cluster.
The job and task XML schemas definitions (XSD) are provided in the SDK.
CCPAPI provides methods to create and schedule jobs based on these templates
<?xml version="1.0" encoding="utf-8"?>
<Job xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
AllocatedNodes="1 NODE1 1 "
Id="50"
Name=“CLUSTER\user1:May 29 2006 1:34PM
"SubmittedBy="CLUSTER\user1"
Status="Finished"
User="CLUSTER\user1">
<ExtendedTerms xmlns="http://www.microsoft.com/ComputeCluster/" />
<Tasks xmlns="http://www.microsoft.com/ComputeCluster/">
<Task
AllocatedNodes="1 NODE1 1 "
CommandLine="cmd.exe /c echo helloworld"
Id="1"
ParentJobId="50"
Status="Finished">
</Task>
</Tasks>
</Job>
38
Windows Compute Cluster Server 2003Windows Compute Cluster Server 2003
Developing using Visual Studio 2005Developing using Visual Studio 2005
www.microsoft.com/hpc
39
Tuning Area
Five areas of focus to improve performance
www.microsoft.com/hpc
42
Message Passing Interface – MPI
Goals of MPI Design a compiler independent API. Allow efficient and reliable
communication. Scope for implementations to support
heterogeneous environment. Interface design to be language
independent Convenient C and Fortran bindings for
the interface.
When not to use MPI Cases where “data parallel” is more
efficient. Cases where library functions of parallel
code are already available for specific domain problems.
No scope for parallel programming.
www.microsoft.com/hpc
43
MSMPI
MSMPI is an implementation of MPI2 by Microsoft.
Compatible with MPICH2 from Argonne National Lab.
Security feature in MSMPI is the differentiator.
Parallel debugging of MPI application through Microsoft Visual Studio 2005.
46
Microsoft Academic ProgramsMicrosoft Academic Programs
WCCS 2003 Access to Academia WCCS 2003 Access to Academia
47
Windows Compute Cluster Server 2003Windows Compute Cluster Server 2003
Thank you!!!Thank you!!!
Carlos HulotNew Technologies & Plataform ManagerMicrosoft Brasil
Carlos HulotNew Technologies & Plataform ManagerMicrosoft Brasil
Microsoft HPC websitehttp://www.microsoft.com/hpc
Public Newsgroupnntp://microsoft.public.windows.hpc
Comunidade Acadêmica | Brasilhttp://www.microsoft.com/brasil/comunidadeacademica