{\em As the size and complexity of high performance computing applications
continue to increase, their computing, storage and connectivity requirements
become more and more difficult to accommodate on any single computing
platform.  The Virtual Computing Environment (VCE) combines
heterogeneous computing, storage and network resources into a flexible
system for the execution of large scale applications. 
Current systems for managing
distributed applications employ static allocation policies which are
difficult to scale to large networks made up of geographically
dispersed resources connected by high speed network technology (e.g. ATM). 
In this
paper we present an application description framework which is
used to develop large scale applications in the VCE. We also
discuss two methods for scheduling tasks in the VCE: one emphasizes
redundant task scheduling while the other emphasizes a more conventional
use of load measurement techniques to select less loaded computers to
run application tasks. 
Several example applications are
included and used to demonstrate the performance of a Virtual Computing
Environment which employs an IBM SP2 supercomputer, a cluster of
DEC Alpha workstations, and a cluster of Sun and Silicon Graphics
workstations interconnected by an ATM network.} 

\newpage


