15.10.4 更新された環境でのタスクの変更と送信
IoEnvironment
のsetNumThreadsPerTask()
メソッドを使用すると、入出力(IO)環境のスレッド数を変更できます。この値はすぐに更新され、更新後に送信されたタスクはすべて、更新された値を使用して実行されます。
JShellを使用した実行環境の変更
opg4j> ioEnv.setNumThreadsPerTask(8)
opg4j> var g = session.readGraphWithProperties(...)
==> PgxGraph[name=graph,N=3,E=6,created=0]
Javaを使用した実行環境の変更
import oracle.pgx.api.*;
import oracle.pgx.api.executionenvironment.*;
ioEnv.setNumThreadsPerTask(8);
PgxGraph g = session.readGraphWithProperties(...)
環境を初期値にリセットするには、ioEnv.reset()
メソッドをコールします。また、ExecutionEnvironment
クラスのexecEnv.reset()
をコールすると、すべての環境を一度にリセットできます。
setWeight()
、setPriority()
およびsetMaxThreads()
メソッドを使用すると、CPU環境のスレッドの重み、優先度および最大数を変更できます。
JShellを使用したCPU環境の変更
opg4j> analysisEnv.setWeight(50)
opg4j> fastAnalysisEnv.setMaxNumThreads(1)
opg4j> var rank = analyst.pagerank(g)
rank ==> VertexProperty[name=pagerank,type=double,graph=my-graph]
Javaを使用したCPU環境の変更
import oracle.pgx.api.*;
import oracle.pgx.api.executionenvironment.*;
analysisEnv.setWeight(50);
fastAnalysisEnv.setMaxThreads(1);
Analyst analyst = session.createAnalyst();
VertexProperty rank = analyst.pagerank(g);
親トピック: 実行環境を使用した高度なタスク・スケジューリング