Abstract
Distributed and parallel systems are typically managed with "static"
settings: the operating system (OS) and the runtime environment (RTE) are
specified at a given time and cannot be changed to fit an application's
needs. This means that every time application developers want to use their
application on a new execution platform, the application has to be
ported to this new environment, which may be expensive in terms of
application modifications and developer time. However, the science resides
in the applications and not in the OS or the RTE. Therefore, it should be
beneficial to adapt the OS and the RTE to the application instead of
adapting the applications to the OS and the RTE.
This document presents the concept of Virtual System Environments (VSE),
which enables application developers to specify and create a virtual
environment that properly fits their application's needs. For that four
challenges have to be addressed:
(i) definition of the VSE itself by the application developers,
(ii) deployment of the VSE,
(iii) system administration for the platform, and
(iv) protection of the platform from the running VSE.
We therefore present an integrated tool for the definition and deployment of
VSEs on top of traditional and virtual (i.e., using system-level
virtualization) execution platforms. This tool provides the capability to
choose the degree of delegation for system administration tasks and the
degree of protection from the application (e.g., using virtual machines).
To summarize, the VSE concept enables the customization of the OS/RTE used
for the execution of application by users without compromising local system
administration rules and execution platform protection constraints.