hostPool
- type:
- hostPoolDef +,,
- example:
config hostPool : SourcePool = ["foo.test.teracloud.com", "10.8.5.6"]
,- description:
- List of host pool definitions. In the simplest case, the hostList is
a list literal that explicitly enumerates the contained hosts by names
or IP addresses. In the general case, it is an intrinsic function
that returns a list of strings that denote hosts. In the latter case,
the hosts to be used are decided at run time. The name of the intrinsic
function is createPool, and its valid signatures
are as follows:
config hostPool: P1=createPool({size=10u, tags=["ib","blue"]}, Sys.Shared), //sized, tagged, shared P2=createPool({size=10u, tags=["ib","blue"]}, Sys.Exclusive), //sized, tagged, exclusive P4=createPool({size=10u}, Sys.Shared), //sized, untagged, shared P5=createPool({size=10u}, Sys.Exclusive), //sized, untagged, exclusive P3=createPool({tags=["ib","blue"]}, Sys.Shared), //unsized, tagged, shared P6=createPool(Sys.Shared); //unsized, untagged, shared
Exclusive pools must be sized. A tag specification is
considered to be conjunctive. For example, tags=["ib", "blue"]
is
interpreted as hosts that have both the "ib"
and
the "blue"
tags.
Pools that are explicitly
specified with their hosts are considered as sized, untagged, and
shared. For example, the following definition is legal even though h1
occurs
in both P1
and P2
.
config
hostPool : P1=["h1", "h2"], P2=["h1", "h3"];
Hosts that are allocated in an exclusive host pool are not used for any other job in the Teracloud® Streams instance. These hosts are allocated exclusively to this application. If the same host is also available to another Teracloud® Streams instance, it might be used by that instance.
The hosts that are allocated in a shared host pool are available to be used by the other host pools and applications in the same instance.
If the application has user-defined parallelism, you can also use tags to control whether host pools are replicated in a parallel region.
- default:
- By default, there are no user-defined pools. There is always a default pool, either stated with a defaultPoolSize config or implicit.
- where:
- Main operator.
The main operator is a composite operator that is chosen as the top-level starting point upon job creation. It must be a composite operator definition without ports.
If there is a hostPool config that is not at the topmost level, the compiler generates a warning and ignores it.