An adaptive distributed virtual computing environment (ADViCE): Design and evaluation

Date of Award


Degree Type


Degree Name

Doctor of Philosophy (PhD)


Electrical Engineering and Computer Science


Salim Hariri


Virtual computing, Meta-computing, Task scheduling, Execution-time prediction

Subject Categories

Computer Sciences | Databases and Information Systems | OS and Networks | Systems Architecture


The next generation of network-centric applications will utilize a large number of computing and storage systems that are connected by global high-speed networks. We refer to the environment that provides transparent computing and communication services for large-scale parallel and distributed applications as a metacomputing environment. In this dissertation we present the design and the experimental results of the Adaptive Distributed Virtual Computing Environment, (ADViCE).

ADViCE is a three-tiered software architecture that consists of an Application Editor to assist in application development and specification, an Application Scheduler to perform transparent application scheduling and resource configuration, and an ADViCE Runtime System to run and manage the application execution. The Application Editor is a web-based graphical user interface that helps users to develop parallel and distributed applications. In ADViCE the application development process is based on a data-flow programming paradigm. The Application Editor generates its output in terms of an Application Flow Graph (AFG) in which the nodes represent task computations and the links denote communication and/or synchronization among the nodes (tasks). The Application Editor provides menu-driven, functional building blocks of task libraries. A node of an AFG is a well-defined function or task selected from a given task library. ADViCE provides a large set of task libraries grouped in terms of their functionality, such as matrix operations. Fourier analysis. C3I (command, control, communication, and information), applications, etc.

ADViCE provides an initial/runtime scheduler (Initial/Runtime Mapping Service) that provides efficient task-to-resource mapping of application flow graphs, and which uses performance prediction of individual tasks to achieve efficient resource allocations. Scheduling decisions are based on task specifications (i.e., hardware/software requirements) in the application flow graph, locations and configurations of resources, and up-to-date resource loads. The ADViCE Runtime System consists of two parts: the Application Control Service (ACS), and the Application Data Service (ADS). The ACS is responsible for monitoring the ADViCE resources, setting up the execution environment for a given application, monitoring the execution of application tasks on the assigned computers, and maintaining the performance, fault tolerance, and quality of service (QoS) requirements. The ADS is responsible for providing low latency and high-speed communication and synchronization services for inter-task communications.


Surface provides description only. Full text is available to ProQuest subscribers. Ask your Librarian for assistance.