Как преобразовать многоядерный процессор в одноядерную систему

Прежде чем задать этот вопрос, я погуглил в сети как «преобразовать многоядерный процессор в одноядерный». В моем приложении я хочу выделить только одно ядро. Поскольку процесс использует больше процессоров, поэтому я хочу выделить одно ядро ​​​​с несколькими ядрами, чтобы увеличить вычислительную мощность.

Возможно ли, что несколько ядер будут рассматриваться как одноядерные. Есть ли какой-нибудь трюк или программное обеспечение, которое поможет мне.

Заранее спасибо.


person Kamahire    schedule 12.03.2013    source источник
comment
Похоже, вы хотите установить привязку к процессору? Или вы имеете в виду всю систему?   -  person Rowland Shaw    schedule 12.03.2013
comment
@Rowland, я имею в виду всю систему.   -  person Kamahire    schedule 12.03.2013


Ответы (4)


Во-первых, использование многоядерности связано с многопоточностью. В случае, если вы можете переписать приложение, вы можете попробовать сократить потоки до одного. Если вы можете использовать какую-либо виртуальную среду для запуска этого приложения, вы можете выбрать количество ядер, которое хотите использовать. Обсуждение этой темы можно найти на странице назначить одноядерную программу .

person Mihai8    schedule 12.03.2013

По умолчанию ваша программа будет использовать одно ядро, обычно люди разрабатывают алгоритмическое программное обеспечение, так как один поток, очень вероятно, что ваш процессор имеет многоядерные возможности, поэтому вы можете улучшить свою программу, чтобы она работала одновременно-параллельно, в зависимости от в языке программирования, который вы используете, у вас могут быть некоторые альтернативы для этого. Имейте в виду, что программирование требует практики, и не все программы могут извлечь из этого большую пользу. Я надеюсь, это поможет вам. Ваше здоровье.

person Germán Alfaro    schedule 19.05.2014

Запустите свою программу на виртуальной машине только с одним ядром.

например Виртуалбокс, ВМваре

person Anderson    schedule 19.05.2014

Вы можете использовать команду linux 'taskset' для привязки вашего процесса только к определенному ядру (то есть ваш процесс и все дочерние процессы будут использовать только ресурсы этого ядра).

Например, чтобы запустить 'ls' только на ядре 0, используйте следующую команду

taskset -c 0 /bin/ls

используйте 'taskset -h', чтобы узнать больше о том, как использовать команду, но это довольно просто!

person waleed    schedule 14.01.2016