cs 4432lecture #31 cs4432: database systems ii lecture #3 using the disk, and disk optimizations...
TRANSCRIPT
CS 4432 lecture #3 1
CS4432: Database Systems II
Lecture #3
Using the Disk, and Disk Optimizations
Professor Elke A. Rundensteiner
CS 4432 lecture #3 2
Thus far :
• Hardware: Disks• Architecture: Layers of Access• Access Times and Abstractions
CS 4432 lecture #3 3CS 245 Notes 2 3
Optimizations (in controller or O.S.)
• Disk Scheduling Algorithms– e.g., elevator algorithm
• Larger Buffer• Pre-fetch• Disk Arrays• Disk Cache
CS 4432 lecture #3 4
One Simple Idea : Prefetching
Problem: Have a File» Sequence of Blocks B1, B2
Have a Program» Process B1» Process B2» Process B3
...
CS 4432 lecture #3 5
Single Buffer Solution
(1) Read B1 Buffer(2) Process Data in Buffer(3) Read B2 Buffer(4) Process Data in Buffer ...
CS 4432 lecture #3 6
Say P = time to process/blockR = time to read in 1 blockn = # blocks
Single buffer time = n(P+R)
CS 4432 lecture #3 7
Question: Could the DBMS know something
about behavior of such future block accesses ?
What if: If we knew more about the
sequence of future block accesses, how could we do better ?
CS 4432 lecture #3 8
Idea : Double Buffering/Prefetching
Memory:
Disk: A B C D GE F
A B
done
process
AC
process
B
done
CS 4432 lecture #3 9
Say P R
What is processing time now?
P = Processing time/blockR = IO time/blockn = # blocks
• Double buffering time = ?
CS 4432 lecture #3 10
Say P R P = Processing time/blockR = IO time/blockn = # blocks
• Double buffering time = R + nP
• Single buffering time = n(R+P)
CS 4432 lecture #3 11Notes 2 11
Disk Arrays• RAIDs (various flavors)• Block Striping• Mirrored
logically one disk
CS 4432 lecture #3 12Notes 2 12
On Disk Cache
P
M C ......
cache
cache
CS 4432 lecture #3 13
Block Size Selection?
• Question : Do we want Small or Big Block Sizes ?
• Pros ?• Cons ?
CS 4432 lecture #3 14
Block Size Selection?• Big Block Amortize I/O Cost
– For seek and rotational delays are reduced …
• Big Block Read in more useless stuff!
and takes longer to read
Unfortunately...