X10: an object-oriented approach to non-uniform cluster computing
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Retrofitting Autonomic Capabilities onto Legacy Systems
Cluster Computing
Enabling scalable parallel implementations of structured adaptive mesh refinement applications
The Journal of Supercomputing
Intel® threading building blocks
Journal of Computing Sciences in Colleges
A lightweight streaming layer for multicore execution
ACM SIGARCH Computer Architecture News
The PARSEC benchmark suite: characterization and architectural implications
Proceedings of the 17th international conference on Parallel architectures and compilation techniques
The Cilk++ concurrency platform
Proceedings of the 46th Annual Design Automation Conference
A roadmap towards sustainable self-aware service systems
Proceedings of the 2010 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems
Design patterns for developing dynamically adaptive systems
Proceedings of the 2010 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems
Virtual private machines: a resource abstraction for multicore computer systems
Virtual private machines: a resource abstraction for multicore computer systems
Hi-index | 0.00 |
Autonomic multicore systems dynamically adapt themselves in response to run-time conditions and information for a variety of purposes, such as fault tolerance, power conservation, and performance balancing. Multiple application processes must coordinate their efforts and share resources to achieve system goals. In this paper, we present our inflate/deflate programming model for building autonomic processes and systems. The inflate/deflate programming model provides application-specific knowledge and reactions to a central resource coordinator. The central resource coordinator distributes and revokes resources at runtime to achieve a system goal. We discuss the overall design and challenges involved in our model. We test our design for adaptable programs by modifying programs from the PARSEC benchmark suite. The programs are tested in two sample situations to explore the difficulties of modification and the rewards gained. We find that the first modified program (blackscholes) fairly shares CPU time with other system workloads in an energy conservation scenario (up to 50% more efficient than an unmodified blackscholes). The second modified program (dedup) dynamically takes advantage of core resources as they become available (17% faster performance). If no new cores become available, it is able to more efficiently use existing resources (9% faster performance).