前のページ|次のページ

THREADNUM=データセットオプション

SPD Engineデータセットの処理のためにSPD Engineで起動可能なI/Oスレッド最大数を指定します。

該当要素: DATAステップおよびPROCステップ
デフォルト: SPDEMAXTHREADS=システムオプションの値(指定されている場合)。デフォルト値は、お使いのコンピュータのCPU数を2倍した数
操作: SPDEMAXTHREADS=システムオプション
エンジン: SPD Engineのみ

構文

THREADNUM=n

必須引数

n

スレッド数を指定します。

詳細

THREADNUM=では、SPD Engineデータセットの処理のためにSPD Engineで起動されるI/Oスレッドの最大数を指定できます。THREADNUM=値は、次のSPD Engine I/O処理のいずれにも適用されます。
  • WHERE式の処理
  • 並列処理でのインデックス作成
  • スレッド対応アプリケーションで要求されるI/O
THREADNUM=の調整によって、システム管理者は、SPD Engineで任意のプロセスに使用可能なCPUリソースのレベルを調整できます。たとえば、64ビットプロセッサシステムでTHREADNUM=4を設定すると、プロセスが多くとも4CPUまでに制限されるので、他のユーザーまたはアプリケーションのスループットを高められます。
THREADNUM=が1より大きい場合は、並列処理が発生する可能性が高くなります。したがって、物理的な順序が出力では保持されない場合があります。
また、このオプションを使用すると、WHERE式評価のスケーラビリティも探索できます。
SPDEMAXTHREADS=システムオプションでは、システムリソースの消費に上限が課されるため、THREADNUM=値が制約されます。
注: SASシステムオプションNOTHREADSはSPD Engineには影響しません。
注: THREADNUM=1を設定すると、並列処理は発生しなくなります。これはデフォルトBase SAS Engineと一致した動作です。

例: %MACROの使用

SPD EngineシステムオプションSPDEMAXTHREADS=がセッションに対して128に設定されます。次の例では、SASマクロで並列処理の効果が示されます。
%macro dotest(maxthr);
%do nthr=1 %to &maxthr;
data _null_;
set spde cen.precs(threadnum= &nthr);
   where occup= '022'
   and state in('37','03','06','36');
run;
%mend dotest;
前のページ|次のページ|ページの先頭へ