Abstract
With multi-core processors being increasingly employed by servers in cloud/data centers, how to take advantage of multi-core has been a key issue to improve the system performance. Data reuse in shared cache is an attractive approach to exploit multi-core, and therefore researchers present a number of solutions from different levels such as compiler and operating system. However, because of the lack of cooperation in two-level scheduling framework in virtualized system, the scheduling and distributing policy employed by VCPU (Virtual CPU) scheduler often counteract the endeavor of the guest operating in pursuing data reuse. Aiming the problem, we present CDLP: a novel dynamic core distributing policy based on logic partitioning, and we present a set of algorithms including core distribution, load balancing, core redistribution, core reclaiming. In order to verify the effectiveness and correctness of CDLP, we implement a prototype based on Xen platform, the experimental results demonstrate that CDLP can effectively realize data reuse and fully utilize processing resource.
Similar content being viewed by others
References
Blelloch, G.E., Gibbons, P.B.: Effectively sharing a cache among threads. In: Gibbons, P.B., Adler, M. (eds.) Proceedings of the Sixteenth Annual ACM Symposium on Parallelism in Algorithms and Architectures (SPAA 2004), Barcelona, Spain, 27–30 June 2004, pp. 235–244. ACM Press, New York (2004)
Blelloch, G.E., Gibbons, P.B., Matias, Y.: Provably efficient scheduling for languages with fine-grained parallelism. J. ACM 46(2), 281–321 (1999)
Chen, S., Gibbons, P.B., Kozuch, M., et al.: Scheduling threads for constructive cache sharing on CMPs. In: Scheideler, C. (ed.) Proceedings of the 19th Annual ACM Symposium on Parallelism in Algorithms and Architectures (SPAA 2007), San Diego, CA, USA, 09–11 June 2007, pp. 105–115. ACM Press, New York (2007)
Tam, D., Azimi, R.,Stumm, M.: Thread clustering: sharing-aware scheduling on SMP-CMP-SMT multiprocessors. In: Ferreira, P., Gross, T.R., Veiga, L. (eds.) Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems (EuroSys 2007), Lisbon, Portugal, 21–23 March 2007, pp. 47–58. ACM Press, New York (2007)
Pericas, M., Taura, K., Matsuoka, S.: Scalable analysis of multicore data reuse and sharing. In: Proceedings of the 28th ACM International Conference on Supercomputing (ICS 2014), Muenchen, Germany, 10–13 June 2014, pp. 353–362. ACM Press, New York (2014)
Zhang, W., Liu, F., Fan, R.: Cache matching: thread scheduling to maximize data reuse. In: Proceedings of the High Performance Computing Symposium (HPC 2014), Tampa, FL, USA, 13–16 April 2014, no. 7. ACM Press, New York (2014)
Jin, H., Qin, H., Wu, S., et al.: CCAP: a cache contention-aware virtual machine placement approach for HPC cloud. Int. J. Parallel Program. (2013). ISSN 1573-7630
Kim, S., Eom, H., Yeom, H.Y.: Virtual machine scheduling for multicores considering effects of shared on-chip last level cache interference. In: Culler, D., Shirazi, B. (eds.) Proceedings of the 3rd International Green Computing Conference (IGCC 2012), San Jose, CA, USA, 04–08 June 2012, pp. 1–6. IEEE Computer Society, Washington (2012)
Rao, J., Wang, K., Zhou, X., et al.: Optimizing virtual machine scheduling in NUMA multicore systems. In: Zhang, L. (ed.) IEEE Proceedings of the 19th International Symposium on High Performance Computer Architecture (HPCA 2013), Shenzhen, China, 23–27 February 2013, pp. 206–317. IEEE Computer Society, Washington (2013)
Barham, P., Dragovic, B., Fraser, K., et al.: Xen and the art of virtualization. In: Scott, M.L., Peterson, L.L. (eds.) Proceedings of the 19th ACM Symposium on Operating Systems Principles (SOSP 2003), Bolton Landing, NY, USA, 19–22 October 2003, pp. 164–177. ACM Press, New York (2003)
Kandemir, M., Prashanth, S., Hari Krishna, S.: Optimizing shared cache behavior of chip multiprocessors. In: Albonesi, D.H., Martonosi, M., August, D.I., et al. (eds.) Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2009), New York, 12–16 December 2009, pp. 505–516. ACM Press, New York (2009)
Woo, S.C., Ohara, M., Torrie, E., et al.: The SPLASH-2 programs: characterization and methodological considerations. In: Patterson, D.A. (ed.) Proceedings of the 22nd Annual International Symposium on Computer Architecture (ISCA 1995), S. Margherita Ligure, Italy, 22–24 June 1995, pp. 24–36. ACM Press, New York (1995)
Bienia, C., Kumar, S., Singh, J.P., et al.: The PARSEC benchmark suite: characterization and architectural implications. In: Moshovos, A., Tarditi, D., Olukotun, K. (eds.) Proceedings of the 17th International Conference on Parallel Architectures and Compilation Techniques (PACT 2008), Toronto, Canada, 25–29 October 2008, pp. 72–81. ACM Press, New York (2008)
Magnusson, P.S., Christensson, M., Eskilson, J., et al.: Simics: a full system simulation platform. J. Comput. 35(2), 50–58 (2002)
Martin, M., Sorin, D., Beckmann, B., et al.: Multifacet’s general execution-driven multiprocessor simulator (gems) toolset. Comput. Architect. News 33(4), 92–99 (2005)
Srikantaiah, S., Kandemir, M., Jane, I.M.: Adaptive set pinning: managing shared caches in chip multiprocessors. In: Eggers, S.J., Larus, J.R. (eds.) Proceedings of the 13th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2008), Seattle, Washington, USA, 1–5 March 2008, pp. 135–144. ACM Press, New York (2008)
Aslot, V., Domeika, M.J., Eigenmann, R., et al.: SPECcomp: a new benchmark suite for measuring parallel computer performance. In: Eigenmann, R., Voss, M. (eds.) Proceedings of the International Workshop on OpenMP Applications and Tools: OpenMP Shared Memory Parallel Programming, pp. 1–10. Springer, London (2001)
Raghavendra, K.T.: Virtual CPU scheduling techniques for kernel based virtual machine (KVM). In: Diamond, S. (ed.) The Second IEEE International Conference on Cloud Computing in Emerging Markets (CCEM 2013), Bangalore, India, 16–18 October 2013, pp. 1–6. IEEE Computer Society Press, Washington (2013)
Zhong, A., Jin, H., Wu, S., et al.: Optimizing Xen hypervisor by using lock-aware scheduling. In: Proceedings of the Second International Conference on Cloud and Green Computing (CGC 2012), Xiangtan, China, 1–3 Novemenber 2012, pp. 31–38. IEEE Computer Society Press, Washington (2012)
Credit Based Scheduler. http://wiki.xensource.com/xenwiki/Creditscheduler
Libvirt. http://libvirt.org/
Menon, A., Santos, J.R., Turner, Y.: Diagnosing performance overheads in the Xen virtual machine environment. In: Hind, M. (ed.) Proceedings of the 1st ACM/USENIX International Conference on Virtual Execution Environments (VEE 2005), Chicago, Illinois, USA, 11–12 June 2005, pp. 13–23. ACM Press, New York (2005)
Chen, S., Ailamaki, A., Gibbons, P.B., et al.: Inspector joins. In: Böhm, K., Jensen, C.S., Haas, L.M., et al. (eds.) Proceedings of the 31st International Conference on Very Large Data Bases (VLDB 2005), Trondheim, Norway, 30 August–2 September 2005, pp. 817–828. ACM Press, New York (2005)
Mergesort. https://en.wikipedia.org/wiki/Merge_sort
Acknowledgements
This work was supported by the National Key Research and Development Program of China under Grant 2016YFB0800403, the Natural Science Foundation of China (61174177), the Open Foundation of Hubei Engineering Research Center of Construction Quality Testing Equipment (2016KTE06), and BRCAST-KFKT2014001.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Zhong, A., Ren, S., Xu, S. (2017). CDLP: A Core Distributing Policy Based on Logic Partitioning. In: Au, M., Castiglione, A., Choo, KK., Palmieri, F., Li, KC. (eds) Green, Pervasive, and Cloud Computing. GPC 2017. Lecture Notes in Computer Science(), vol 10232. Springer, Cham. https://doi.org/10.1007/978-3-319-57186-7_33
Download citation
DOI: https://doi.org/10.1007/978-3-319-57186-7_33
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-57185-0
Online ISBN: 978-3-319-57186-7
eBook Packages: Computer ScienceComputer Science (R0)