作成者:

GregKmethy

作成日:

2007-02-02

ArchiCADバージョン

• ArchiCAD 10
• ArchiCAD 9

プラットフォーム:

• Mac OS X
• Windows

ユーザー:

• 新規ユーザー
• 標準ユーザー
• 上級ユーザー
• CADマネージャー

参照番号:

• [tracking number]

マルチプロセスとArchiCAD

Q: マルチプロセスとは何ですか?

A: マルチプロセスとは、同時に2つ以上のセントラルプロセッシングユニット(CPU)を使用することです。最近のコンピューターの多くは、デュアルコアプロセッサあるいは2つ以上のプロセッサが搭載されており、「マルチプロセッサコンピューター」と呼ばれます。

Q: マルチタスクとは何ですか?

A: マルチタスク(しばしばマルチプロセスと混同される)は、起動している異なるアプリケーションから発生する複数の同時プロセスを処理するためのオペレーティングシステム(OS)の機能です。シングルプロセッサコンピューターでは、CPUは同時に1つのタスクしか処理できませんが、OSはCPUにアクセスするタスクを管理します。ハードウェアとOSの連携の際、「タイムスライス」と呼ばれる処理により、1秒間に複数回、CPUが異なるプロセス/アプリケーションに割り当てられます。これにより、シングルコアCPUは一回に一つの処理しか出来ないにもかかわらず、コンピューターの複数のプログラムが同時に反応しているように動作します。このテクノロジは1960年代から使用されており、マルチスレッドとは異なります。

Q: マルチスレッドとは何ですか?

A: マルチスレッドとは、コンピューターが別個に処理できる複数の同時スレッドに分配するプログラム自身の機能のことです。マルチプロセッサコンピューターは同時に2つ以上のスレッドを処理でき、シングルプロセッサコンピューターよりもマルチプロセッサコンピューターの方でプログラムが早く起動することになります。シングルプロセッサマシンではマルチスレッドプログラムの起動は早くなりませんが、同じプログラムの複数の処理が同時に起動しているように見えるためマルチスレッドアプリケーションの方が早く動作しているように見えます。従来のシングルスレッドアプリケーションは2つのプロセッサを使用することは出来ませんので、マルチプロセッサコンピュータでは早く起動しません。

Q: ハイパースレッドとは何ですか?

A: ハイパースレッドとは、Pentium 4プロセッサファミリに使用されているIntel社のテクノロジです。プロセッサの一部が倍になりますが、主要な実行リソースはシングルコアプロセッサと同じです。同時に2つのタスクを実行が可能になりますが、一度に1つのタスクだけが主要な実行リソースを必要とする場合のみです。ハイパースレッドプロセッサはOS上で2つのプロセッサとして扱われます。ただし、同種の2つのタスクを平行して実行することはできません。ArchiCADの場合、ハイパースレッドプロセッサでのLightWorksレンダリングはシングルコアプロセッサよりも早くはなりません。実際、ハイパースレッドプロセッサは特殊な構造のため、ハイパースレッドが有効の場合レンダリングが遅くなることもあります。とはいえ、通常ハイパースレッドが有効の場合15%ほど速度が向上することが報告されています。

Q: デュアルコアプロセッサとは何ですか?

A: ハイパースレッドプロセッサと異なり、デュアルコアプロセッサでは全てのリソースが倍になります。基本的には、1つの箱の中に2つのプロセッサが組み込まれていることになります。デュアルコアプロセッサはOS上では2つのプロセッサとして扱われます。プロセッサキャッシュやメモリインターフェイス速度などプロセッサの他の機能が同じである場合、2つのシングルプロセッサ搭載コンピューターと1つのデュアルコアプロセッサ搭載コンピュータのパフォーマンスは同じです。Mac Proなど一部のコンピュータには2つのデュアルコアプロセッサが搭載されており、OS上では4つのプロセッサとして扱われます。

Q: ArchiCADはマルチスレッド対応ですか??

A: ArchiCADは全体としてはマルチスレッドではありませんが、ArchiCADの一部の機能、特に最新の機能は対応しています。ArchiCAD 10では、以下の機能がマルチスレッド対応です:

Q: LightWorksのレンダリングはデュアルコアプロセッサで2倍の速度になりますか?

A: レンダリング画像を作成するには様々な作業が関係しています。レンダリングを投影するには、プロジェクトの3Dモデルを3Dウィンドウに生成し、その後モデルがLightWorksデータに変換され、最終的にスクリーン上に画像が表示されてレンダリングが行われます。この最後の作業のみがマルチスレッド対応です。

Q: LightWorksは4つのプロセッサを使用できますか?

A: はい。理論上、LightWorksの使用できるプロセッサに制限はありません。

Q: LightWorksは使用しません。デュアルコアコンピュータを購入する理由がありますか?

A: はい。ArchiCADは通常CPUリソースの50%しか使用しませんが、非表示のOSタスクやArchiCADを複数起動しての作業など、常に他のタスクを同時に起動することになるからです。プロセッサに負荷がかかる作業(3Dモデルや断面生成、発行、レイアウト更新など)でArchiCADのCPU使用が最大となった場合でも、他の作業を行った際システムの反応が早くなります。例えば、他のArchiCADプロジェクトにリンクされた図面を更新する際、バックグラウンドArchiCADが別途起動されても開いているプロジェクトでの作業が行えます。

Q: デュアルコアコンピュータを所有していますが、ArchiCADを使用してもプロセッサが最大50%しか使用されません。100%になる事がありません。

A: マルチタスク(上記参照)の性質上、タスクスレッドが一つしかない場合も、OSはプログラムタスクを各プロセッサに均等に配分します。そのため、シングルスレッドアプリケーションはデュアルコアマシンでは前述のように動作します。4コアコンピュータでは各コアは25%まで使用されません。1つのコアで100%、他のコアは保留という状態にはなりません。このような動作ではリソースが十分あるのに1つのコアだけに負荷がかかると言うことになってしまいます。

Q: LightWorksでレンダリングしていますが、両方のプロセッサが50%までしか使用されません。

A: LightWorksにはマルチスレッドでない部分もあります。設定によっては、LightWorksは1スレッドでレンダリングを行います。LightWorks記事をご覧下さい。

Q: ArchiCADはマルチスレッドになる予定ですか?

A: 今後のArchiCADバージョンではマルチスレッド対応機能を搭載する予定はありますが、ArchiCADが完全にマルチスレッドになる予定は近日中にはございません。マルチスレッドに対応するためにArchiCADコードを書き換えることは非常に膨大な作業であり、機能によっては大幅なパフォーマンス向上が期待できないからです。グラフィソフト社ではマルチスレッドが効果的な部分のみに集中して開発する予定です。

Q: メモリ(RAM)の量はマルチプロセスコンピュータの使用と関係がありますか?

A: はい。コンピュータで複数のプロセッサの能力を最大限利用するには、プログラムを起動してデータにアクセスするために十分なメモリが必要です。十分なメモリがないと、速度の遅いハードドライブから情報を入手することになり時間がかかります。2007年以降入手可能な最新のハードディスクには大容量の今ボードメモリキャッシュ(迅速なデータアクセス用にディクスに内蔵のメモリ)が搭載されていますが、それでもパフォーマンス向上にはメインメモリが欠かせません。例えば、シングルプロセッサコンピュータで1GB必要だとすると、4プロセッサのMacPro では1GBは不十分と言うことになります。4つのプロセッサが同じメモリ領域にプログラムやデータを入力しようとし、バーチャルメモリ(ハードディスク)がオーバーフロー部分に使用され作業が大幅に遅くなります。

質問を投稿

PageComment2(newerfirst=1, articleview=1, markup=1, nosmiley=1, notify=1)

関連記事:

関連技術情報:

関連不具合解説:


カテゴリハードウェア

マルチプロセス (最終更新日時 2008-09-01 12:59:51 更新者 localhost)