Laboratory for Internet and Innovative Technologies

Virtualization is a key technology for multi-tenant cloud computing enabling isolation of tenants in one or more instances of virtual machines and sharing the hardware resources. In reality, modern multi-core multiprocessors also share the last level cache among all cores on one chip. Our goal will be to enable an optimal resource allocation by avoiding cache misses as much as possible, since this will lead to performance increase. In this paper, we analyze the performance of single and multi-tenant environments in cloud environment installed on a single chip multi core multiprocessor with different resource allocation to the tenants. We realize a series of experiments with matrix multiplication as compute intensive and memory demanding algorithm by varying the matrix size to analyze performance behavior upon different workload and variable cache requirements. Each experiment uses the same resources but it is orchestrated differently. Although one might think that virtualization and clouds include software overhead, the results show how and when cloud computing can achieve even better performance than traditional environment, both in a single-tenant and multi-tenant resource allocation for certain workload. The conclusions show that there are regions where the best performance in the cloud environment is achieved for cache intensive algorithms allocating the resources among many concurrent instances of virtual machines rather than in traditional multiprocessors using OpenMP.


Marjan Gusev, and Sasko Ristov


Cache memory, Cloud Computing, Matrix Multiplication, Shared Memory, Virtualization

Full Paper

The technical report is published as a paper in Cloud Computing 2012, Proceedings of 3rd Int. Conference on Cloud Computing, GRIDS, and Virtualization, Nice, France, IEEE Conference proceedings, ISBN 978-1-61208-216-5, IARIA, 2012