Arun Viswanathan, Nancy Feldman, et al.
IEEE Communications Magazine
As component-based development matures, more and more applications are built by integrating multiple distributed components. We suggest providing components with multiple implementations, each optimized for a particular workload, and augmenting the component run-time environment with a mechanism for switching between implementations. This mechanism monitors the types of requests the component is receiving, and adaptively switches implementations for optimal application performance. Achieving this optimal performance depends on making good choices as to when and how to switch implementations, a problem we refer to as the adaptive component problem. We first formalize the generic problem and then provide an algorithm, named Delta, for switching implementations in the special case when the component has exactly two implementations. We show that this algorithm is (3 + epsilon)-competitive with respect to the optimal algorithm, where epsilon is a small fraction. We establish a 3-competitive lower bound for the problem, which Implies that Delta is close to optimal. We describe the application of these results to the distributed pub/sub problem, and the data structure selection problem.
Arun Viswanathan, Nancy Feldman, et al.
IEEE Communications Magazine
Rajeev Gupta, Shourya Roy, et al.
ICAC 2006
Raghu Krishnapuram, Krishna Kummamuru
IFSA 2003
Yao Qi, Raja Das, et al.
ISSTA 2009