  Virtualization technology has enabled applications to be decoupled from the
underlying hardware providing the benefits of portability, better control over
execution environment and isolation. It has been widely adopted in scientific
grids and commercial clouds. Since virtualization, despite its benefits incurs
a performance penalty, which could be significant for systems dealing with
uncertainty such as High Performance Computing (HPC) applications where jobs
have tight deadlines and have dependencies on other jobs before they could run.
The major obstacle lies in bridging the gap between performance requirements of
a job and performance offered by the virtualization technology if the jobs were
to be executed in virtual machines. In this paper, we present a novel approach
to optimize job deadlines when run in virtual machines by developing a
deadline-aware algorithm that responds to job execution delays in real time,
and dynamically optimizes jobs to meet their deadline obligations. Our
approaches borrowed concepts both from signal processing and statistical
techniques, and their comparative performance results are presented later in
the paper including the impact on utilization rate of the hardware resources.
