| English | 意味 |
|---|---|
| sequential computing/siːˈkwenʃl kəmˈpjuːtɪŋ/ | 逐次計算 |
| Parallel computing/ˈpærəlel kəmˈpjuːtɪŋ/ | 並列計算 |
| processors/ˈprəʊsesəz/ | プロセッサ |
| Distributed computing/ˈdɪstrɪbjuːtɪd kəmˈpjuːtɪŋ/ | 分散計算 |
| speedup/ˈspiːdʌp/ | 加速比 |
一歩ずつ
- 従来、コンピュータは一連の手順を1つずつ実行する。
- これは順次計算であり、次の手順に入る前に各手順が完了しなければならない。
- 単純ではあるが、大規模なタスクには時間がかかる。
- 速度を上げるために、複数の手順を同時に処理できる。
In sequential computing:
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
One step at a time, in order.
並列計算と分散計算
- 並列計算は、1台の機械内で複数のプロセッサを使用して、タスクの一部を同時に実行する。
- 分散計算は、ネットワークで接続された多数の個別のコンピューター(通常は異なる場所にある)にタスクを分散させる。
- 並列=多数のプロセッサ、1台の機械。分散=多数の機械。
- どちらも大規模なタスクをより早く完了することを目的としている。
Sequential, parallel, or distributed?
Sequential runs one step at a time; parallel uses several processors in one machine at once; distributed spreads a task across many separate computers.
Match each term to its meaning.
難易度 2/5 · 140 コイン + 今日初回完了時に小ボーナス付与
Parallel is one machine; distributed is many machines.
スピードアップとその限界
- 並列計算の利点はスピードアップによって測られる:
- $\text{speedup} = \dfrac{\text{time using one processor}}{\text{time using several processors}}$.
- しかし、順次実行しなければならない部分は、プロセッサを追加しても高速化できない。
- そのため、順次部分全体が到達可能な最大スピードアップに対する下限(硬い上限)を設定する。
A task takes 100 s on one processor and 40 s on several. What is the speedup?
難易度 2/5 · 140 コイン + 今日初回完了時に小ボーナス付与
speedup = 100 / 40 = 2.5×.
If 20 s of a 100 s task must run sequentially, what is the maximum possible speedup?
難易度 2/5 · 140 コイン + 今日初回完了時に小ボーナス付与
Even with infinite processors, 20 s remains: 100 / 20 = 5×.
Why can adding more processors never remove the speedup cap?
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
The sequential portion sets a floor on the total time.
Distributed computing suits huge jobs too big for one machine, like indexing the whole web.
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
The work splits naturally across thousands of computers.
分散計算が活躍する場面
- 分散ソリューションは超大規模なタスクにおいて輝く——膨大なデータセットや、Web全体をインデックス化する検索エンジンなど。
- 作業量は1台の機械では大きすぎて、自然に数千台に分割される。
**上限付きのスピードアップ。**100秒のタスクのうち、80秒が並列、20秒が順次である。4つのプロセッサの場合、並列部分は $80 / 4 = 20$ 秒となり、それに順式の20秒を加えると40秒となる。スピードアップ $= 100 / 40 = 2.5\times$。百万個のプロセッサを用いても、順式の20秒は残るため、スピードアップが $100 / 20 = 5$ を超えることは決してない。
順次計算は手順を1つずつ実行する。並列計算は1台の機械内で複数のプロセッサを同時に使用し、分散計算は作業を多数の機械に分散させる。並列による効果はスピードアップ(単一プロセッサ時の時間 ÷ 複数プロセッサ時の時間)として測られるが、順次部分がこれを制限する(ここでは5倍)。