Re: [理工] [計組] disk read in parallel
※ 引述《mqazz1 (無法顯示)》之銘言:
: average seek time 12ms
: rotation rate 3600RPM
: transfer rate 3.5MB/second
: #sectors per track 64
: sector size 512bytes
: controller overhead 5.5ms
: ============================
: suppose we have an array of 4 of these disks. they are all synchronized such
: thtat the arms on all the disks are always on the same sector within the track
: the data is striped across the 4 disk so that 4 logically consecutive sector
: can be read in parallel. what is the average time to read 32 consecutive KB
: from the disk array?
: ============================
: since 4 logically consecutive secotrs can be read at once, we can read off 2KB
: at once. to read 32KB, we need to read 16 sectors on each disk.
: so, the time taken is the same as in (2)
: (2) 12 + (0.5*60/3600) + (8*1024/(3.5*2^20)) + 5.5
total time = seek time + rotation time + transfer time + controller overhead
seek time 就是 12ms ,上面已經直接寫出來了
rotation time 平均約是轉一圈所花的時間的一半
所以是 0.5 * (1 / 3600 rpm) = 0.5 * (1 / 60rps)
轉一圈花幾分 轉一圈花幾秒
這邊 0.5*60/3600 單位應該是秒
transfer time 因為每個 disk 負責 1/4 的資料
所以一個 disk 要傳的資料是 8KB (32KB / 4 = 8 * 1024B)
傳的資料量除以 transfer rate 就是時間
所以是 8 * 1024 / (3.5 * 2 ^ 20)
這是 3.5MB/s
這邊算出來的單位應該也是秒
controller overhead 是 5.5ms
我覺得解答怪怪的,第一第四項單位是 ms ,二三項單位是 s 。
: 請問為什麼是這樣算?
: 張凡335頁
: 謝謝
--
活著的目的是為主活 然後為主死
死亡的目的是為主死 然後為主活
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.24.61
討論串 (同標題文章)