CS433: Computer Systems Organization Fall 2009
Homework 6
Assigned: Nov/30
Due in class Dec/8
Total points: 40 points.
Instructions:
Please write your name, NetID and an alias on your homework submissions for posting grades
(If you don’t want your grades posted, then don’t write an alias). We will use this alias
throughout the semester. Homeworks are due in class on the date posted.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
1.
Disk Performance [10 points]
Consider the following hard drive:
Seek Time
8 ms
Rotation Speed
7200 rpm
Transfer Rate
80 MB/s
Controller Overhead
0.1 ms
Sector Size
512 Bytes
(a) We have a 1 MB binary file stored on a single track. The file contains sorted key/value pairs.
Each pair consists of two integers. The first integer is the key and the second is its corresponding
value. Integers are 4 bytes long. Assuming the integer key we are searching for is contained
within the file, calculate the average time needed to find its corresponding value using sequential
search. Assume the only significant factor in the search time is the time to transfer sectors from
disk (once transfered to memory, the time needed for to process each record is
negligible).Assume we can process the file as we read. On average, how long does it take to find
a key/value pair on the hard disk? [6 points]
Solution:
On average, well have to sequentially read through half the file before we find the key/value pair.
This means well have to read 512 KB.
Totaltime = seektime + rotationdelay + transfertime + overhead
time = 8ms+ (60000ms/1min) × (1min/7200rotations) ×.5rotation+ (1000ms/80MB) ×0.5MB
+0.1ms = 8ms+4.17ms+
6.25ms + 0.1ms = 18.52ms
4 point for work. 2 point for answer.
(b) What would be the worst case time needed if we used binary search? [4 points]
Solution:
The file holds 1MB × 1024 × 1024/8 = 131072 key/value pairs. If we used the binary search, it
would take on average, log2131072 = 17 accesses. However, the last 64 key/value pairs are all
within the same 512 Bytes sector. So the last log2(64) = 6 accesses are all within the same sector,
so effectively only one disk read is necessary for these last 6 accesses. That means there are a
total of 12 reads.
There are two possible solutions depending on the assumptions:
(1)
Time taken to read one sector = 8+0.5*60*1000/7200+512*1000/(2
20
* 80)+0.1 =
12.27ms
Hence, time required to read 12 sectors = 12*12.27 = 147.2ms.
This is the end of the preview.
Sign up
to
access the rest of the document.
 Fall '08
 Harrison
 Hard disk drive, disk, MTTF

Click to edit the document details