Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
SessionResourceUnitType Property

SessionStartInfo.SessionResourceUnitType Property

Gets or sets whether cores, nodes, or sockets are used to allocate resources for the service job.


Namespace: Microsoft.Hpc.Scheduler.Session
Assembly: Microsoft.Hpc.Scheduler.Session (in Microsoft.Hpc.Scheduler.Session.dll)

'Usage
Dim instance As SessionStartInfo
Dim value As Nullable(Of SessionUnitType)

value = instance.SessionResourceUnitType

instance.SessionResourceUnitType = value

public Nullable<SessionUnitType> SessionResourceUnitType { get; set; }
/** @property */
public Nullable<SessionUnitType> get_SessionResourceUnitType ()

/** @property */
public void set_SessionResourceUnitType (Nullable<SessionUnitType> value)

public function get SessionResourceUnitType () : Nullable<SessionUnitType>

public function set SessionResourceUnitType (value : Nullable<SessionUnitType>)

Property Value

A Nullable object with a type parameter of SessionUnitType that indicates whether the HPC Job Scheduler Service should allocate resources for the service job in the form of cores, nodes, or sockets.

The default value is Core.

The resource units that you specify should be based on the threading model that the service uses. Specify Core if the service is linked to non-thread safe libraries. Specify Node if the service is multithreaded. Specify Socket if the service is single-threaded and memory-bus intensive.

By default, if you specify Core, the broker sends the service one message at a time. If you specify Node, the broker batches together the number of messages that is equal to the number of cores on the node, and then sends them to the service. If you specify Socket, the broker batches together the number of messages that is equal to the number of cores on the socket, and then sends them to the service.

To override the default behavior in Windows HPC Server 2008, configure the ServiceThrottlingBehavior section of your service.dll.config file to specify the maximum concurrent calls that the service can accept. For example, if you are using the Parallel Extension, you can specify the following service behavior in the service.dll.config file to override the default behavior for the node resource unit type so that the service receives only one request at a time. The following example shows how to set the maximum number of concurrent calls that the service can accept in Windows HPC Server 2008.

<serviceBehaviors>
    <behavior  name="Throttled">
        <serviceThrottling maxConcurrentCalls="1" />
    </behavior>
</serviceBehaviors>

For Windows HPC Server 2008, the broker uses the value of maxConcurrentCalls as the capacity of the service. This lets the administrator or software developer use a standard WCF setting to fine tune the dispatching algorithm of the broker node to fit the processing capacity of the service.

For Windows HPC Server 2008 R2, you configure the maxConcurrentCalls setting for the Service element in the microsoft.Hpc.Session.ServiceRegistration section of the servicename.config file, where servicename is the same as the value you used for the serviceName parameter when you called the SessionStartInfo constructor. The value of the maxConcurrentCalls attribute specifies the maximum number of messages that a service host can actively process. A value of 0 indicates that the maximum value should be calculated automatically based on the service capacity of each service host. The service capacity of a service host is the number of cores for that host. The following example shows how to specify the maxConcurrentCalls setting in Windows HPC Server 2008 R2.

  <microsoft.Hpc.Session.ServiceRegistration>
    <service assembly="%CCP_HOME%bin\EchoSvcLib.dll"
             contract="EchoSvcLib.IEchoSvc"
             type="EchoSvcLib.EchoSvc"
             includeExceptionDetailInFaults="true"
             maxConcurrentCalls="1"
             maxMessageSize="65536"
             serviceInitializationTimeout="60000" >
      <!--The following lines add example environment variables to the service.   -->
      <environmentVariables>
        <add name="variable1" value="value1"/>
        <add name="variable2" value="value2"/>
      </environmentVariables>
    </service>


If you set the unit type, it must be the same as in the template, if one is specified.

Platform Note: This property was introduced in Windows HPC Server 2008 R2 AND IS NOT SUPPORTED IN EARLIER VERSIONS.


Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Development Platforms

Windows XP, Windows Vista, Windows 7, Windows 8, Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012

Target Platforms

Windows XP, Windows Vista, Windows 7, Windows 8, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, with HPC Pack Client Utilities




Build Date:

2013-04-22

Community Additions

ADD
Show:
© 2015 Microsoft