Important: Please note that f() and -f() indicate a positive / negative relationship between the Cloud metrics. X1=f(X2) means that X1 is positively related to X2, while X3=-f(X4) indicates that X3 is negatively related to X4. The expression of the relation f() depends on the correlation coefficient Ci of the 2 related metrics.


CPU Idle Time = -f(CPU Metrics)

ma photo

The CPU idle time depends on other CPU metrics (user, system, wait and steal). It decreases when one of the other CPU metrics increases. Thus, it is not necessary to monitor the CPU idle time.

Thread CPU Time = f(Thread Waited Count)

ma photo

The CPU time of a running thread is highly related to its waited count. The correlation coefficient between the CPU time of a thread and it waited count is around 0.99 (very close to 1). This means that it is sufficient to monitor one of these two metrics.

Thread CPU Time = f(VM CPU User)

ma photo

The CPU time of a thread is related to the CPU user of the corresponding virtual machine. Due to the high number of threads running in a virtual machine, we only present two threads in the figure.
The two correlation coefficients are 0.4 and 0.5, respectively. Thus, the CPU user of a virtual machine is related to the CPU time of the running threads.

VM CPU User = f(Dom0 CPU User)

ma photo

The CPU User of the virtual machine is related to the Dom0 CPU usage. In this scenario, we have one virtual machine running on a physical node that contains two cores. The figure shows that the usage of the physical core 1 is highly related to the CPU user of the virtual machine since the correlation coefficient value is equal to 0.8. However, the figure also shows that the core 0 usage is not related to the VM CPU user since the correlation coefficient value is around 0. This is actually related to the fact that the virtual machine is only using core 1 in this scenario. The multiple correlation coefficient between the virtual machine CPU user and the CPU usage of the two cores is around 0.8, which implies a strong relationship between these metrics.

VM CPU Steal = f(VM CPU Waiting Time)

ma photo

The VM CPU steal is related to the DomU waiting time. In this scenario, we generated CPU load on the virtual machine (via a script calculating the factorial of a big number), and we observed its effect on the waited time on core 0 and core 1 of the CPU. This experiment shows that the considered parameters increase together. The correlation coefficients of the VM CPU steal and the VM CPU waiting time of Core 0 and Core 1 are 0.45 and 0.40, respectively. This implies that they are related.

JVM Memory Usage = -f(VM Free Memory)

ma photo

The JVM Heap Memory is related to the free memory of the VM. As shown in the Figure above, 3 JVMs are running on our testbed. They correspond to the Tomcat Web server, the used Web Service and our JVMSensor tool. Our experiments show that the heap memory of JVM1 and JVM3 are correlated to the free memory of the VM. However, they also show that the JVM2 heap memory is not correlated with the VM free memory. This does not necessarily invalidate the relationship between the JVM heap memory and the VM free memory. Actually, we are studying the correlation between one parameter (VM free memory) and three other parameters (JVM1 / JVM2 / JVM3 heap memory). In such a case, it is more significant to calculate the multiple correlation coefficient. It is equal to 0.81, which reflects a strong relationship between the JVM heap memory and the VM free memory.

Non-Heap JVM Memory = -f(VM Free Memory)

ma photo

The non-heap memory is related to the virtual machine free memory. We are use the same scenario with 3 JVMs, as the last experiment. It is visually clear that the non-heap memory values of JVM1 and JVM3 are highly correlated to the VM free memory (see Figure above). Morevover, we can easily notice that the JVM2 heap memory distribution is constant. Thus, we cannot calculate the correlation coefficient in this case. Thus, it is not correlated with the VM free memory. Nevertheless, we can still confirm a relationship between the JVM non-heap memory and the VM free memory. Actually, it is not surprising, in a multiple correlation scenario, that one of the parameters (JVM2 non heap memory) is not correlated with the main parameter (VM free memory), when the two other parameters (JVM1 / JVM3 non-heap memory) are highly correlated to the same parameter (VM free memory).

PM Free Memory = f(VM Free Memory)

ma photo

The non-heap memory is related to the virtual machine free memory. The VM free memory is highly related to the free memory of the physical machine. The correlation coefficient is around 0.9.

I/O Requests to Disk = f(VM written/read pages)

ma photo

It is plausible that the number of read/written pages is related to the number of I/O requests to the disk. This relationship has been proven via experiments. As shown in the Figure above, the number of written pages is correlated to the number of I/O requests to the disk. However, the number of read pages is not, since it almost follows a constant distribution. The multiple correlation coefficient between the number of I/O requests to the disk and the number of read/written pages is equal to 0.83. This value implies a strong relationship between the corresponding parameters.

VM Load = f(Dom0 Load)

ma photo

The privileged domain (dom0) load is related to the VM load. Actually, the correlation coefficient between the two loads (Dom0 and VM) is about 0.77, which implies a high correlation/relationship between the virtual load and the physical one.

Loaded Classes Number = f(Non Heap Memory Usage)

ma photo

The number of loaded classes is highly correlated to the non-heap memory usage. The correlation coefficient is about 0.91. This means that the increase of the non- heap memory usage is mainly related to an increase of the number of loaded classes. Thus, it is not necessary to measure the number of loaded classes.

Processes Number = f(Machine Load)

ma photo

The machine load is related to the number of processes. The correlation coefficient is about 0.91.

Software Interrupts = f(VM CPU wait)

ma photo

Software interrupts are highly related to the CPU wait of a virtual machine in the absence of exceptions and hardware interrupts. The correlation coefficient is about 0.87.