Publication Date: 2014-Jun-18
The IP.com Prior Art Database
The idea provides methods improve virtualization environments by coordinating guest workload housekeeping tasks - like garbage collection or index rebuilding - of multiple guests. On top of that coordination a hipervisor can also providing adaptive resource allocation related to such guest tasks. At the core of it a coordination instance can enable housekeeping tasks to be executed in a more coordinated way improving overall system effectivity.
Page 01 of 9
The idea provides methods improve virtualization environments by coordinating guest workload housekeeping tasks - like garbage collection or index rebuilding - of multiple guests. On top of that coordination a hipervisor can also providing adaptive resource allocation related to such guest tasks.
Hipervisor technology evolved tremendously in the last years and paved the way to over-committed resources. While the early steps of every hipervisor is usually just to consolidate multiple very low utilized systems to one host now all the market starts going into overcomitted cases where not only the virtual resource definition is higher than the real resources, but also the demand for virtual resources is higher than the real resources.
In such environments the typical behavior (not knowing that there are others competing for resources) of operating systems and applications can become an issue. While the base workload has to be done when there is a request for it there is another major part to most modern workloads which could be improved - the housekeeping tasks like "Databases rebuilding indexes" and "Garbage Collections".
The idea is about coordinating these tasks across multiple systems running on the same hipervisor host. On top of this the hipervisor itself can improve such tasks by adapting resource distribution when knowing about such housekeeping tasks going on.
Page 02 of 9
Page 03 of 9
Page 04 of 9
Page 05 of 9
Page 06 of 9
 In virtualization environments there is currently no coordination of guest tasks. A Guest system , just behaves as if it would be alone on all its (virtual) resources.
 At any point an application running in the guest can decide to run housekeeping style tasks
- often tasks like Virtual memory (e.g. Java) Garbage Collection scans, (re-)indexing of tables like for databases or creating statistics.
 While this works totally fine on real hardware there can arise issues in virtual environments or even without virtualization when two applications run on the same system.
Such housekeeping tasks can be quite resource intensive - often including full scans of virtual memory (potentially already paged to disk) or full data scans on disk - and by that can impact the system.
On top of the impact of a single such task concurrent tasks of this kind behave worse than the sum of it.
 The reason for this lies in the way processors work - they utilize caches and translation look-aside buffers to speed up processing. When two intensive tasks are running at the same time they can push each others cache and TLB content out due to the limited size of these structures. By that both tasks run at a lower efficiency lets trivially call it work/cpu-cycle.So in an example coordinated tasks that avoid running concurrently might tasks 2 seconds each starting at  and  (blue line). But if they accidentally start together at  (red...