You are able to use Odysseus Script to parallelize an created script automatically. To use this functionality Odysseus Script provides two keywords and a UI for benchmarking.
#PARALLELIZATION
This keyword tells Odysseus, that the given query needs to be parallelized. There are two parameters that are mandatory and one optional parameter.
...
Info |
---|
|
It is possible to use both inter and intra operator parallelization at the same time. The following example shows how this works: Code Block |
---|
#PARSER PQL
#PARALLELIZATION (degree=8) (buffersize=10000) (type=INTRA_OPERATOR)
#INTRAOPERATOR (buffersize=10000) (id=aggregateId) (degree=8)
#PARALLELIZATION (type=INTER_OPERATOR) (degree=4) (buffersize=AUTO) (optimization=true)
#INTEROPERATOR (id=(joinId:selectId)) (degree=2) (buffersize=10000000) (strategy=JoinTransformationStrategy) (fragment=HashFragmentAO)
#RUNQUERY
.... |
If you want to use inter and intra operator parallelization both for the same operator use the option useParallelOp=true Code Block |
---|
#PARSER PQL
#PARALLELIZATION (type=INTER_OPERATOR) (degree=4) (buffersize=AUTO) (optimization=true)
#INTEROPERATOR (id=aggregateId) (degree=2) (buffersize=GLOBAL) (strategy=NonGroupedAggregateTransformationStrategy) (fragment=ShuffleFragmentAO) (useParallelOp=true)
#RUNQUERY |
|
...
Parallelization Benchmarker