An improved protocol reachability analysis technique
Software—Practice & Experience
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
HPC++: experiments with the parallel standard template library
ICS '97 Proceedings of the 11th international conference on Supercomputing
Space/time trade-offs in hash coding with allowable errors
Communications of the ACM
STL tutorial and reference guide, second edition: C++ programming with the standard template library
STL tutorial and reference guide, second edition: C++ programming with the standard template library
A survey of software reuse libraries
Annals of Software Engineering
The WSLA Framework: Specifying and Monitoring Service Level Agreements for Web Services
Journal of Network and Systems Management
The Vision of Autonomic Computing
Computer
Out-of-Core Solution of Large Linear Systems of Equations Arising from Stochastic Modelling
PAPM-PROBMIV '02 Proceedings of the Second Joint International Workshop on Process Algebra and Probabilistic Methods, Performance Modeling and Verification
Parallel Shared-Memory State-Space Exploration in Stochastic Modeling
IRREGULAR '97 Proceedings of the 4th International Symposium on Solving Irregularly Structured Problems in Parallel
Improved probabilistic verification by hash compaction
CHARME '95 Proceedings of the IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods
Parallel State Space Exploration for GSPN Models
Proceedings of the 16th International Conference on Application and Theory of Petri Nets
Reliable Hashing without Collosion Detection
CAV '93 Proceedings of the 5th International Conference on Computer Aided Verification
An Efficient Disk-Based Tool for Solving Very Large Markov Models
Proceedings of the 9th International Conference on Computer Performance Evaluation: Modelling Techniques and Tools
Distributed State Space Generation of Discrete-State Stochastic Models
INFORMS Journal on Computing
PNPM '99 Proceedings of the The 8th International Workshop on Petri Nets and Performance Models
Computer
Software Reuse Research: Status and Future
IEEE Transactions on Software Engineering
An improved construction for counting bloom filters
ESA'06 Proceedings of the 14th conference on Annual European Symposium - Volume 14
On Evaluating the Performability of Degradable Computing Systems
IEEE Transactions on Computers
STXXL: standard template library for XXL data sets
Software—Practice & Experience
A survey of autonomic computing—degrees, models, and applications
ACM Computing Surveys (CSUR)
Self-adaptive software: Landscape and research challenges
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Software Engineering for Self-Adaptive Systems: A Research Roadmap
Software Engineering for Self-Adaptive Systems
Efficient explicit-state model checking on general purpose graphics processors
SPIN'10 Proceedings of the 17th international SPIN conference on Model checking software
A General Lock-Free Algorithm for Parallel State Space Construction
PDMC-HIBI '10 Proceedings of the 2010 Ninth International Workshop on Parallel and Distributed Methods in Verification, and Second International Workshop on High Performance Computational Systems Biology
Industrial Strength Distributed Explicit State Model Checking
PDMC-HIBI '10 Proceedings of the 2010 Ninth International Workshop on Parallel and Distributed Methods in Verification, and Second International Workshop on High Performance Computational Systems Biology
The STAPL parallel container framework
Proceedings of the 16th ACM symposium on Principles and practice of parallel programming
Space-efficient and exact de bruijn graph representation based on a bloom filter
WABI'12 Proceedings of the 12th international conference on Algorithms in Bioinformatics
Hi-index | 0.00 |
Despite advances in operating system resource management and the availability of standardised container libraries, developing scalable high-capacity applications remains a non-trivial endeavour. Naive 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-adapting 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.