Living in a mixed world -Interoperability in Windows HPC Server 2008 Steven Newhouse stevenn@microsoft.com
Overview Scenarios: Mixed Environments Authentication & Authorization File Systems Application Portability Job Scheduling Support in HPCS 2008
Scenario: Interoperability Clients HPC Basic Profil e HPCS 2008 X X HPC Basic Profil e SGE 6.1 on SUSE gsoap WS Client The HPC Machine Room XHPC Basic Profil e LSF 7.0.1 on Linux HPC Basic Profil e CCSv1 XHPC Basic Profil e PBS on Linux HPC Basic Profil e SGE
Scenario: Meta-Scheduling Isolated Application & Resource Silos Integrated Resources End Users Applications End Users Applications End Users Applications Scheduler B Client Scheduler A HPCS 2008 Cluster Resource Linux Cluster Resource Windows Service Scheduler A HPCS 2008 Cluster Resource Linux Service Cluster Resource Windows
A Typical Configuration Linux cluster Windows cluster using an enterprise AD Windows cluster using a self-contained AD Rocks Windows HPC Server 2008 wo/ AD Windows HPC Server 2008 w/ AD C 0 C 1 C 2 C 0 C 1 C 2 C 0 C 1 C 2 Switch H e a d N A S Switch H e a d A D or Switch H e a d Fedora Client Open SuSE Client Ubuntu Client
Basic Integration Authentication Linux machine joining AD domain AD interface through NIS Kerberos as authentication token using Samba Synchronizing password changes File System Mount NFS partitions on Windows Mount Windows partitions as NFS or SMB Support Good out of the box experience on both platforms
Authentication Consider two scenarios: New Windows cluster in a pure Linux environment Self-contained AD domain New Windows cluster into a mixed OS environment Link to existing AD domain Integrated single sign on through SAMBA Identity Management for Unix Server for NIS integrates with AD Password Synchronization between Windows & Unix
File Sharing WS 2008 can export file shares using NFS Can act as a client to NFS file shares Linux can mount SMB shares Leverage common authentication schemes Infrastructure for username mapping Other file systems with Windows clients
Development Environment Subsystem for UNIX-based Applications (SUA) 32-bit and 64-bit UNIX-based applications Requires minimal source code changes SUA includes over 300 commands & utilities: Case-sensitive file names Job control Compilation tools Shells Runs on the Windows kernel i.e. no emulation, enabling high performance.
Porting applications to HPCS Full Visual Studio experience Integration with 3 rd party compilers Integrated MPI compile, debug & profile Use NMAKE Compatible with UNIX Makefiles Compilation from the command line on Windows Use SUA Retain complete UNIX experience on Windows
Cross-platform job submission Use web services for cross-platform integration Expose core job scheduler functionality: Submit a job Discover a job s status Discover a job s properties Terminate a job Discover properties about the cluster Use the OGF shpc Basic Profile Basic (HPCBP)
The Open Grid Forum (OGF) OGF: In existence since 2001 Mission: Pervasive adoption of Grid technologies Standards through an open community process HPC Profile Working Group (Started 2006) Commercial: Microsoft, Platform, Altair, Research: U of Virginia, U of Southampton, Imperial College London, Grid Middleware: OMII-UK, Globus, EGEE, CROWN, HPCBP leverages other specifications: WS-I, W3C (XML, SOAP, WSDL) JSDL: Job Submission Description Language BES: Basic Execution Service HPC BASIC PROFILE AND RELATED SPECIFICATIONS ARE NOW APPROVED OGF RECOMMENDATIONS
HPCBP in HPCS 2008 WCF Web Service interface to the job scheduler Installed on the headnode by default But not activated Uses https secured by the server certificate Client authenticates with a username & password Must map to account on the headnode Supports job submission & job management C#, Java, C/C++, from Windows & Linux From environments outside the cluster AD domain Batch, batch & file staging and SOA jobs
Installing HPCS 2008 Default HPCS 2008 installation on the headnode Installed with the product Map https protocol to a port and a certificate Certificate MUST equal the FQDN Must match the FQDN seen by the client (e.g. NAT) Open up the firewall on the specified port Start the HPCBasicProfile windows service Need other HPCS services running on the headnode Post installation actions in a PowerShell script Does everything You pick a certificate from store
Clients to access the HPCBP The HPCS 2008 SDK contains: WSDL & XSD schemas to build the web service C# & Java sample code to access the web service Example JSDL files to: Submit a simple batch job Submit a batch job with file staging Run a SOA session C++ Linux clients available from Sourceforge Using the gsoap framework http://sourceforge.net/projects/bespp
Platform Integration Altair with PBS scheduler Accept jobs through HPCBP Submit job into PBS on Linux, run through HPCBP In their product after we RTM Platform with LSF scheduler Accept jobs through HPCBP Community sample to transfer jobs through HPCBP OSS project with additional QA for product release Sun Grid Engine provides an OSS solution HowTo s documenting process out next month
Security Model Only authenticated message traffic reaches application code Authorization by having account on the headnode Uses Simple API security model Any user can view job information Only submitting user can view task information Unless the connected user is an admin. Only submitting user can terminate their job Unless the connected user is an admin. Use standard WCF infrastructure for debugging
So what does this all enable? HPC Machine Room integration Add HPCS cluster into PBS/LSF/SGE environment Users continue using existing job scheduler client Windows jobs routed to HPCS cluster Cross-platform job submission Linux desktops & HPCS cluster Integrate authentication and file systems Linux client submits jobs to HPCS cluster Integrate SOA service into Java client Use Java client to start session through HPCBP Dispatch service requests to returned endpoint
Summary Standards provide a basic defined platform Allow others to add value around the core Access HPC resource from C#, Java, C/C++, Windows HPC Community Site http://www.windowshpc.net Blogs, Forums, Announcements, etc. White papers & HowTos Linux/Windows HPC interoperability Development Environment Others to support HPCS 2008 release
Questions?