5.2.7. Application Parameters
Applications are defined within the Applications section. This section contains zero or more Application sections.
The layout is as follows:
<Applications>
<Application>
<!-- application parameters -->
</Application>
</Applications>Note
A working example configuration for Application is provided in the default opafm.xml configuration file.
Each Application section has zero or more ServiceIDs subsections and/or MGIDs subsections. These are matched against PathRecord and Multicast SA queries so that the returned SLID/DLID, PKey, SL, and so on are appropriate for the vFabric that contains the application(s).
ServiceIDs subsections are 64-bit values that identify applications within a PathRecord query. In many ways, ServiceIDs are the Omni-Path’s equivalent of TCP socket ports. ServiceIDs are typically used within the Omni-Path Communication Manager protocol to identify the application making a connection request. When an application issues a PathRecord query to the SA, the ServiceID in the query is compared against the ServiceID subsections in the various VirtualFabrics sections.
ServiceIDs are assigned by application writers and standards bodies such as IEEE. Consult with the application supplier to determine the Service IDs used by the application.
Multicast GIDs (MGIDs) are 128-bit values that identify multicast groups for Unreliable Datagram applications such as IPoIB. MGIDs are represented as two 64-bit values separated by a colon (:). For example: 0xabc:0x123567
This way of representing 128-bit values is the same as used in other FastFabric Toolset commands such as opasaquery, opashowmc, and so on. Applications not used in any vFabric have no effect.
Note
The default opafm.xml configuration file contains many standard preconfigured applications that are referenced in VirtualFabrics, which can be created by the administrator.
Note
Omni-Path mechanisms establish connections for the association of applications to VirtualFabrics, by using the ServiceID in PathRecord SA queries (for unicast applications) and the use of MGIDs in McMemberRecord SA queries (for multicast applications).
Note
Some unicast applications, notably openmpi, mvapich , and mvapich2, use nonstandard mechanisms to establish connections. Therefore, the unicast applications must have their PKey and BaseSL manually configured consistent with the vFabric used.
Parameter | Description |
|---|---|
Name | Name for the Application. Every Application must have a unique name. The name must be unique among all Application names within an FM instance. When defined at the Common level, the name must be unique within all instances. The name is limited to 64 characters and is case-sensitive. |
ServiceID | A single 64-bit service ID to match against. |
ServiceIDRange | A range of service IDs to match against. Any service ID within the range (inclusive) is considered a match. The range is two 64-bit values separated by a dash such as: 0-0xffffffffffffffff |
ServiceIDMasked | A masked compare of service ID to match against. Matches service IDs that when ANDed with the second value (the mask) match the first value. The mask is two 64-bit values separated by an asterisk (*) such as: 0x120003567*0xff000ffff |
A single 128-bit MGID to match against. | |
MGIDRange | A range of MGIDs to match against. Any MGID within the range (inclusive) is considered a match. The range is two 128-bit values separated by a dash such as: 0:0-0xffffffffffffffff:0xffffffffffffffff |
MGIDMasked | A masked compare of MGID to match against. Matches MGIDs that when ANDed with the second value (the mask) match the first value. The mask is two 128-bit values separated by an asterisk (*) such as: 0xabc:0x120003567*0xfff:0xff000ffff |
Select | Special selection cases. The following selection cases can be used as an easy catch-all:
The listed specifiers are case-insensitive. By having multiple select parameters, multiple special cases can be combined as needed in the same application section. |
IncludeApplication | This includes all of the service IDs, MGIDs, and special selections in the given application. Loops (including the parent application) are not allowed. There is a nesting limit of 32. |