Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Несколько ядер

9.3K
04 декабря 2007 года
iridum
175 / / 26.08.2007
Посдкажите есть ли какие-либо библиотеки - менеджеры ядер чтобы можно было распределять нагрузку потоков между ядрами а не доверятся операционке? Естественно интересует именно с++ интерфейс.
505
04 декабря 2007 года
vAC
343 / / 28.02.2006
Не встречал. Всетаки это задача ядра ОС. Под windows можно использовать SetProcessAffinityMask/SetThreadAffinityMask.
590
05 декабря 2007 года
Gigahard
223 / / 03.04.2006
Ну то, что это задача ОС, это понятно, однако частенько говорят о программах, "оптимизированных" под многопроцессорность. Реальную и виртуальную. Взять хотя бы интеловский hyper threading. Собственно в чем заключается программная оптимизация?
505
05 декабря 2007 года
vAC
343 / / 28.02.2006
Цитата: Gigahard
Ну то, что это задача ОС, это понятно, однако частенько говорят о программах, "оптимизированных" под многопроцессорность. Реальную и виртуальную. Взять хотя бы интеловский hyper threading. Собственно в чем заключается программная оптимизация?



Ну оптимизация под многопроцессорность в основном достигается распараллеливанием алгоритма на несколько потоков, а ОС уже сама заботиться о распределении ресурсов. Про оптимизацию программы под hyper threading можно найти скажем здесь:
http://www.microsoft.com/Rus/Msdn/Magazine/2005/06/HyperThreading.mspx

350
07 декабря 2007 года
cheburator
589 / / 01.06.2006
Цитата: iridum
Посдкажите есть ли какие-либо библиотеки - менеджеры ядер чтобы можно было распределять нагрузку потоков между ядрами а не доверятся операционке? Естественно интересует именно с++ интерфейс.


Возможно, это оффтоп, но...
Не стоит этим заниматься. Ось распределяет по процессорам/ядрам не потоки, а кванты времени, так что каждый поток не работает на конкретном процессоре/ядре, разные кванты времени он может отработать на разных процах.
Лучше подумай об удачной синхронизации потоков.

505
08 декабря 2007 года
vAC
343 / / 28.02.2006
Цитата: cheburator
Возможно, это оффтоп, но...
Не стоит этим заниматься. Ось распределяет по процессорам/ядрам не потоки, а кванты времени, так что каждый поток не работает на конкретном процессоре/ядре, разные кванты времени он может отработать на разных процах.
Лучше подумай об удачной синхронизации потоков.



Да, но я упоминал о функциях, позволяющих ограничить набор процессоров/ядер на которых будет выполняться процесс/поток.

350
08 декабря 2007 года
cheburator
589 / / 01.06.2006
Цитата: vAC
Да, но я упоминал о функциях, позволяющих ограничить набор процессоров/ядер на которых будет выполняться процесс/поток.


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

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог