アクセスカウンター アクセスカウンター アクセスカウンター
並行,並列,同時,および,分散 

ことのはの散策

 

並行,並列,同時,および,分散:
concurrent, parallel, simultaneous and distributed

 

                                                                                      上智大学 伊藤 潔

                                                                                            2005年9月28日

 

 並行,並列,同時,分散という用語が,コンピュータの世界でよく使われます.厳密な用語の定義は難しいですが,ここでは,どのような違いがあるか,感覚的に見てみます.

並行(
concurrent)

 
複数の仕事があって,互いに無関係の部分は,同時に実行でき,相互作用のある部分は,順序関係をもって実行する,という論理的に同時に実行されている様を表します.仕事の個数より少ないCPUしかなければ,その時間を分け合って利用することになるし,仕事の数だけのCPUがあれば,並列に実行することになります.2つの仕事で,メッセージの送受を行う部分は,順序関係をもっている(受け取らなければ仕事ができない)が,その他の部分は,並列にできるところは進めてもいい,ということが,並行という言葉の感覚です.ここで,仕事といっているものは,コンピュータの世界で,タスク,プロセス,スレッドと呼ばれるものです.

並列( pa
rallel

 複数の
CPUや装置が同時に動いている様を表します.

同時(simultaneous

 
CPU,装置,仕事を問わず,同時に動いている様を表します.

分散(
distributed

 
1つの行いたい仕事を,論理的に分けて,それぞれの部分仕事を,異なるコンピュータに割り振って実行する様を表します.部分仕事同士は,並行性を持っていると言えますし,複数のコンピュータは並列に実行していると言えます.仕事を分散して実行,という感覚です.

ついでに,

擬似並列(quasi-parallel)

 並行,並列,同時,分散などの様を持っている対象を,
1つのコンピュータでシミュレーションしようとするとき,その通りに,並行,並列,同時,分散はできないので,擬似的にそのような環境を作り出して,模擬的に動かす様を表します.

  concurrent 並行な    
  parallel 並列な    
  simultaneous 同時的な    
  distributed 分散的な    
  quasi-parallel 擬似的に並列な