並列計算
並列計算(へいれつけいさん、英語: parallel
computing)は、コンピュータにおいて特定の処理をいくつかの独立した小さな処理に細分化し、
複数の処理装置(プロセッサ)上でそれぞれの処理を同時に実行させることである。並列コンピュ
ーティングや並列処理ともいう。
大きな問題を解いたり、大量のデータを処理したりする過程は、より小さなサブタスクやサブデー
タグループの処理に分割できることが多い、という事実を利用して単位時間あたりの処理効率(ス
ループット)の向上を図る手法である。
並列処理(並列計算)はスーパーコンピュータでは以前から採られている手法である。スーパーコ
ンピュータの高い性能は、プロセッサ数やノード数がパーソナルコンピュータに比べて極めて多く
、並列処理性能が高いことで実現している。
並列計算のために設計されたコンピュータは並列コンピュータという。並列コンピュータは当初ス
ーパーコンピュータなどの高価で大規模なシステムのみに見られる設計だったが、パーソナルコン
ピュータや携帯機器でもCPUをマルチコア化し並列処理をさせることが当たり前になってきた。CP
Uのクロック周波数を上げることで処理性能向上させることには限界や問題が見えてきたからこの
手法が採用されるようになった。
また並列処理に特化したコプロセッサであるGPUも、個人が(比較的気軽に)購入できる価格帯で
販売されるようになってきており、PCに後付で搭載する形での使用も広まっている。GPUは当初は
主に、コンピュータゲームの3DCGレンダリングなどの画像処理に使われていたので「GPU」と呼
ばれることになったが、実際には並列処理全般に使うことができるものであり、こうした使用法を
GPGPUといい、今ではディープラーニングや暗号通貨のマイニングなど、現実的な時間内に処理し
ようとすると並列処理が必要となるさまざまな用途で使われるようになっている。
並列処理の歴史を遡ると、1958年にIBMの研究者ジョン・コックと Daniel Slotnick
は数値計算における並列性の利用について初めて話し合っている。1962年には、バロース社が4プ
ロセッサのコンピュータ D825 を発表した。→#歴史
関連する概念に並行計算(へいこうけいさん)があるが、並行計算は一つのタスクの計算を並列化
することにとどまらず、複数の相互作用しうるタスクを、プロセスやスレッドなどをもちいて単一
または複数の計算資源にスケジューリングするといった、より汎用性の高い処理をさす。並列計算
は物理的に計算資源が複数なければ効果が得られないが、並行計算はたとえ計算資源が1つだけだ
ったとしても、マルチタスクに対応したオペレーティングシステムがプロセッサ時間をスライスし
て各タスクの処理に割り当てることで効果が得られる。
特に、並列計算専用に設計されたコンピュータを用いずに、複数のパーソナルコンピュータやサー
バ、スーパーコンピュータを接続することで並列計算を実現するものをコンピュータ・クラスター
と呼ぶ。このクラスターをインターネットなどの広域ネットワーク上に分散させるものも、広義に
は並列計算に属すが、分散コンピューティングあるいはグリッド・コンピューティングと呼び、並
列計算とは区別することが多い。
出典: フリー百科事典『ウィキペディア(Wikipedia)』