Как я могу определить реальные и виртуальные ядра, если мне нужно интенсивное исчисление?

0

Предположим, что у меня есть компьютер под названием A с процессором, который имеет два ядра и имеет гиперпоточность, то есть он имеет 2 ядра с 4 потоками (я понимаю, что он может одновременно обслуживать 4 процесса), также предположим, что у меня есть другой компьютер с именем B, имеющий 2 ядра, но нет гиперпоточности (как я понимаю, они могут одновременно обеспечивать 2 процесса) теперь предположим, что A и B имеют одинаковую тактовую частоту 3,4 ГГц, предположим, я написал алгоритм, который вычисляет среднее значение, но я разработал алгоритм так, чтобы использовать ТОЛЬКО два процесса, с учетом этого, какая работа компьютера завершается первой? (предположим, что входные данные одинаковы, и единственная разница между A и B - это гиперпоточность).

guest
источник
Это домашнее задание? (Не то чтобы это плохо, просто то, как оно сформулировано, напоминает мне о том, что я учусь в школе)
Sirex
Это зависит. Но, скорее всего, они закончат одновременно.
Matt H
1
Это не моя домашняя работа, я старался быть по-настоящему конкретным и ставил вопрос понятным образом
guest

Ответы:

0

Пока Windows избегает двух «фальшивых» ядер на многопоточном компьютере, разницы не будет.

Если Windows решит запустить оба потока на процессорах cpu0 и cpu1 (поддельные), то это будет значительным ударом по производительности.

У меня проблемы с поиском ссылок в Интернете, но я думаю, что операционная система Windows достаточно умна.

Алгоритм будет быстрее на машине с многопоточностью, если вы выполните его с 4 потоками

Michael
источник
IMXP, Windows бросает темы вокруг ALOT. Скорее всего, на HT-машине ядра HT будут поражены в течение небольшого промежутка времени, несмотря на то, что Windows умны и осведомлены о реальных и поддельных ядрах, что может добавить незначительный удар по производительности. Например, запустите задание max zip, и вы увидите, что taskmgr использует все процессоры довольно равномерно, ни одно ядро ​​никогда не достигнет 100. Это указывает на переключение контекста с очень высокой скоростью .... Linux ведет себя намного лучше и придерживается процесс до одного ядра в течение гораздо более длительных периодов времени.
Michael