Font Size: a A A

Reactive shadows: A new framework for building adaptive, distributed applications

Posted on:2003-09-25Degree:Ph.DType:Thesis
University:University of KentuckyCandidate:Rogers, Michael DavidFull Text:PDF
GTID:2468390011978430Subject:Computer Science
Abstract/Summary:
This thesis describes a new framework for creating distributed applications that automatically adapt as the availability of the resources in the network and across networked clusters changes. The framework is novel in that it simplifies the task of writing self-adapting, distributed applications, supports efficient and extensible performance monitoring via user-defined metrics and predicate decomposition, and offers reusable and adaptable reactive components that can be easily composed and customized to implement the desired adaptation policy, adaptation method, and adaptation plan.; The framework includes a Programmable Distributed Monitor (PDM) that monitors the availability of resources in the network of computers and the application. Among other features, there are two novel characteristics that distinguish PDM from other performance monitors: application programmers can define arbitrary, extensible monitoring predicates, and PDM automatically decomposes the predicates and distributes the pieces to computers for local evaluation, thereby reducing performance-monitoring overhead. In fact, PDM can be programmed to monitor its own resource usage and to bound monitoring overhead.; The framework also provides a toolkit for creating reactive applications . Programmers build reactive applications from reactive objects that automatically adjust to the current environment and improve their performance. Programmers customize reactive objects by selecting adaptation policies, adaptation methods, and adaptation plans from a library of common modules. Application programmers may also define their own reactive objects. To assist the programmer when building reactive objects, the framework includes a set of base classes that recover application state, determine when adaptation should take place, identify the type of adaptation that should take place, and specify the how the adaptation is carried out.; We demonstrate how reactive objects can be used to build automatically adapting applications that out-perform their non-adaptive counterparts. Moreover, we show that the overhead required for adaptation is minimal (i.e. it is small relative to the performance gains achieved).
Keywords/Search Tags:Framework, Applications, Reactive, Distributed, Adaptation, Automatically, Performance, PDM
Related items