HOME»応用情報技術者試験掲示板»アムダールの法則について
投稿する
アムダールの法則について [4013]
八王子さん(No.1)
下記のアムダールの法則について問われている設問について、解説を読んでも全くイメージが掴めず何を言っているか不明で困っています。
何か具体例等で解説して下さる方はいませんでしょうか…
https://www.ap-siken.com/s/kakomon/17_haru/q33.html
何か具体例等で解説して下さる方はいませんでしょうか…
https://www.ap-siken.com/s/kakomon/17_haru/q33.html
2023.03.06 00:19
GinSanaさん(No.2)
★AP プラチナマイスター
この投稿は投稿者により削除されました。(2023.03.06 09:52)
2023.03.06 09:52
GinSanaさん(No.3)
★AP プラチナマイスター
例えば、1000mの区間を走るラジコンカーがあって、ラストの200m、電圧を変えると、回転速度が純粋に比例して上がるとする。
800mの期間はいじっていないので速度が変わらない。
全体の性能を100%(≒解説では1)として、仮にラストの200mの性能をR%とすると、変わらない部分(800m)の性能は(100-R)%となる。
ラストの200mは電圧を上げる(≒本文でいうところの性能向上)ので、電圧が2倍になれば2倍速で走り、3倍になれば3倍速で走る。
改造部分の性能はRなので、200mを走るのに要する時間はR/電圧の倍数になる。
それを足すと(1-R)+R/Aってなってたわけですが、こんなたとえでどうでしょう。
800mの期間はいじっていないので速度が変わらない。
全体の性能を100%(≒解説では1)として、仮にラストの200mの性能をR%とすると、変わらない部分(800m)の性能は(100-R)%となる。
ラストの200mは電圧を上げる(≒本文でいうところの性能向上)ので、電圧が2倍になれば2倍速で走り、3倍になれば3倍速で走る。
改造部分の性能はRなので、200mを走るのに要する時間はR/電圧の倍数になる。
それを足すと(1-R)+R/Aってなってたわけですが、こんなたとえでどうでしょう。
2023.03.06 10:05
八王子さん(No.4)
なるほど、変わらない部分と性能が上がった部分を足すことで全体の性能を表現しているのですね。ありがとうございました。
2023.03.06 12:41
boyonboyonさん(No.5)
★AP シルバーマイスター
アムダールの法則に関わる問題の時、自分がやっている方法です。
実際は、紙に線分をかき、目盛りをつけてやります。
掲示板では、そうできないので代わりに□を使ってみました。
アムダールの法則の式を、E=1/{(1-r)+r/n} CPUの問題に置き換えてみます。
n:CPUの個数とします。
□:r用の記号 並列処理可(改善を適用する部分の割合)
■:1-r用の記号 並列不可(改善を適用しない部分の割合)
_:列そろえ用
右辺の分数を
分子:基準値1、□または■の合計10個にします。
分母:rに合わせて、□■を使います
例えば、r=0.8の時は、
■■□□□□□□□□
黒が、1-r 白が、r です。
r=0.8、n=1の時
分子:■■■■■■■■■■ 変化しないので白黒どちらでもOK
分母:■■□□□□□□□□
E=1です。
n=2の時
分子:■■■■■■■■■■
分母:■■□□□□ 並列なので2行にします。
_____□□□□
6つめで終了するので、
分子が10、分母が6になり、E=10/6=1.6666・・・
n=4の時
分子:■■■■■■■■■■
分母:■■□□ 今度は4行にします。
_____□□
_____□□
_____□□
分子が10、分母が4なので、E=10/4=2.5
(例)過去問で、r=0.9,n=6 のものがあったと思います。これも上記のように考えてみます。
r=0.9なので
■□□□□□□□□□
ですが、このまま6つに分けるのは、ここでは無理なので、倍にして表現します。
■■□□□□□□□□□□□□□□□□□□ 20個
を基準にします。
n=6の時
分子:■■■■■■■■■■■■■■■■■■■■
分母:■■□□□ 6行にします。
_____□□□
_____□□□
_____□□□
_____□□□
_____□□□
分子が20、分母が5なので、E=20/5=4
こんな感じで理解しています。並列処理が、何となく見えると思います。
実際は、紙に線分をかき、目盛りをつけてやります。
掲示板では、そうできないので代わりに□を使ってみました。
アムダールの法則の式を、E=1/{(1-r)+r/n} CPUの問題に置き換えてみます。
n:CPUの個数とします。
□:r用の記号 並列処理可(改善を適用する部分の割合)
■:1-r用の記号 並列不可(改善を適用しない部分の割合)
_:列そろえ用
右辺の分数を
分子:基準値1、□または■の合計10個にします。
分母:rに合わせて、□■を使います
例えば、r=0.8の時は、
■■□□□□□□□□
黒が、1-r 白が、r です。
r=0.8、n=1の時
分子:■■■■■■■■■■ 変化しないので白黒どちらでもOK
分母:■■□□□□□□□□
E=1です。
n=2の時
分子:■■■■■■■■■■
分母:■■□□□□ 並列なので2行にします。
_____□□□□
6つめで終了するので、
分子が10、分母が6になり、E=10/6=1.6666・・・
n=4の時
分子:■■■■■■■■■■
分母:■■□□ 今度は4行にします。
_____□□
_____□□
_____□□
分子が10、分母が4なので、E=10/4=2.5
(例)過去問で、r=0.9,n=6 のものがあったと思います。これも上記のように考えてみます。
r=0.9なので
■□□□□□□□□□
ですが、このまま6つに分けるのは、ここでは無理なので、倍にして表現します。
■■□□□□□□□□□□□□□□□□□□ 20個
を基準にします。
n=6の時
分子:■■■■■■■■■■■■■■■■■■■■
分母:■■□□□ 6行にします。
_____□□□
_____□□□
_____□□□
_____□□□
_____□□□
分子が20、分母が5なので、E=20/5=4
こんな感じで理解しています。並列処理が、何となく見えると思います。
2023.03.06 18:20