This section provides a detailed information about all the supported constraints by the COMPSs runtime for Java, Python and C/C++ languages. The constraints are defined as key-value pairs, where the key is the name of the constraint. supported_constraints
details the available constraints names for Java, Python and C/C++, its value type, its default value and a brief description.
Java | Python | C / C++ | Value type | Default value | Description |
---|---|---|---|---|---|
computingUnits | computing_units | ComputingUnits | <string> | "1" | Required number of computing units |
processorName | processor_name | ProcessorName | <string> | "[unassigned]" | Required processor name |
processorSpeed | processor_speed | ProcessorSpeed | <string> | "[unassigned]" | Required processor speed |
processorArchitecture | processor_architecture | ProcessorArchitecture | <string> | "[unassigned]" | Required processor architecture |
processorType | processor_type | ProcessorType | <string> | "[unassigned]" | Required processor type |
processorPropertyName | processor_property_name | ProcessorPropertyName | <string> | "[unassigned]" | Required processor property |
processorPropertyValue | processor_property_value | ProcessorPropertyValue | <string> | "[unassigned]" | Required processor property value |
processorInternalMemorySize | processor_internal_memory_size | ProcessorInternalMemorySize | <string> | "[unassigned]" | Required internal device memory |
processors | processors | List<@Processor> | "{}" | Required processors (check processor_constraints for Processor details) |
|
memorySize | memory_size | MemorySize | <string> | "[unassigned]" | Required memory size in GBs |
memoryType | memory_type | MemoryType | <string> | "[unassigned]" | Required memory type (SRAM, DRAM, etc.) |
storageSize | storage_size | StorageSize | <string> | "[unassigned]" | Required storage size in GBs |
storageType | storage_type | StorageType | <string> | "[unassigned]" | Required storage type (HDD, SSD, etc.) |
operatingSystemType | operating_system_type | OperatingSystemType | <string> | "[unassigned]" | Required operating system type (Windows, MacOS, Linux, etc.) |
operatingSystemDistribution | operating_system_distribution | OperatingSystemDistribution | <string> | "[unassigned]" | Required operating system distribution (XP, Sierra, openSUSE, etc.) |
operatingSystemVersion | operating_system_version | OperatingSystemVersion | <string> | "[unassigned]" | Required operating system version |
wallClockLimit | wall_clock_limit | WallClockLimit | <string> | "[unassigned]" | Maximum wall clock time |
hostQueues | host_queues | HostQueues | <string> | "[unassigned]" | Required queues |
appSoftware | app_software | AppSoftware | <string> | "[unassigned]" | Required applications that must be available within the remote node for the task |
All constraints are defined with a simple value except the HostQueue and AppSoftware constraints, which allow multiple values.
The processors constraint allows the users to define multiple processors for a task execution. This constraint is specified as a list of @Processor annotations that must be defined as shown in processor_constraints
Annotation | Value type | Default value | Description |
---|---|---|---|
processorType | <string> | "CPU" | Required processor type (e.g. CPU or GPU) |
computingUnits | <string> | "1" | Required number of computing units |
name | <string> | "[unassigned]" | Required processor name |
speed | <string> | "[unassigned]" | Required processor speed |
architecture | <string> | "[unassigned]" | Required processor architecture |
propertyName | <string> | "[unassigned]" | Required processor property |
propertyValue | <string> | "[unassigned]" | Required processor property value |
internalMemorySize | <string> | "[unassigned]" | Required internal device memory |