• DocumentCode
    2991558
  • Title

    Self-adaptive containers: Building resource-efficient applications with low programmer overhead

  • Author

    Wei-Chih Huang ; Knottenbelt, William J.

  • Author_Institution
    Dept. of Comput., Imperial Coll. London, London, UK
  • fYear
    2013
  • fDate
    20-21 May 2013
  • Firstpage
    123
  • Lastpage
    132
  • Abstract
    Despite advances in operating system resource management and the availability of standardised container libraries, developing scalable high-capacity applications remains a nontrivial endeavour. Naïve implementations of fundamental algorithms often rapidly exhaust system resources under heavy load. Resolving this via manual refactoring is usually possible but requires significant programmer effort, an effort which often has to be repeated in order to meet the resource constraints encountered in each different execution environment. This paper proposes a library of self-adaptive containers which provide a ready route to developing scalable applications with low programmer overhead. Given an execution environment, the library flexibly adapts its use of data structures in an effort to meet programmer-specified service level objectives. The library features a mechanism for tighter functionality specification than that provided by standard container libraries. This enables greater scope for efficiency optimisations, including the exploitation of probabilistic data structures and out-of-core storage. We have demonstrated the capabilities of the proposed library through a prototype implementation in C++. We show that when a Breadth First Search explicit state space exploration algorithm is executed, using the proposed library reduces insertion time by 68.5%, search time by 86.1%, and primary memory usage by 90.1% compared with the Standard Template Library.
  • Keywords
    data structures; formal specification; operating systems (computers); resource allocation; tree searching; C++ language; breadth first search explicit state space exploration algorithm; functionality specification; operating system resource management; out-of-core storage; probabilistic data structure; programmer overhead; programmer-specified service level objective; resource-efficient application; self-adaptive containers library; standard template library; standardised container libraries; Containers; Data structures; Libraries; Probabilistic logic; Reliability; Software; Time factors; Containers; Probabilistic Data Structures; Self-Adaptive Systems; Standard Template Library;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering for Adaptive and Self-Managing Systems (SEAMS), 2013 ICSE Workshop on
  • Conference_Location
    San Francisco, CA
  • ISSN
    2157-2305
  • Print_ISBN
    978-1-4799-0344-3
  • Type

    conf

  • DOI
    10.1109/SEAMS.2013.6595499
  • Filename
    6595499