HOME»基本情報技術者試験掲示板»平成26年春期午後問3
投稿する

平成26年春期午後問3 [4508]

 トマさん(No.1) 
https://www.fe-siken.com/kakomon/26_haru/pm03.html
設問1のaで90/(7+90+3)=0.9でrを求めていますが、なぜこれで求められるのでしょうか?
比の計算でこういう形のものは計算したことがなく調べてもよくわかりませんでした。誰か分かる方よろしくお願い致しますm(._.)m
2022.10.20 11:49
Jusnickerさん(No.2) 
rを定義にのっとって計算で求めると、「計算処理/(データ作成+計算処理+データ出力)」(に要する時間)になるので、90/(7+90+3)=0.9  ➡これより、r=0.9といえます。
  E≧5  という問題の条件と、Eを定義した式にr=0.9  を代入すると、
  5 ≧  1/(1-0.9+(0.9/n)) ➡  5 ≧  1/(0.1+(0.9/n))となります。
ここで、nは正なので、0.9/n > 0, よって 0.1+(0.9/n) > 0なので、両辺に 0.1+(0.9/n) をかけても
不等号の向きは反転しません。
  両辺に 0.1+(0.9/n)  をかけると、0.5+(4.5/n) ≧ 1  となるので、
整理すると  45/n ≧ 5   ➡  9/n ≧ 1   となります。
分母が正の数かつ分子が一定の場合、分母が大きくなればなるほど,分数は小さくなるため、
n≧9  といえます。(わかりづらかったら、もう一度両辺にnをかけてこの形になるのを確かめてみても良いと思います!)
2022.10.20 13:16
Jusnickerさん(No.3) 
➡
この部分は右向きの矢印です。わかりづらくてすみません.......
2022.10.20 13:17
 トマさん(No.4) 
解説ありがとうございます!
ちなみにですが、"rを定義にのっとって計算で求めると、「計算処理/(データ作成+計算処理+データ出力)」(に要する時間)になる"のところですが詳しく説明してもらってもよろしいでしょうか?
定義部分を見てもなぜこのような計算式になるのかわからなかったので..
2022.10.20 16:18
Jusnickerさん(No.5) 
トマ様
  質問されたことと違う事を答えてしまってすみません。
  設問の条件は、使用されるCPUが、「データ作成,計算処理,結果出力の処理時間の割合が7:90:3の場合」とありますよね?
  これは、それぞれにかかる時間の比率を表しています。
  例えばお菓子を作るときに、道具を用意するのに20分、材料を計量するのに10分、混ぜるのに15分、焼くのに30分だった場合、それぞれにかかった時間の比率は4:2:3:6(この場合、全体を4+2+3+6=15とみなす)
となります。比率とすべての作業に要した時間(この場合20+10+15+30=60分)がわかっていれば、それぞれの作業に必要な時間も求められるという事になります(例:60*(4/15)=20より、道具の用意には20分かかったなど)
つまり、(例えばですが)あるプログラムをこのCPUを用いて処理して、全体でかかった時間が100ミリ秒だった場合、
データ作成にかかる時間は、全体の7%(7/100)なので  7ミリ秒
計算処理にかかる時間は、全体の90%(90/100)なので  90ミリ秒
結果出力にかかる時間は、全体の3%(3/100)なので  3ミリ秒  といえます。
(分母が100なのは、3+90+7=100  であるためです)。
最初の問題文の条件を読み返すと、「並列実行可能な処理」は、この3つのうち、計算処理だけであると考えられます。
そのため、全体の90%,つまり全体処理時間に0.9をかけた値が計算処理時間であるといえる、ということです。
  時間配分と比率の関係性については、円グラフを描いてみるなどすると、イメージしやすいかもしれません。
2022.10.20 16:45
boyonboyonさん(No.6) 
FE シルバーマイスター
この問題は、仮の数値を使って考えると解きやすいです。

全部で100ミリ秒という、Jusnickerさんの例を使って説明させていただきます。

高速化率が5以上ということは、時間で言えば5分の1以下にすればよいということです。
単一CPUで100ミリ秒なので20ミリ秒以下にすればよいということになります。
データ作成の7ミリ秒、出力の3ミリ秒は、変わらないのでそのまま合計10ミリ秒です。
なので、90ミリ秒かかる計算処理を10ミリ秒以下にすればよく、そのためには9個以上のCPUが必要です。
これで答えは求められます。

公式について・・・・

「単一CPUの時の処理時間」と「CPUがn個の時の処理時間」の比の値が高速化率になります。
公式としては、単一CPUの時の処理時間を1として書いてあります。(割合)

実際に数値を当てはめてみると
分子:単一CPUの時の処理時間(100)
分母は、
1-rのところが、データ作成+出力(100-90 or 7+3)並列処理できない処理
r/nのところが、計算処理/CPUの個数(90/n)並列処理が可能な処理
になります。
計算すると、9≦n になります。
2022.10.20 23:04
 トマさん(No.7) 
Jusnickerさん、boyonboyonさん、お二方とも丁寧な説明ありがとうございます!
わからなかったところがスッキリしました。m(._.)m
2022.10.22 15:03
返信投稿用フォームスパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop