New Feature Evaluation Guide for Windows HPC Server 2008 R2 SP2
Updated: February 2012
Applies To: Windows HPC Server 2008 R2
This guide provides scenarios and steps to try new features in HPC Pack 2008 R2 Service Pack 2.
Before following the steps in this guide, review the Release Notes for Microsoft HPC Pack 2008 R2 Service Pack 2. The release notes also include instructions and information for installing SP2.
This guide includes the following scenarios:
Integration with Windows Azure
Run an MPI job on Azure Nodes
Offload Excel workbooks to Azure Nodes
Job Scheduling
Use Smart Card authentication for job submission
Guarantee availability of computing resources for different user groups.
Over-subscribe or under-subscribe core or socket counts on cluster nodes
Create a job submission page that lets users submit a job from the HPC Web Portal
Specify a custom job filter at the job template level
Integration with Windows Azure
The scenarios in this section help you try new Windows Azure integration features in HPC Pack 2008 R2 SP 2.
For information about deploying Windows Azure Virtual Machine nodes, see Steps for Deploying Windows Azure VM Nodes. For information about deploying Windows Azure worker roles, see Steps for Deploying Windows Azure Worker Nodes in a Windows HPC Server Cluster.
Run an MPI job on Azure Nodes
Scenario |
You have MPI jobs that you would like to try running on Azure Nodes. You periodically have increases in the number of MPI jobs that you have to run, or you have long wait times in the job queue. You want to test the possibility of adding Azure nodes to the cluster to handle the extra workload. |
||||||
Goal |
As an example of how to run an MPI job on Azure Nodes, this guide walks through the steps to run Linpack on a set of Azure Nodes that are deployed with the Worker Node template.
|
||||||
Requirements |
For detailed requirements and steps for adding Azure worker nodes to your cluster, see Steps for Deploying Windows Azure Worker Nodes in a Windows HPC Server Cluster. |
||||||
Important considerations |
|
||||||
Steps |
In the following procedure, we upload the Lizard files and an input file to a set of Azure Nodes that are already deployed. The Lizard utility helps optimize Linpack input on the HPC cluster, and includes the Linpack binaries that we will use for this example. We will run the Linpack command directly, rather than using the Lizard, so that we can run it as a job on the Azure Nodes. Upload Linpack files and input file to Azure Nodes
|
||||||
Expected results |
The output file will include text like the following, which lists the number of floating point operations per second that Linpack measured during the test. Because the problem size was intentionally set to a small number for demonstration purposes, this is not a representative measurement of cluster performance. In the example below, the measured performance was 3.498e+001 Gflops. |
||||||
Related Resources |
^ Top of page
Offload Excel workbooks to Azure Nodes
Scenario |
You have Microsoft Excel workbooks that can run in parallel on a Windows HPC cluster by using the HPC Macro framework and the Windows HPC Server 2008 R2: HPC Services for Excel. You periodically have sharp increases in the amount of workbook offloading jobs that you need to run, and you want to test the possibility of adding Azure Nodes to the cluster to handle the extra workload. |
||||||||||
Goal |
|
||||||||||
Requirements |
|
||||||||||
Important considerations |
|
||||||||||
Steps |
The following steps outline how to prepare a VHD and a node template for Azure virtual machine nodes that already have Microsoft Excel installed. For detailed requirements and steps for adding Azure VM nodes to your cluster, see Steps for Deploying Windows Azure VM Nodes. Prepare a VHD and node template for Azure Nodes that have Microsoft Excel installed
The following steps describe how to stage an Excel workbook to Azure Storage. Packages that are staged to Azure storage using Stage an Excel workbook to Azure storage
The following procedure describes how to start new Azure Node instances. These instances will include Microsoft Excel, the HPC Services for Excel cluster-side features, and any workbooks that you have staged to Azure Storage. Add Azure Nodes to the cluster
You are now ready to submit the offloading job to the cluster. There should be no difference from the point of view of the cluster user that is running the workbook.
|
||||||||||
Expected results |
Workbook offloading jobs (using the HPC macro framework and HPC Service for Excel) can run on Azure Nodes with no change for the end user. |
||||||||||
Related Resources |
^ Top of page
Job Scheduling
The scenarios in this section help you try new job scheduling features in HPC Pack 2008 R2 SP 2.
Use Smart Card authentication for job submission
Scenario |
Your organization uses Smart Card authentication. You want users to be able to use their Smart Card credentials to submit jobs to the HPC cluster. Some of these jobs are long running, and you don’t want jobs to fail because of ticket time outs. Because Smart Card users do not have passwords, you want them to be able to use their Smart Card to generate a Soft Card certificate that can be used as credentials on the cluster. If the Soft Card credentials are nearing their expiration date, you want users to generate a new Soft Card before submitting new jobs. |
||||||||||||||||||||||||
Goal |
Configure the HPC Soft Card authentication policy on the cluster and identify a certificate template that must be used when generating an HPC Soft Card for the cluster. Set the Soft Card expiration warning period. Generate an HPC Soft Card credential and submit a job. |
||||||||||||||||||||||||
Requirements |
|
||||||||||||||||||||||||
Important considerations |
|
||||||||||||||||||||||||
Steps |
Before enabling HPC Soft Card authentication on the cluster, work with your certification authority (CA) or PKI administrator to choose or create a certificate template that should be used when generating a soft card for the cluster. The certificate template must allow the private key to be exported. Ensure that the validity period in the template is long enough to accommodate the job lifecycle. Optionally, the template can also have an associated access control list that defines who can use the certificate template.
Configure Soft Card authentication on the cluster
The following procedure describes how a cluster user can generate an HPC Soft Card credential. You can use HPC PowerShell or a command prompt window. The commands are used to generate a public key pair and obtain the certificate from the CA that is configured for your Active Directory doMayn. The certificate is based on the template that is specified by the
Generate a new HPC Soft Card certificate
Submit a job using the HPC Soft Card credentials
You can cache credentials on the cluster for jobs, diagnostics, or SOA sessions. To cache an HPC Soft Card, the certificate must be in the user’s personal store on the local computer (from which you are running the command to set credentials). The certificate along with the corresponding key pair will be encrypted and transmitted to the HPC Job Scheduler Service. If an HPC Soft Card for that user is already cached, it will be replaced. You can use the following commands to manage your HPC Soft Card credentials, or to set SOA or diagnostic credentials:
|
||||||||||||||||||||||||
Expected results |
|
||||||||||||||||||||||||
Related Resources |
^ Top of page
Guarantee availability of computing resources for different user groups.
Scenario |
Various user groups in your organization have contributed to the cluster budget, and in return they expect to have a determined portion of the cluster at their disposal. If at any given time a group has a light workload and does not utilize their entire share of the cluster, you want those resources temporarily made available to other groups. So to guarantee availability and maximize cluster utilization, you want the HPC Job Scheduler Service to allocate resources based on Resource Pools. |
Goal |
Create Resource Pools to define guaranteed cluster proportions. Create Job Templates to associate each user group or job type with a Resource Pool. Configure the HPC Job Scheduler Service to allocate resources based on Resource Pools. |
Requirements |
|
Important considerations |
|
Steps |
In this example, let’s say you have two user groups, and each group expects to be able to use the following proportions of the cluster at any given time: Group A 60%, and Group B 40%. Let’s also say that Group A has two distinct types of jobs for which they want separate job templates: one type is high priority, and the other type is low priority. To enforce the desired scheduling policies, you create three node templates: “GroupA_HighPriJobs”, “GroupA_LowPriJobs”, and “GroupB_AllJobs”. 1. Define Resource Pools
2. Create Job Templates
3. Configure the HPC Job Scheduler Service to use Resource Pools
|
Expected results |
|
Related Resources |
^ Top of page
Over-subscribe or under-subscribe core or socket counts on cluster nodes
Scenario |
Cluster administrators can fine tune cluster performance by controlling how many HPC tasks should run on a particular node. Over-subscription provides the ability to schedule more processes on a node than there are physical cores or sockets. A process could be an MPI rank, a single-core task, a sub-task, or an instance of a SOA service. For example, if a node has eight cores, then normally eight processes could potentially run on that node. With over-subscription, you can set the For example, this can be useful in the following scenarios:
|
||
Goal |
Set the number of subscribed cores and sockets on a node. Submit a job. |
||
Requirements |
|
||
Important considerations |
Node property definitions:
|
||
Steps |
As an example, let’s say we have a node named CN001 that has 4 cores and 1 socket. We want to set the subscribed cores and sockets to 8 and 2. To over-subscribe cores and sockets on a node
Now you can submit a job to verify that the HPC Job Scheduler will now start up to 8 tasks (or sub-tasks) on CN001. For example, in HPC PowerShell, to submit a parametric sweep job that requires 8 cores and requests CN001:
You can use one of the following methods to verify core allocation of a completed job:
To create a customized node view to monitor settings for subscribed cores and sockets
|
||
Expected results |
The HPC Job Scheduler Service will schedule processes based on the subscribed core and socket counts for a node. |
||
Related Resources |
^ Top of page
Create a job submission page that lets users submit a job from the HPC Web Portal
Scenario |
You want your cluster users to be able to submit and monitor jobs from a web portal. |
||||
Goal |
|
||||
Requirements |
|
||||
Important considerations |
|
||||
Steps |
The following procedure describes how to set up the web portal. For detailed steps and other options, see Installing the Microsoft HPC Pack Web Components. To set up the web portal
To demonstrate how the application profile works, the following procedure describes how to create a profile for the Create an Application Profile for the ping command
The following screenshot illustrates this application profile definition: To create a submission page for a parametric ping job
To submit a job from the portal
|
||||
Expected results |
|
||||
Related Resources |
^ Top of page
Specify a custom job filter at the job template level
Scenario |
You support a varied workload on your cluster, and you want to use custom filters to provide additional checks and controls on jobs that are submitted to your cluster. However, some of the properties and conditions that you want to check for only apply to certain job types, so rather than specifying a single filter for all jobs that are submitted to the cluster, you want to specify one or more filters that should run only on jobs that are submitted with a particular job template. For example, you can ensure that an activation filter that checks for license availability only runs on jobs that require a license. |
||||
Goal |
To demonstrate how custom filters that are defined at the job template level work, this guide describes how to compile and install a sample submission filter from the SDK code samples. The submission filter checks for job property values and if conditions are met, reassigns the job to a different job template. If a job owner already selected a custom job template, we do not want to reassign the job, so we will run this filter only on jobs that are submitted with the Default job template.
|
||||
Requirements |
|
||||
Important considerations |
|
||||
Steps |
To experiment with job template filters, you can build and try the sample submission filter that is included in the SP2 code samples. The SP2 code samples include a C# project file that you can compile in Visual Studio to produce a DLL file. You can then deploy this DLL file to the cluster and associate it with a job template. To build the sample submission filter
To deploy the filter to the cluster
The sample submission filter checks the job XML file to see if the maximum number of requested resources for the job is greater than 1 (and not set to autocalculate). If so, the filter changes the value for the job template property and assigns a job template named “LargeJobTemplate” (to test this filter, you must first create a job template named “LargeJobTemplate”). We will add the filter to the Default job template. That way, any job that is submitted to the Default template will be checked for maximum requested resource settings, and if greater than 1, the job will be assigned to the new template. To configure the job templates
To submit a test job
|
||||
Expected results |
|
||||
Related Resources |
^ Top of page