Skip to main content

2018 | OriginalPaper | Buchkapitel

MedusaVM: Decentralizing Virtual Memory System for Multithreaded Applications on Many-core

verfasst von : Miao Cai, Shenming Liu, Weiyong Yang, Hao Huang

Erschienen in: Algorithms and Architectures for Parallel Processing

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Virtual memory system multiplexes the single physical memory for multiple running processes with two centralized resources, i.e., virtual memory space and page table hierarchy. However, for multithreaded applications running a single address space, current centralized VM system design encounters severe scalability bottlenecks and significantly impedes the application speedup increment on many-core systems. This paper proposes a novel VM system called MedusaVM to scale VM system to many cores. To this end, MedusaVM partitions the global virtual memory space and page table tree in a memory-efficient way, eliminating performance interference and lock contention between cores. Moreover, MedusaVM also provides a traditional shared memory interface for multithreaded applications.
Our prototype system is implemented based on Linux kernel 4.4.0 and glibc 2.23. Experimental results evaluated on a 32-core machine demonstrate that MedusaVM scales much better than Linux kernel and uses 22\(\times \) less memory compared with the state-of-art approach. For microbenchmarks experiments, MedusaVM achieves nearly linear performance speedup. In multithreaded applications Metis and Psearchy, MedusaVM also significantly outperforms Linux kernel by up to a factor of 2.5\(\times \).

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Literatur
1.
Zurück zum Zitat Baumann, A., et al.: The multikernel: a new OS architecture for scalable multicore systems. In: Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, pp. 29–44. ACM (2009) Baumann, A., et al.: The multikernel: a new OS architecture for scalable multicore systems. In: Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, pp. 29–44. ACM (2009)
2.
Zurück zum Zitat Boyd-Wickizer, S., et al.: An analysis of Linux scalability to many cores. In: OSDI, vol. 10, pp. 86–93 (2010) Boyd-Wickizer, S., et al.: An analysis of Linux scalability to many cores. In: OSDI, vol. 10, pp. 86–93 (2010)
3.
Zurück zum Zitat Boyd-Wickizer, S., Kaashoek, M.F., Morris, R., Zeldovich, N.: Non-scalable locks are dangerous. In: Proceedings of the Linux Symposium, pp. 119–130 (2012) Boyd-Wickizer, S., Kaashoek, M.F., Morris, R., Zeldovich, N.: Non-scalable locks are dangerous. In: Proceedings of the Linux Symposium, pp. 119–130 (2012)
4.
Zurück zum Zitat Brown, T., Ellen, F., Ruppert, E.: A general technique for non-blocking trees. In: ACM SIGPLAN Notices, vol. 49, pp. 329–342. ACM (2014) Brown, T., Ellen, F., Ruppert, E.: A general technique for non-blocking trees. In: ACM SIGPLAN Notices, vol. 49, pp. 329–342. ACM (2014)
5.
Zurück zum Zitat Cai, M., Liu, S., Huang, H.: tScale: a contention-aware multithreaded framework for multicore multiprocessor systems. In: 2017 IEEE 16th International Conference on Parallel and Distributed Systems, pp. 87–104. IEEE (2017) Cai, M., Liu, S., Huang, H.: tScale: a contention-aware multithreaded framework for multicore multiprocessor systems. In: 2017 IEEE 16th International Conference on Parallel and Distributed Systems, pp. 87–104. IEEE (2017)
6.
Zurück zum Zitat Chapin, J., Rosenblum, M., Devine, S., Lahiri, T., Teodosiu, D., Gupta, A.: Hive: fault containment for shared-memory multiprocessors. In: ACM SIGOPS Operating Systems Review, vol. 29, pp. 12–25. ACM (1995) Chapin, J., Rosenblum, M., Devine, S., Lahiri, T., Teodosiu, D., Gupta, A.: Hive: fault containment for shared-memory multiprocessors. In: ACM SIGOPS Operating Systems Review, vol. 29, pp. 12–25. ACM (1995)
7.
Zurück zum Zitat Clements, A.T., Kaashoek, M.F., Zeldovich, N.: Scalable address spaces using RCU balanced trees. ACM SIGPLAN Not. 47(4), 199–210 (2012)CrossRef Clements, A.T., Kaashoek, M.F., Zeldovich, N.: Scalable address spaces using RCU balanced trees. ACM SIGPLAN Not. 47(4), 199–210 (2012)CrossRef
8.
Zurück zum Zitat Clements, A.T., Kaashoek, M.F., Zeldovich, N.: RadixVM: scalable address spaces for multithreaded applications. In: Proceedings of the 8th ACM European Conference on Computer Systems, pp. 211–224. ACM (2013) Clements, A.T., Kaashoek, M.F., Zeldovich, N.: RadixVM: scalable address spaces for multithreaded applications. In: Proceedings of the 8th ACM European Conference on Computer Systems, pp. 211–224. ACM (2013)
9.
Zurück zum Zitat Clements, A.T., Kaashoek, M.F., Zeldovich, N., Morris, R.T., Kohler, E.: The scalable commutativity rule: designing scalable software for multicore processors. ACM Trans. Comput. Syst. (TOCS) 32(4), 10 (2015)CrossRef Clements, A.T., Kaashoek, M.F., Zeldovich, N., Morris, R.T., Kohler, E.: The scalable commutativity rule: designing scalable software for multicore processors. ACM Trans. Comput. Syst. (TOCS) 32(4), 10 (2015)CrossRef
10.
Zurück zum Zitat Drachsler, D., Vechev, M., Yahav, E.: Practical concurrent binary search trees via logical ordering. ACM SIGPLAN Not. 49(8), 343–356 (2014)CrossRef Drachsler, D., Vechev, M., Yahav, E.: Practical concurrent binary search trees via logical ordering. ACM SIGPLAN Not. 49(8), 343–356 (2014)CrossRef
11.
Zurück zum Zitat Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann, Burlington (2011) Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann, Burlington (2011)
12.
Zurück zum Zitat Liu, R., Zhang, H., Chen, H.: Scalable read-mostly synchronization using passive reader-writer locks. In: USENIX Annual Technical Conference, pp. 219–230 (2014) Liu, R., Zhang, H., Chen, H.: Scalable read-mostly synchronization using passive reader-writer locks. In: USENIX Annual Technical Conference, pp. 219–230 (2014)
13.
Zurück zum Zitat Michael, M.M.: Hazard pointers: safe memory reclamation for lock-free objects. IEEE Trans. Parallel Distrib. Syst. 15(6), 491–504 (2004)CrossRef Michael, M.M.: Hazard pointers: safe memory reclamation for lock-free objects. IEEE Trans. Parallel Distrib. Syst. 15(6), 491–504 (2004)CrossRef
14.
Zurück zum Zitat Nightingale, E.B., Hodson, O., McIlroy, R., Hawblitzel, C., Hunt, G.: Helios: heterogeneous multiprocessing with satellite kernels. In: Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, pp. 221–234. ACM (2009) Nightingale, E.B., Hodson, O., McIlroy, R., Hawblitzel, C., Hunt, G.: Helios: heterogeneous multiprocessing with satellite kernels. In: Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, pp. 221–234. ACM (2009)
15.
Zurück zum Zitat Schneider, S., Antonopoulos, C.D., Nikolopoulos, D.S.: Scalable locality-conscious multithreaded memory allocation. In: Proceedings of the 5th International Symposium on Memory Management, pp. 84–94. ACM (2006) Schneider, S., Antonopoulos, C.D., Nikolopoulos, D.S.: Scalable locality-conscious multithreaded memory allocation. In: Proceedings of the 5th International Symposium on Memory Management, pp. 84–94. ACM (2006)
16.
Zurück zum Zitat Siakavaras, D., Nikas, K., Goumas, G., Koziris, N.: Combining HTM and RCU to implement highly efficient balanced binary search trees (2017) Siakavaras, D., Nikas, K., Goumas, G., Koziris, N.: Combining HTM and RCU to implement highly efficient balanced binary search trees (2017)
17.
Zurück zum Zitat Song, X., Chen, H., Chen, R., Wang, Y., Zang, B.: A case for scaling applications to many-core with OS clustering. In: Proceedings of the Sixth Conference on Computer Systems, pp. 61–76. ACM (2011) Song, X., Chen, H., Chen, R., Wang, Y., Zang, B.: A case for scaling applications to many-core with OS clustering. In: Proceedings of the Sixth Conference on Computer Systems, pp. 61–76. ACM (2011)
18.
Zurück zum Zitat Wang, Q., Stamler, T., Parmer, G.: Parallel sections: scaling system-level data-structures. In: Proceedings of the Eleventh European Conference on Computer Systems, p. 33. ACM (2016) Wang, Q., Stamler, T., Parmer, G.: Parallel sections: scaling system-level data-structures. In: Proceedings of the Eleventh European Conference on Computer Systems, p. 33. ACM (2016)
Metadaten
Titel
MedusaVM: Decentralizing Virtual Memory System for Multithreaded Applications on Many-core
verfasst von
Miao Cai
Shenming Liu
Weiyong Yang
Hao Huang
Copyright-Jahr
2018
DOI
https://doi.org/10.1007/978-3-030-05051-1_19