Abstract
We survey a set of algorithmic techniques that make it possible to build a high performance storage server from a network of cheap components. Such a storage server offers a very simple programming model. To the clients it looks like a single very large disk that can handle many requests in parallel with minimal interference between the requests. The algorithms use randomization, redundant storage, and sophisticated scheduling strategies to achieve this goal. The focus is on algorithmic techniques and open questions. The paper summarizes several previous papers and presents a new strategy for handling heterogeneous disks.
Partially supported by the Future and Emerging Technologies programme of the EU under contract number IST-1999-14186 (ALCOM-FT).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aerts, J., Korst, J., Verhaegh, W.: Complexity of Retrieval Problems. Technical Report NL-MS-20.899, Philips Research Laboratories (2000)
Ahuja, R.K., Magnanti, R.L., Orlin, J.B.: Network Flows. Prentice Hall, Englewood Cliffs (1993)
Alon, N., Azar, Y., Woeginger, G.J., Yadid, T.: Approximation Schemes for Scheduling. In: SODA, pp. 493–500 (1997)
Alvarez, G.A., Burkhard, W.A., Cristian, F.: Tolerating Multiple Failures in RAID Architectures with Optimal Storage and Uniform Declustering. In: Proceedings of the 24th Annual International Symposium on Computer Architecture (ISCA 1997), June 2–4. Computer Architecture News, vol. 25(2), pp. 62–72. ACM Press, New York (1997)
Andrews, M., Bender, M.A., Zhang, L.: New Algorithms for the Disk Scheduling Problem. In: IEEE (ed.) 37th Annual Symposium on Foundations of Computer Science, pp. 550–559. IEEE Computer Society Press, Los Alamitos (1996)
Azar, Y., Broder, A.Z., Karlin, A.R., Upfal, E.: Balanced Allocations. In: 26th ACM Symposium on the Theory of Computing, pp. 593–602 (1994)
Barve, R.D., Grove, E.F., Vitter, J.S.: Simple Randomized Mergesort on Parallel Disks. Parallel Computing 23(4), 601–631 (1997)
Berenbrink, P., Brinkmann, A., Scheideler, C.: Design of the PRESTO Multimedia Storage Network. In: International Workshop on Communication and Data Management in Large Networks, Paderborn Germany, October 5, pp. 2–12 (1999)
Berenbrink, P., Czumaj, A., Steger, A., Vöcking, B.: Balanced Allocations: The Heavily Loaded Case. In: 32th Annual ACM Symposium on Theory of Computing, pp. 745–754 (2000)
Blaum, M., Brady, J., Bruck, J., Menon, J.: EVENODD: An Optimal Scheme for Tolerating Double Disk Failures in RAID Architectures. In: Proceedings of the 21st Annual International Symposium on Computer Architecture, pp. 245–254 (1994)
Cain, J., Sanders, P., Wormald, N.: A Random Multigraph Process for Linear Time RDA Disk Scheduling (2003) (Manuscript in preparation)
Chen, L.T., Rotem, D.: Optimal Response Time Retrieval of Replicated Data (Extended abstract). In: 13th ACM Symposium on Principles of Database Systems, vol. 13, pp. 36–44. ACM Press, New York (1994)
Colarelli, D., Grunwald, D.: Massive Arrays of Idle Disks for Storage Archives. In: SC 2002 Conference CD, IEEE/ACM SIGARCH, Baltimore, MD (November 2002)
Dial, R.B.: Algorithm 360: Shortest-Path Forest with Topological Ordering. Communications of the ACM 12(11), 632–633 (1969)
Gibson, G.A., Hellerstein, L., Karp, R.M., Katz, R.H., Patterson, D.A.: Coding Techniques for Handling Failures in Large Disk Arrays, CSD-88-477. Technical report, U. C. Berkley (1988)
Hutchinson, D.A., Sanders, P., Vitter, J.S.: Duality between Prefetching and Queued Writing with Parallel Disks. In: Meyer auf der Heide, F. (ed.) ESA 2001. LNCS, vol. 2161, pp. 62–73. Springer, Heidelberg (2001)
Irani, S.: Competetive Analysis of Paging. In: Fiat, A. (ed.) Dagstuhl Seminar 1996. LNCS, vol. 1442, pp. 52–73. Springer, Heidelberg (1998)
Karp, R.M., Luby, M., Meyer auf der Heide, F.: Efficient PRAM Simulation on a Distributed Memory Machine. In: 24th ACM Symp. on Theory of Computing, May 1992, pp. 318–326 (1992)
Korst, J.: Random Duplicate Assignment: An Alternative to Striping in Video Servers. In: ACM Multimedia, Seattle, pp. 219–226 (1997)
MacWilliams, F.J., Sloane, N.J.A.: Theory of Error-Correcting Codes. North-Holland, Amsterdam (1988)
Mehlhorn, K., Näher, S.: The LEDA Platform of Combinatorial and Geometric Computing. Cambridge University Press, Cambridge (1999)
Meyer, U., Sanders, P., Sibeyn, J. (eds.): Algorithms for Memory Hierarchies. LNCS, vol. 2625. Springer, Heidelberg (2003)
Miller, E.L., Katz, R.H.: RAMA: An Easy-to-Use, High-Performance Parallel File System. Parallel Computing 23, 419–446 (1997)
Muntz, R., Santos, J.R., Berson, S.: A Parallel Disk Storage System for Real-Time Multimedia Applications. International Journal of Intelligent Systems 13, 1137–1174 (1998)
Naor, M., Reingold, O.: On the Construction of Pseudorandom Permutations: Luby-Rackoff Revisited. Journal of Cryptology: the Journal of the International Association for Cryptologic Research 12(1), 29–66 (1999)
O’Neil, E., O’Neil, P., Weikum, G.: An Optimality Proof of the LRU-K Page Replacement Algorithm. JACM: Journal of the ACM 46 (1999)
Patterson, D., Gibson, G., Katz, R.: A Case for Redundant Arrays of Inexpensive Disks (RAID). In: Proceedings of ACM SIGMOD 1988, pp. 109–116 (1988)
Pittel, B., Spencer, J., Wormald, N.: Sudden Emergence of a Giant k-Core in Random Graph. J. Combinatorial Theory, Series B 67, 111–151 (1996)
Rabin, M.O.: Efficient Dispersal of Information for Security, Load Balancing and Fault Tolerance. Journal of the ACM 36(2), 335–348 (1989)
Ruemmler, C., Wilkes, J.: An Introduction to Disk Drive Modeling. IEEE Computer 27(3), 17–28 (1994)
Salem, K., Garcia-Molina, H.: Disk Striping. In: Proceedings of Data Engineering 1986 (1986)
Sanders, P.: Reconciling Simplicity and Realism in Parallel Disk Models. Parallel Computing 28(5), 705–723 (2002); Short version in 12th SODA, pp. 67–76 (2001)
Sanders, P.: Asynchronous Scheduling of Redundant Disk Arrays. IEEE Transactions on Computers 52(9), 1170–1184 (2003); Short version in 12th ACM Symposium on Parallel Algorithms and Architectures, pp. 89–98 (2000)
Sanders, P., Egner, S., Korst, J.: Fast Concurrent Access to Parallel Disks. Algorithmica 1, 21–55 (2003), Short version in 11th SODA, pp. 849–858 (2000)
Santos, J.R., Muntz, R.R., Ribeiro-Neto, B.: Comparing Random Data Allocation and Data Striping in Multimedia Servers. In: ACM SIGMETRICS, pp. 44–55 (2000)
Scheuermann, P., Weikum, G., Zabback, P.: Data Partitioning and Load Balancing in Parallel Disk Systems. VLDB Journal: Very Large Data Bases 7(1), 48–66 (1998)
Schoenmakers, L.A.M.: A New Algorithm for the Recognition of Series Parallel Graphs. Technical Report CS-R9504, CWI – Centrum voor Wiskunde en Informatica, January 31 (1995)
Stone, H.S., Fuller, S.F.: On the Near-Optimality of the Shortest-Access-Time- First Drum Scheduling Discipline. Communications of the ACM 16(6), 352–353 (1973), Also published in/as: Technical Note No.12, DSL
Tetzlaff, W., Flynn, R.: Block Allocation in Video Servers for Availability and Throughput. In: Proceedings Multimedia Computing and Networking (1996)
Tewari, R., Mukherjee, R., Dias, D.M., Vin, H.M.: Design and Performance Tradeoffs in Clustered Video Servers. In: Proceedings of the International Conference on Multimedia Computing and Systems, pp. 144–150 (1996)
Vitter, J.S.: External Memory Algorithms and Data Structures: Dealing with Massive Data. ACM Computing Surveys 33(2), 209–271 (2001)
Vitter, J.S., Shriver, E.A.M.: Algorithms for Parallel Memory, I: Two Level Memories. Algorithmica 12(2/3), 110–147 (1994)
Woeginger, G.J.: When Does a Dynamic Programming Formulation Guarantee the Existence of a Fully Polynomial Time Approximation Scheme (fptas). INFORMS Journal on Computing 12, 57–75 (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sanders, P. (2004). Algorithms for Scalable Storage Servers. In: Van Emde Boas, P., Pokorný, J., Bieliková, M., Štuller, J. (eds) SOFSEM 2004: Theory and Practice of Computer Science. SOFSEM 2004. Lecture Notes in Computer Science, vol 2932. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24618-3_8
Download citation
DOI: https://doi.org/10.1007/978-3-540-24618-3_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20779-5
Online ISBN: 978-3-540-24618-3
eBook Packages: Springer Book Archive