Quickly finding near-optimal storage designs

Eric Anderson, Susan Spence, Ram Swaminathan, Mahesh Kallahalla, Qian Wang

Research output: Contribution to journalArticlepeer-review

69 Scopus citations


Despite the importance of storage in enterprise computer systems, there are few adequate tools to design and configure a storage system to meet application data requirements efficiently. Storage system design involves choosing the disk arrays to use, setting the configuration options on those arrays, and determining an efficient mapping of application data onto the configured system. This is a complex process because of the multitude of disk array configuration options, and the need to take into account both capacity and potentially contending I/O performance demands when placing the data. Thus, both existing tools and administrators using rules of thumb often generate designs that are of poor quality. This article presents the Disk Array Designer (DAD), which is a tool that can be used both to guide administrators in their design decisions and to automate the design process. DAD uses a generalized best-fit bin packing heuristic with randomization and backtracking to search efficiently through the huge number of possible design choices. It makes decisions using device models that estimate storage system performance. We evaluate DAD's designs based on traces from a variety of database, filesystem, and e-mail workloads. We show that DAD can handle the difficult task of configuring midrange and high-end disk arrays, even with complex real-world workloads. We also show that DAD quickly generates near-optimal storage system designs, improving in both speed and quality over previous tools.

Original languageEnglish (US)
Pages (from-to)337-374
Number of pages38
JournalACM Transactions on Computer Systems
Issue number4
StatePublished - 2005

All Science Journal Classification (ASJC) codes

  • General Computer Science


Dive into the research topics of 'Quickly finding near-optimal storage designs'. Together they form a unique fingerprint.

Cite this