Encyclopedia of Algorithms

2016 Edition
| Editors: Ming-Yang Kao

I/O-Model

  • Norbert Zeh
  • Ulrich Meyer
Reference work entry
DOI: https://doi.org/10.1007/978-1-4939-2864-4_190

Years and Authors of Summarized Original Work

  • 1988; Aggarwal, Vitter

Definition

The input/output model (I/O model) [ 1] views the computer as consisting of a processor, internal memory (RAM), and external memory (disk). See Fig.  1. The internal memory is of limited size, large enough to hold M data items. The external memory is of conceptually unlimited size and is divided into blocks of B consecutive data items. All computation has to happen on data in internal memory. Data is brought into internal memory and written back to external memory using I/O operations (I/Os), which are performed explicitly by the algorithm. Each such operation reads or writes one block of data from or to external memory. The complexity of an algorithm in this model is the number of I/Os it performs.

Keywords

Disk access model (DAM) External-memory model 
This is a preview of subscription content, log in to check access.

Recommended Reading

  1. 1.
    Aggarwal A, Vitter JS (1988) The input/output complexity of sorting and related problems. Commun ACM 31(9):1116–1127MathSciNetCrossRefGoogle Scholar
  2. 2.
    Ajwani D, Meyerhenke H (2010) Realistic computer models. In: Müller-Hannemann M, Schirra S (eds) Algorithm engineering: bridging the gap between algorithm theory and practice. Volume 5971 of LNCS. Springer, Berlin/Heidelberg, pp 194–236Google Scholar
  3. 3.
    Arge L (2002) External memory data structures. In: Abello J, Pardalos PM, Resende MGC (eds) Handbook of massive data sets. Kluwer Academic, Dordrecht, pp 313–357CrossRefGoogle Scholar
  4. 4.
    Arge L (2003) The buffer tree: a technique for designing batched external data structures. Algorithmica 37(1):1–24MathSciNetzbMATHCrossRefGoogle Scholar
  5. 5.
    Arge L, Goodrich MT, Nelson MJ, Sitchinava N (2008) Fundamental parallel algorithms for private-cache chip multiprocessors. In: Proceedings of the 20th annual ACM symposium on parallelism in algorithms and architectures, Munich, pp 197–206Google Scholar
  6. 6.
    Bayer R, McCreight E (1972) Organization of large ordered indexes. Acta Inform 1:173–189zbMATHCrossRefGoogle Scholar
  7. 7.
    Beckmann A, Meyer U, Sanders P, Singler S (2011) Energy-efficient sorting using solid state disks. Sustain Comput Inform Syst 1(2):151–163Google Scholar
  8. 8.
    Greiner G, Jacob R (2012) The efficiency of MapReduce in parallel external memory. In: Proceedings of the 10th Latin American symposium on theoretical informatic (LATIN). Volume 7256 of LNCS. Springer, Berlin/Heidelberg, pp 433–445Google Scholar
  9. 9.
    Nodine MH, Vitter JS (1993) Deterministic distribution sort in shared and distributed memory multiprocessors. In: Proceedings of the 5th annual ACM symposium on parallel algorithms and architectures, Velen, pp 120–129, June/July 1993Google Scholar
  10. 10.
    Nodine MH, Vitter JS (1995) Greed sort: an optimal sorting algorithm for multiple disks. J ACM 42(4):919–933MathSciNetCrossRefGoogle Scholar
  11. 11.
    STXXL: C++ standard library for extra large data sets. http://stxxl.sourceforge.net. Accessed 23 June 2014
  12. 12.
    TPIE – a transparent parallel I/O-environment. http://www.madalgo.au.dk/tpie. Accessed 23 June 2014
  13. 13.
    Verbin E, Zhang Q (2013) The limits of buffering: a tight lower bound for dynamic membership in the external memory model. SIAM J Comput 42(1):212–229MathSciNetzbMATHCrossRefGoogle Scholar
  14. 14.
    Vitter JS (2006) Algorithms and data structures for external memory. Found Trends Theor Comput Sci 2(4):305–474MathSciNetzbMATHCrossRefGoogle Scholar
  15. 15.
    Vitter JS, Shriver EAM (1994) Algorithms for parallel memory I: two-level memories. Algorithmica 12(2–3):110–147MathSciNetzbMATHCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2016

Authors and Affiliations

  1. 1.Faculty of Computer ScienceDalhousie UniversityHalifaxCanada
  2. 2.Department of Computer ScienceGoethe University Fankfurt am MainFankfurtGermany