Я делаю некоторые тесты бенчмаркинга и хотел бы отключить гиперпоточность в EC2, чтобы увидеть, как это влияет на производительность тестового приложения.Лучший способ отключить гиперпоточность в AWS EC2?
Один экземпляр моего приложения использует только 1 поток во время выполнения.
Я понимаю, что я не могу получить доступ к BIOS компьютеров EC2, чтобы отключить гиперпоточность, поскольку все они виртуализированы. Но я использовал команду chcpu
, чтобы отключить половину доступных vCPU (потоков), чтобы я мог имитировать отключенную среду с гиперпотоками.
Для этого теста, я использую C4.xlarge с 4vCPUs номером логически от 0 до 3.
я запустить эту команду sudo chcpu -d 1,3
который отключает 1 и виртуальных процессоров 3.
При этом, я полагаю, что vCPU 0 и 1 поступают из одного основного основного металлического сердечника, а vCPUs 2 и 3 - из другого ядра.
Здесь я знаю, что мои предположения ошибочны, поскольку vCPU 0 и 4 могут поступать из одного и того же оголенного металлического сердечника, или все они могут поступать из разных голых металлических сердечников.
Есть ли у кого-нибудь лучший способ отключить гиперпоточность в экземплярах EC2?
Также Amazon перестраивает vCPU так, чтобы они происходили из разных ядер, когда он обнаружил, что половина отключенных vCPU отключена?
Таким образом, это означает, что каждый VCPU в моем случае является гипер правой резьбой? А также отключив 1 из каждых 2 гиперпотоков (vCPU), я отключу гиперпоточность для этого конкретного ядра. –
Мое предположение заключается в том, что если вы используете экземпляр EC2 с 4 vCPU, и вам удастся каким-то образом отключить гиперпоточность, вы можете получить только 2 vCPU. Я не мог найти упоминания о том, какие карты vCPU относятся к ядру. –
Это точно моя проблема. Я не знаю, какие карты vCPU относятся к ядру и, следовательно, не знают, какие vCPU отключить, чтобы имитировать отключенную среду времени выполнения гиперпотоков. Есть ли способ найти отображение? –