You have a system with two primary workloads. One performs sequential access to a set of large files, the other performs small, independent, random reads to a separate set of large files. To satisfy these two workloads, you have a set of 8 disks. Both applications can saturate the peak bandwidth of your disk subsystem (i.e., they are I/O bound). Each disk can provide 100MB/s and has an average seek time of 10ms.
a. How should you organize these disks and lay out your data to provide best performance for the sequential workload?
b. How should you organize these disks and lay out your data to provide best performance for the random workload?
c. If you want to run both applications simultaneously and achieve the maximum average bandwidth for each application, how should you organize these disks and data?
d. Suppose the random reads are dependent, in that each request cannot be submitted before the previous one completes. Does this change the answer to question c)? If so, how?