Я немного смущен количеством ядер на моем Mac. Я не совсем понимаю разницу между процессорами, ядрами и потоками. Если я проверю «Об этом Mac», я вижу 1 процессор, 2 ядра. Но я работаю в Node.js, и если я проверю os.cpus().length
, он вернется 4. Почему эти числа разные? Это просто потому, что у каждого ядра есть 2 потока?Сколько ядер на этой машине?
ответ
Нити - это элементы программного обеспечения, а не аппаратные. Здесь они не актуальны. Ваш Mac имеет два ядра и поддерживает гиперпоточность. Последнее показывает, что у вас в два раза больше ядер, чем у вас на самом деле.
Итак, чтобы уточнить - 1 процессор (intel i5), 2 ядра в этом процессоре, каждая с гиперпотоком, что позволяет процессору эффективно функционировать с 4 ядрами? Итак, «гиперпоточность» - это спецификация оборудования, а «threading» - это абстракция программного обеспечения? – cweber105
Это очень правильно. «Hyper-threading» - это название торговой марки Intel, позволяющее одновременно выполнять несколько инструкций на одном ядре. Это немного смутно названо, поскольку он является аспектом аппаратного обеспечения, а сами потоки являются аспектом программного обеспечения. Ядра могут почти всегда выполнять потоки параллельно. Гиперпоточность более или менее эффективна в зависимости от различных аппаратных и программных факторов, поэтому вы не обязательно получаете повышение производительности 2x на практике. https://en.wikipedia.org/wiki/Hyper-threading – Brick
У вас есть процессор с двумя физическими ядрами, каждый из которых поддерживает Hyper-threading (бренд Intel, это означает, что они могут одновременно запускать 2 потока), поэтому у вас есть «четыре логических ядра».
- 1. Сколько ядер занимает процесс?
- 2. Сколько ядер в Azure?
- 3. Использование всех ядер на одной машине Hadoop
- 4. SLURM: посмотрите, сколько ядер на узел и сколько ядер на задание
- 5. Сколько ядер у меня есть?
- 6. Сколько ядер процессора имеет dynk?
- 7. Сколько ядер/потоков использует cublas_sgemm?
- 8. определить, сколько ядер у клиента использует C#
- 9. Сколько ядер gpu используется моей программой?
- 10. Как получить количество ядер на машине с OCaml?
- 11. Сколько «ядер CUDA» выполняет каждый многопроцессор GPU?
- 12. Сколько процессоров, ядер действительно в мультикокках?
- 13. WAPPSCmdlets не установлен на этой машине
- 14. Сколько бутылок пива на этой стене?
- 15. Сколько пулов потоков может существовать на одной машине?
- 16. Сколько регистров в пользовательской виртуальной машине?
- 17. Hadoop Job - Использование всех ядер в моей машине
- 18. Использование параллельного драгоценного камня в Ruby; сколько ядер использовать?
- 19. Сколько потоков/процессов можно запустить на моей 64-битной машине
- 20. Resque: Как рассчитать, сколько работников я могу развернуть на машине?
- 21. SeleniumGrid: Сколько экземпляров я должен работать на одной машине
- 22. Сколько процессорных ядер может использовать один Java-процесс?
- 23. Spark - Сколько исполнителей и ядер выделено для моей искровой работы
- 24. Ошибка туннеля appfog mysql - Шифрование на этой event-машине отсутствует.
- 25. CPU: KVM не установлен на этой машине (/ DEV/квм отсутствует)
- 26. Как оптимизировать количество потоков на число ядер
- 27. Сколько сигналов смерти необходимо выполнить этой программе
- 28. Сколько ядер в устройствах Android? и сколько потоков я могу использовать для лучшей производительности?
- 29. Сколько слоев в этой нейронной сети?
- 30. Сколько параметров в этой функции printf()?
hyperthreading. у вас может быть одно физическое ядро, но из-за маркетинговых гуру Intel это одно ядро ПРИНИМАЕТСЯ как два для ОС –
processor = физический чип. core = дискретный блок выполнения внутри этого чипа. большинство чипов i-серии Intel являются либо двух-, либо четырехъядерными. то есть гиперпоточность, которая заставляет ядро проявляться в виде двух отдельных ядер, поэтому гиперпотоковый процессор эффективно выступает в два раза больше, поэтому ваш средний ядро i7 cpu покажет 8 ядер, хотя есть только 4 реальных физических, внутри одного пакета чипов , –