«Эффективность» нитей в многопроцессорных системах с общей памятью
Бесплатный доступ
Традиционно предполагается, что вычисление, разбитое на несколько нитей определённым образом, выполняется в системах с общей памятью (SMP или NUMA) быстрее, чем это же вычисление, но разбитое на несколько процессов. В представляемой работе высказана гипотеза о том, что такое предположение может быть неверным для вычислений с большими объёмами данных, главным образом по двум причинам. Во-первых, поддержка единого адресного пространства для нитей может быть существенно более накладной, чем суммарные затраты на переключение контекста выполнения между процессами. Во-вторых, даже если вычисление не требует интенсивного управления памятью, естественное ограничение на объём хранимого в TLB описания рабочего множества страниц, и в случае нитей приводит к необходимости частого обновления этого кэша трансляций. В статье описаны эксперименты и их результаты, которые подтверждают адекватность этой гипотезы.
Общая память, производительность, нити, процессы
Короткий адрес: https://sciup.org/147159160
IDR: 147159160
Список литературы «Эффективность» нитей в многопроцессорных системах с общей памятью
- AMD64 Architecture Programmer’s Manual Volume 2: System Programming -Advanced Micro Devices, 2011.
- Appleton, R. Understanding a Context Switching Benchmark//Linux J. -1999. -№ 57. -P. 1-6.
- Sigoure, B. How long does it take to make context switch? -2010. -URL: http://blog.tsunanet.net/2010/11/how-long-does-it-take-to-make-context.html (дата обращения: 16.10 2012).
- SunOS Multi-thread Architecture/M.L. Powell, S.R. Kleiman, S. Barton, D. Shah, D. Stein, M. Weeks//Proceedings of the Winter USENIX Conference. -Dallas, TX, 1991. -P. 65-80.
- The SPARC Architecture Manual. Version 8. -Menlo Park, CA: SPARC International Inc, 1991.
- Performance of Address-Space Multiplexing on the Pentium/V. Uhlig, U. Dannowski, E. Skoguld, A. Haeberlen, G. Heiser. -2002.
- Jacob, B. Virtual Memory in Contemporary Microprocessors/B. Jacob, T. Mudge//IEEE Micro. -1998. -V. 18, № 4. -P. 60-75.
- Таненбаум, Э. Современные Операционные системы. -3-е изд./Э. Таненбаум. -СПб: Питер, 2010.
- An Overview of the Singularity Project/G. Hunt, J. R. Larus, M. Abadi, M. Aiken, P. Barham, M. Fahndrich, C. Hawblitzel, O. Hodson, S. Levi, N. Murphy, B. Steensgaard, D. Tarditi, T. Wobber, and Brian D. Zill. -Microsoft Research, 2005.
- Исходные тексты Linux 3.3.4. Функция switch_mm. -URL: http://lxr.linux.no/#linux+v3.3.4/arch/x86/include/asm/mmu_context.h#L33 (дата обращения: 16.10.2012).
- Бахтерев, М.О. Набор тестов Thread proc benchmark. -URL: https://github.com/coda/thread-proc (дата обращения: 16.10.2012).
- Snyder, P. tmpfs: A Virtual Memory File System//Proceedings of the European USENIX Conference. -France, Nice, 1990. -P. 241-248.
- A 40nm 16-Core 128-Thread CMT SPARC SoC Processor/J. Shin, K. Tam, D. Huang, B. Petrick, H. Pham, C. Hwang, H. Li, A. Smith, T. Johnson, F. Schumacher, D. Greenhill, A. Leon, A. Strong//ISSCC Digest. -2010. -№ 56. -P. 98-99.
- Your computer is already a distributed system. Why isn’t your OS?/A. Baumann, S. Peter, A. Schüpbach, A. Singhania, T. Roscoe, P. Barham, R. Isaacs//Proceedings of the 12th HotOS Workshop. -Monte Verita, 2009. -P. 19.
- Методика распределенных вычислений RiDE/М.О. Бахтерев, П.А. Васёв, А.Ю. Казанцев, И.А. Альбрехт,//Параллельные вычислительные технологии (ПаВТ’2011): тр. междунар. науч. конф. -М., 2011. -С. 418-426.