iT邦幫忙

0

雙核心使用率計算

  • 分享至 

  • xImage

https://ithelp.ithome.com.tw/upload/images/20200602/20127346KQ3B5DQTkG.png

請問這一題怎麼算?

看更多先前的討論...收起先前的討論...
suasem iT邦新手 5 級 ‧ 2020-06-02 15:44:52 檢舉
70% ?
80%
假設 Q 的計算力為100, 則P的計算力為250.
在 Q 計算100筆資料時, 若以Q為基準.則
Q -> 100 / 100 = 1.0
P -> 150 / 250 = 0.6

(1.0 + 0.6) / 2 = 0.8 = 80%
GOOGLE 一下好像是中鋼 的題目
怎麼算 ?
這題目有問題
硬背即可
ch_lute iT邦新手 5 級 ‧ 2020-06-03 10:20:31 檢舉
這題想問的使用率跟實際上我們從電腦看到的使用率不一樣。按照它希望的解法,且照著該解法假設在"計算"時核心利用率都能100%,這個狀況實際電腦上會顯示100%後顯示50% 然後0%。而且這個狀況也不太可能會真的出現。
ch_lute iT邦新手 5 級 ‧ 2020-06-03 10:23:09 檢舉
然後其實這個題目跟國二理化速率章節在算平均速率的題目87%像
這個算法跟算熱量的模式類似,單純以處理核心只會做單一運算工作來假設,現實世界的CPU管你幾核心,一定在忙一堆有的沒有的事,比如:你中了木馬,木馬正在幫設計者瘋狂挖礦,一台挖可能挖不到什麼鬼,但如果有成千上萬(成千萬)台電腦中馬,那他會賺翻過去
echochio iT邦高手 1 級 ‧ 2020-06-03 17:16:20 檢舉
我猜是 80% ... 對嗎 ?
Q = 100% = 1
P = 150/250 = 0.6
(1+0.6)/2 = 0.8 = 80%
是這樣算嗎 ?
理論歸理論 ... 實際上是看 cpu loading 比較準 ....
沒錯是80~
感謝~
80% 是有問題的答案喔
這個雙核心要滿載 100% 就是單位時間處理 350 筆資料
而目前單位時間內收到 250筆要求這樣的話 250/350 = 71.43% 啊
怎麼會是 80%
另外,單位時間內 Q 基本上都滿載而P處理完 150筆的時候就停了
假設Q處理100筆為 1秒,那P處理完 150筆的時間為 0.6 秒
也就是說 有 0.4秒P都是 0負載,雙核心全載的時間是 0.6秒
而剩下的 0.4秒Q還要滿載處理 40筆資料
使用率計算 60% + 0.4*100/350 = 71.143% => 也是接近 70% 啊
請注意,題目是設定給不同核心不同的資料筆數,而不是平均分擔
所以用平均法計算是不合理的,要用加權平均計算
ch_lute iT邦新手 5 級 ‧ 2020-06-04 14:27:33 檢舉
題目認為一開始雙核心皆工作,使用率為100%,直到P做完150筆的時候過了6單位的時間,這時候Q還剩下40筆沒做,接下來只有Q在工作使用率是50%,過了4單位的時間Q也做完,總共經過10單位的時間,平均使用率是80%。
所以我說它像國中平均速率(去程速≠回程速,求平均速率)這題目從頭到尾都有問題,不用追究太多....
這種題目會有爭議的原因在於大多數在討論多核心的時候,核心的速度都是一樣的
但這個題目核心速度卻是不一樣,也因此在使用率上面來說,P 要負載的運算會大於 Q,這是基本的運算分配律,也就是說,因為P速度快,所以他要負擔的運算會比Q多,題目給快 2.5倍,那實際上他的使用率也會比 Q 高 2.5倍,如果用樓上的說法的話,在運算的第二階段用 50%的使用率是不合理的,只能用 28.57% 計算
因為現實上就算實體多核心,也不可能配置不同速度的核心在同一個平台上面,除非你用的是虛擬平台才可以,但虛擬平台顯然不在這個問題的適用範圍
如果第二階段用 28.57% 的使用率,
那整個運算過程的平均使用率應該這麼計算
100% * 0.6 + 28.57% * 0.4 =71.43% ,
回到我之前算的就是 250/350的結果
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
ch_lute
iT邦新手 5 級 ‧ 2020-06-02 15:20:49

先不管這題題目有問題,我不相信你的參考書對習題的內容沒有任何的講解就直接蹦出這題要你解。
如果真的這樣的話,換一本吧。

這是國營事業的題庫~ 所以沒有說明/images/emoticon/emoticon02.gif

我要發表回答

立即登入回答