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
Link To Document :
بازگشت