製品 > 動作環境一覧 > ArcGIS 製品のマルチ/マルチコア プロセッサのサポート

製品

ArcGIS 製品のマルチ/マルチコア プロセッサのサポート

ハイパースレッディングやマルチコア プロセッサの背景

大手半導体メーカーである Intel や AMD は、ハイパースレッディングを実装した CPU やマルチコア プロセッサをサポートすることにより、新プロセッサ テクノロジの性能を拡張しています。 ハイパースレッディングは、複数のプロセスが同一の CPU キャッシュを共有することにより、CPU が 1 つ処理を実行している間、別の処理を実行する事を可能にします。 マルチコア プロセッサは、同時に複数の処理を実行することができ、1 つのプロセッサ ソケットに複数の CPU 実行回路を提供しています。 どちらのテクノロジもシステムの演算能力を高めるものですが、アプリケーションがそれを利用するとは限りません。

マルチ プロセッサ / マルチコア プロセッサ環境での ArcGIS for Desktop の動作

ArcMap や ArcCatalog などの ArcGIS for Desktop アプリケーションは、マルチ プロセッサやマルチコア プロセッサ環境の動作をサポートしています。 しかし、ArcGIS 10 より前のバージョンでは、単一の ArcGIS for Desktop アプリケーションの処理に、マルチ プロセッサやマルチコア プロセッサなどのマルチ CPU システムの利点をフルに活用できるわけではありません。 なぜなら、ArcGIS Desktop 9.3.1 以前のアプリケーションは、逐次プロセス スレッドを使用しているからです。

ArcGIS Desktop 10 以降のアプリケーションはマルチコアの利点を活用することができます。 ArcGIS 10 以降のアプリケーションでベースマップ レイヤやアクセラレートされたラスタ レイヤを使用する場合、表示やブレンディングの処理にマルチ スレッドが使用されます。 その結果、ArcGIS 10 より前のバージョンと比べて、アプリケーションのユーザ インタフェースの反応がより良いと感じられます。

ArcGIS 10 以降のバックグラウンド ジオプロセシングには 2 つのコアが使用されます(1 つはジオプロセシング タスクを実行、もう 1 つはユーザ インタフェース(フォアグラウンド)処理の実行)。 Windows の 64-bit 環境では、32-bit アプリケーションの実行に利用可能なメモリが拡張され、より多くの RAM を搭載した 64-bit Windows コンピュータのメリットを享受できます。 たとえば、2 つの大容量のジオプロセシング タスク(1 つはバックグラウンド ジオプロセシング タスク、もう 1 つはスタンドアロン Python スクリプト)を実行する場合は、8GB RAM 以上の環境であれば効果が期待できます。

すべての ArcGIS for Desktop アプリケーションで、マルチ プロセッサ システムによる小さなパフォーマンスの向上が期待できます。 現在のオペレーティング システムのスレッド(E メール、セキュリティ チェック、バックアップ、その他バックグラウンド プロセスなど)を別の CPU リソースが処理することにより、それらの負荷の影響を受けることなく ArcGIS for Desktop アプリケーションを利用できます。

単一の CPU コンピュータの場合、たとえば、負荷の高いジオプロセシング作業を行っている時など、1 つの ArcGIS for Desktop アプリケーションを実行することにより、すべての CPU リソースを費やしてしまうこともあります。 ArcGIS 9.3.1 以前は、デュアル CPU または、デュアルコア プロセッサで同時に同じ処理を実行すると、CPU 使用率が、最小パフォーマンス ゲインで 50% をわずかに上回ります。 両方の CPU リソースをフルに使用するには、別の処理、たとえば、別の ArcGIS for Desktop セッションまたは別のアプリケーションなどが存在する必要があります。

ArcGIS パワー ユーザ(同時に複数のセッションを操作する場合)はマルチ CPU 環境のメリットを享受できます。 これを活用する簡単な方法は、ArcGIS for Desktop アプリケーションとスタンドアロン Python スクリプトの同時使用など、複数のアプリケーションを実行することです。 マルチ CPU ワークステーションでは、ArcGIS ワークフローの中で複数の処理を実行するような負荷の高いジオプロセシング機能や、地図製作作業の効率を大幅に向上させます。

ArcGIS の Python スクリプトの熟練者は、サブプロセス モジュールやマルチプロセシング モジュールを活用したジオプロセシング ツールを記述することができます。 これらのモジュールを使用すると、独立した並行プロセスを走らせることでより多くのあるいはすべての利用可能なコアを活用できるようになります。 Python のサブプロセス モジュールを使用するスクリプトは、複数の並行サブプロセスに ArcPy をインポートすることができますが、マルチプロセシング モジュールの場合、発生済みプロセスとプロセスのプールは ArcPy をインポートできないので演算機能に制限されてしまいますが、演算機能が並列化されるのに役立ちます。

ArcGIS for Desktop とその他のサーバ プラットフォーム

ターミナル サーバ、Web サービス、GIS データ サーバなどの、その他のサーバ プラットフォーム環境の場合、Esri テクノロジはマルチ CPU プラットフォーム構成をフルに活用しています。 これらのプラットフォームは、複数同時クライアント処理をサポートするよう構成する必要があります。 たとえば、ターミナル サーバは、1 つの CPU ごとに複数のユーザをサポートしていますし、各 Web サーバも、インバウンド トランザクションの同時処理をサポートするために、複数のインスタンスで構成することができます。 また、GIS データ サーバは、一般的に、複数の同時 ArcGIS for Desktop クライアント接続をサポートしています。

Copyright© 2002-2018 Esri Japan Corporation. All rights reserved.
トップへ戻る