HP Labs Technical Reports
Click here for full text:
Wanted: Programming Support for Ensuring Responsiveness Despite Resource Variability and Volatility
Forman, George H.
Keyword(s): variability in response time; software frameworks; futures; concurrency; multi-threading; multi- resolution; incremental quality of service; dynamic resource allocation; prioritization; task garbage collection; mobile computing; Petra-Flow
Abstract: Applications running in networked mobile computing environments are prone to a great deal of variability in the response time they experience from system services, such as an (implicitly distributed) file system or (explicit) networking. The range of variability is much greater than in traditional computing environments and changes dynamically. Without special programming considerations, such applications will exhibit unacceptable user responsiveness when resources are slow. Therefore, applications need to be flexible about their resource demands if they are to remain usable through periods of degraded service. There exist known techniques to cope with resource variability, including incremental (multi-resolution) results, concurrency, and dynamic resource allocation. However, their programming cost is substantial, and infrastructure support is weak. This raises the need for general-purpose software frameworks and mechanisms to support these techniques. The author briefly describes such a framework. Through the use of annotated futures, it implicitly constructs a data-flow graph of outstanding concurrent tasks, which affords a degree of meta-level reasoning. The experimental implementation capitalizes on this graph by automating some resource allocation activities.
Back to Index