Как использовать многопроцессорность?
Уважаемые господа, меня мучает такой вопрос. Есть ли возможность вручную использовать все прелести многопроцессорности в своих приложениях или это все на откупе у ОС? Т.е., например, "сказать" это выполняется на этом процессоре, это на этом.
могу сказать, штука интересная. когда мы читаем в комп. новостях об очередном прорыве в области суперкомпьютеров надо думать, что им нужен супер-софт и софт тдля таких систем пишется именно с использованием MPI. естественно подходит и для современных настольных систем.
"Супер-софт", использующий многопоточность (в числе прочего) - Oracle. Он автоматом масштабируется под текущее число процессоров (в рамках лицензионных ограничений). Потому что изначально был спроектирован математиками, и только потом отдан на откуп педерастам-маркетологам.
Цитата: Sagittarius
Есть ли возможность вручную использовать все прелести многопроцессорности в своих приложениях или это все на откупе у ОС? Т.е., например, "сказать" это выполняется на этом процессоре, это на этом.
Дык это зависит от системы. На сколько мне известно в Линуксе такого нет. Через системные вызовы создаются процессы, а на каком процессоре какой процесс будет выполняться - решает ядро...
Что касается MPI - это скорее протокол обмена данными по сети между компьютерами, а не между процессорами... Тут речь идет скорее об OpenMP
SetProcessAffinityMask
SetThreadIdealProcessor
Цитата: Green
Win32 API:
SetProcessAffinityMask
SetThreadIdealProcessor
SetProcessAffinityMask
SetThreadIdealProcessor
А в линухе можно?
Но кажеться надо копать в сторону
pthread_attr_setschedpolicy
pthread_attr_setschedparam
Спасибо.