Abstract
Limited by the existing design pattern, a lot of existing softwares have not yet taken full use of multicore processing power, incurring low utilization of hardware, even a bottleneck of the whole system. To address this problem, in this paper, we propose a VM-based Web system on multicore clusters. The VM-based Web system is scheduled by Linux Virtual Server (LVS) and we implement the web server with Tomcat. In the mean time, we develop VNIX, a set of VM management toolkit, to facilitate managing VMs on clusters, aiming at improving the usage of multicore CPU power. To reduce resources contention among VMs, we propose to deploy LVS schedulers distributively on different physical nodes. To evaluate our approach, we conduct extensive experiments to compare VM-based Web system with classical physical machine-based Web system. Our experimental results demonstrate that the proposed VM-based Web system can result in throughput improvements of up to three times compared with the same multicore clusters, with an error rate at the server side as low as 20% of that of classic systems.
Similar content being viewed by others
References
Andrews DL, Niehaus D, Jidin R, Finley M, Peck W, Frisbie M, Ortiz JL, Komp E, Ashenden PJ (2004) Programming models for hybrid fpga-cpu computational components: a missing link. IEEE MICRO 24(4):42–53
Apparao P, Makineni S, Newell D (2006) Characterization of network processing overheads in xen. In: Proceedings of the second international workshop on virtualization technology in distributed computing. IEEE, New York
Balakrishnan S, Rajwar R, Upton M, Lai K (2005) The impact of performance asymmetry in emerging multicore architectures. In: Proceedings of the 32nd international symposium on computer architecture. IEEE Computer Society, New York
Barham P, Dragovic B, Fraser K, Hand S, Harris T (2003) Xen and the art of virtualization. In: Proceedings of the 19th ACM symposium on operating systems principles. ACM, New York, pp 164–177
Boyd-Wickizer S, Chen H, Chen R, Mao Y, Kaashoek F, Morris R, Pesterev A, Stein L, Wu M, Dai Y, Zhang Y, Zhang Z (2008) Corey: an operating system for many cores. In: Proceedings of the 8th USENIX symposium on operating systems design and implementation. USENIX Association
Cardellini V, Casalicchio E, Colajanni M, Yu PS (2002) The state of the art in locally distributed web-server systems. ACM Comput Surv 34(2):263–311
Cardellini V, Colajanni M, Yu PS (1999) Dynamic load balancing on web-server systems. IEEE Internet Comput 3(3):28–39
Cherkasova L, Gardner R (2005) Measuring cpu overhead for i/o processing in the xen virtual machine monitor. In: Proceedings of 2005 USENIX annual technical conference, pp 387–390. USENIX
Dongarra J, Gannon D, Fox G, Kennedy K (2007) The impact of multicore on computational science software. CTWatch Q 3:3–10
Hu L, Jin H, Liao X, Xiong X, Liu H (2008) Magnet: a novel scheduling policy for power reduction in cluster with virtual machines. In: Proceeding of 2008 IEEE international conference on cluster computing cluster, 2008. IEEE Computer Society, New York, pp 13–22
Irwin D, Chase J, Grit L, Yumerefendi A, Becker D, Yocum KG (2006) Sharing networked resources with brokered leases. In: Proceedings of USENIX technical conference. USENIX
Iyengar A, Challenger J (1997) Improving web server performance by caching dynamic data. In: Proceedings of 1997 USENIX annual technical conference. USENIX
Iyengar A, Challenger J, Dias DM, Dantzig P (2000) High-performance web site design techniques. IEEE Internet Comput 4(2):17–26
Jiang H, Iyengar A, Nahum E, Segmuller W, Tantawi A, Wright CP (2009) Load balancing for sip server clusters. In: Proceedings of the 28th conference on computer communications. IEEE, New York
Jin H (2004) Chinagrid: making grid computing a reality. In: Digital libraries: international collaboration and cross-fertilization. Lecture notes in computer science. Springer, Berlin, pp 13–24
Karger DR, Ruhl M (2004) Simple efficient load balancing algorithms for peer-to-peer systems. In: Proceedings of ACM symposium on parallelism in algorithms and architectures. ACM, New York
Lim B-H, Bianchini R (1996) Limits on the performance benefits of multithreading and prefetching. In: Proceedings of the ACM SIGMETRICS. ACM, New York, pp 37–46
Liu H, Wee S (2009) Web server farm in the cloud: performance evaluation and dynamic architecture. In: Proceedings of CloudCom 2009. LNCS, vol 5931. Springer, Berlin
McDowell L, Eggers S, Gribble S (2003) Improving server software support for simultaneous multithreaded processors. In: ACM SIGPLAN symposium on principles and practice of parallel programming. PPoPP 03 ACM, New York
Menon A, Santos JR, Turner Y, Janakiraman GJ, Zwaenepoel W (2005) Diagnosing performance overheads in the xen virtual machine environment. In: Proceedings of the 1st international conference on virtual execution environments. ACM, New York, pp 13–23
Moretti C, Steinhaeuser K, Thain D, Chawla NV (2008) Scaling up classifiers to cloud computers. In: Proceedings of IEEE international conference on data mining. IEEE, New York
Mosberger D, Jin T (1998) httperf—a tool for measuring web server performance. ACM SIGMETRICS Perform Eval Rev 26(3):31–37
Nae V, Iosup A, Podlipnig S, Prodan R, Epema D, Fahringer T (2008) Efficient management of data center resources for massively multiplayer online games. In: Proceedings of the 2008 ACM/IEEE conference on supercomputing. IEEE, New York
Nishimura H, Maruyama N, Matsuoka S (2007) Virtual clusters on the fly—fast, scalable, and flexible installation. In: Proceedings of the seventh IEEE international symposium on cluster computing and the grid. IEEE, New York
O’Rourke P, Keefe M (2001) Performance evaluation of Linux virtual server. In: Proceedings of 15th USENIX large installation system administration conference (LISA), pp 79–92. USENIX
Padala P, Shin PG, Zhu P, Uysal P, Wang Z, Singhal P, Merchant A, Salem P (2007) Adaptive control of virtualized resources in utility computing environments. In: Proceedings of Eurosys07. ACM, New York, pp 289–302
Qian H, Miller E, Zhang W, Rabinovich M, Wills CE (2007) Agility in virtualized utility computing. In: Proceedings of the 3rd international workshop on virtualization technology in distributed computing. ACM, New York
Shi X, Pazat J-L, Rodriguez E, Jin H, Jiang H (2008) Dynasa: adapting grid applications to safety using fault-tolerant methods. In: Proceedings of the 17th international symposium on high-performance distributed computing. HPDC2008, ACM, New York, pp 237–238
Sotomayor B, Montero RS, Llorente IM, Foster I (2009) Virtual infrastructure management in private and hybrid clouds. In: Internet computing. IEEE, New York, pp 14–22
Sotomayor B, Keahey K, Foster I (2008) Combining batch execution and leasing using virtual machines. In: Proceedings of IEEE/ACM international symposium on high performance distributed computing (HPDC). ACM, New York, pp 87–96
Wells PM, Chakraborty K, Sohi GS (2006) Hardware support for spin management in overcommitted virtual machines. In: Proceedings of the 15th PACT. IEEE Computer Society, New York
Wood T, Shenoy PJ, Venkataramani A, Yousif MS (2007) Black-box and gray-box strategies for virtual machine migration. In: Proceedings of the 4th symposium on networked systems design and implementation. NSDI 2007. pp 164–177. USENIX
Yang G, Jin H, Li M, Xiao N, Li W, Wu Z, Wu Y, Tang F (2004) Grid computing in china. J Grid Comput 2(2):193–206
Zhang Q, Riska A, Sun W, Smirni E, Ciardo G (2005) Workload-aware load balancing for clustered web servers. IEEE Trans Parallel Distrib Syst 16(3):219–233
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Shi, X., Jin, H., Jiang, H. et al. Toward scalable Web systems on multicore clusters: making use of virtual machines. J Supercomput 61, 27–45 (2012). https://doi.org/10.1007/s11227-011-0623-3
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-011-0623-3