並列処理 |
辞書:電算用語の基礎知識 ソフト用語編 (PYSOFT) |
読み:へいれつしょり |
外語:parallel computing |
品詞:名詞 |
複数の処理を並列すること。CPUやホストが多重にあるのが普通。
|
概要 |
並列処理する最大の目的は、処理を高速にこなすためである。
そして信頼性向上などの目的により行なわれることもある。
特徴 |
基本理論 |
一つの処理を複数(スレッドなど)に分け、これを同時に行なうのが並列処理である。
理論上、二つの処理を並列に行なえれば半分の時間で処理を終えられるが、これはあくまで机上の理論である。処理を100に分けても処理時間は1/100にはならない。
並列化するためには、処理を分けたり、その結果を集めて一つにまとめたりといった、並列しないときには必要なかった新たな処理が生まれる。その分割数が少ないうちはよくとも、数が増えればそこで発生するオーバーヘッドは無視できないものになる。そこで全体の作業量と分割量のバランスを考える必要もある。
並列計算機モデル |
典型例としては、メモリー共有型とメモリー分散型に分けられる。
アドレス空間中にメモリー(主記憶装置)は一つで、ここに複数のプロセッサーがぶらさがる構造。
パソコンなどのマルチプロセッサーシステムでは、このスタイルが主である。
プロセッサーとメモリーはそれぞれが固有に持つ構造。これがネットワークによって相互に接続される。
SETI@homeのようなものも、メモリー分散型並列処理の一例である。
デッドロック |
並列処理するためには何らかのデータやメカニズムを共有することになるが、ここには常に注意せねばならない点がある。これは、物は一つしかないということであって、あるプロセスがそれを利用している間は、他のプロセスはそれを利用できない。
並列処理において共有メモリーの参照や更新を行なう場合は、ロックやセマフォなどを用いて行なうことになる。しかしこのタイミングが悪いとロック待ちプロセスが重なり、もってそれ以上処理が進まなくなるデッドロックの状態となる危険性がある。
リンク |
通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |