並列処理

読み:へいれつしょり
外語:parallel computing 英語
品詞:名詞

複数の処理を並列すること。CPUやホストが多重にあるのが普通。

目次

並列処理する最大の目的は、処理を高速にこなすためである。

そして信頼性向上などの目的により行なわれることもある。

基本理論

一つの処理を複数(スレッドなど)に分け、これを同時に行なうのが並列処理である。

理論上、二つの処理を並列に行なえれば半分の時間で処理を終えられるが、これはあくまで机上の理論である。処理を100に分けても処理時間は1/100にはならない。

並列化するためには、処理を分けたり、その結果を集めて一つにまとめたりといった、並列しないときには必要なかった新たな処理が生まれる。その分割数が少ないうちはよくとも、数が増えればそこで発生するオーバーヘッドは無視できないものになる。そこで全体の作業量と分割量のバランスを考える必要もある。

並列計算機モデル

典型例としては、メモリー共有型とメモリー分散型に分けられる。

メモリー共有型

アドレス空間中にメモリー(主記憶装置)は一つで、ここに複数のプロセッサーがぶらさがる構造。

パソコンなどのマルチプロセッサーシステムでは、このスタイルが主である。

メモリー分散型

プロセッサーとメモリーはそれぞれが固有に持つ構造。これがネットワークによって相互に接続される。

SETI@homeのようなものも、メモリー分散型並列処理の一例である。

デッドロック

並列処理するためには何らかのデータやメカニズムを共有することになるが、ここには常に注意せねばならない点がある。これは、物は一つしかないということであって、あるプロセスがそれを利用している間は、他のプロセスはそれを利用できない。

並列処理において共有メモリーの参照や更新を行なう場合は、ロックやセマフォなどを用いて行なうことになる。しかしこのタイミングが悪いとロック待ちプロセスが重なり、もってそれ以上処理が進まなくなるデッドロックの状態となる危険性がある。

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club