Windows Compute Cluster Server 2003 Carlos Hulot New Technologies & Plataform Manager Microsoft Brasil cahulot@microsoft.com www.microsoft.com/hpc 1 Agenda 1. The Definition of HPC 2. WCCS2003 Launch! 3. Architecture 4. Security 5. User Interface 6. Task Manager 7. Developing using Visual Studio 2005 2 www.microsoft.com/hpc Windows Compute Cluster Server 2003 The Definition of HPC 3 Definition and History of HPC 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 4 www.microsoft.com/hpc Definition and History of HPC 1991 1998 2005 System Cray Y-MP C916 Sun HPC10000 Shuttle @ NewEgg.com Architecture 16 x Vector 4GB, Bus 24 x 333MHz Ultra-SPARCII, 24GB, SBus 4 x 2.2GHz x64 4GB, 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 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 6 www.microsoft.com/hpc Windows Compute Cluster Server 2003 Launched on June 2006 !!! 7 Microsoft Compute Cluster Server Vision Mission Statement Based on Windows Server 2003 SP1 64 bit Edition. Suport for Ethernet, Infiniband and others (better than Winsock Direct). Administration Empowering end users by allowing them to easily harness distributed computing resources to solve complex problems. Platform Solution for aplications that uses intensive compute tasks. To help scalate using a cluster of computers. 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 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 9 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 10 Software Requirements 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 11 www.microsoft.com/hpc 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 Communication Libraries Threading Libraries OpenMP API Native Windows Threading Message Passing Libraries MPI MPI/Pro MPICH MSMPI Intel VTune Intel Thread Checker MSTI SeeWithin/Pro Microsoft Tools Spy++ PView 12 www.microsoft.com/hpc Windows Compute Cluster Server 2003 Architecture 13 Topology of WCCS 14 www.microsoft.com/hpc 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 16 www.microsoft.com/hpc Windows Compute Cluster Server 2003 Security 18 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 19 www.microsoft.com/hpc 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 21 www.microsoft.com/hpc Windows Compute Cluster Server 2003 User Interface – Control Panel 22 WCCS Components Head Node Compute Node Job Scheduler Management Infrastructure Compute Cluster Administrator and Job Manager Command Line Interface 23 www.microsoft.com/hpc Installing and Configuring Head Node Node Head Node 24 www.microsoft.com/hpc Installing and Configuring Head Node Configuring the Cluster 25 www.microsoft.com/hpc Installing and Configuring Head Node Selecting Network Topology 26 www.microsoft.com/hpc 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 27 www.microsoft.com/hpc Cluster Control 28 www.microsoft.com/hpc Management of WCCS Remote Desktop Sessions 30 www.microsoft.com/hpc Management of WCCS System Monitor This page displays performance monitoring data for the cluster 31 www.microsoft.com/hpc Windows Compute Cluster Server 2003 Task Manager 32 Defining a Job Job: “A collection of tasks” A task represents the execution of a program on specified compute nodes 33 www.microsoft.com/hpc Job Activation State transition during job execution on compute node www.microsoft.com/hpc Create a new Job 36 www.microsoft.com/hpc CCPAPI with XML Submission and serialization of jobs using CCPAPI and XML structures known as 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" Templates are XML structures that capture the essence and relationship of Tasks to Jobs, Jobs to Nodes and Nodes to Cluster. Name=“CLUSTER\user1:May 29 2006 1:34PM "SubmittedBy="CLUSTER\user1" Status="Finished" User="CLUSTER\user1"> <ExtendedTerms xmlns="http://www.microsoft.com/ComputeCluster/" /> The job and task XML schemas definitions (XSD) are provided in the SDK. <Tasks xmlns="http://www.microsoft.com/ComputeCluster/"> <Task AllocatedNodes="1 NODE1 1 " CommandLine="cmd.exe /c echo helloworld" CCPAPI provides methods to create and schedule jobs based on these templates Id="1" ParentJobId="50" Status="Finished"> </Task> </Tasks> </Job> 37 www.microsoft.com/hpc Windows Compute Cluster Server 2003 Developing using Visual Studio 2005 38 Tuning Area Five areas of focus to improve performance 39 www.microsoft.com/hpc 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. 42 www.microsoft.com/hpc 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. 43 www.microsoft.com/hpc Microsoft Academic Programs WCCS 2003 Access to Academia 46 Windows Compute Cluster Server 2003 Thank you!!! Microsoft HPC website http://www.microsoft.com/hpc Public Newsgroup nntp://microsoft.public.windows.hpc Comunidade Acadêmica | Brasil http://www.microsoft.com/brasil/comunidadeacademica Carlos Hulot New Technologies & Plataform Manager Microsoft Brasil cahulot@microsoft.com www.microsoft.com/hpc 47