LINUX.ORG.RU

Вопрос про параллелизацию


0

1

Есть сферический четырехядерный процессор.

Есть сферическое ПО работающее в 2 одинаковых потока, использующих циклы и ветвления, float и int.

Будут-ли потоки использовать использовать только 2 ядра или будут «скакать» между ядрами?

Является-ли программная привязка программы к определенным ядрам привязкой именно к одним и тем же физическим ядрам?


Ответ на: комментарий от tailgunner

Является-ли программная привязка программы к определенным ядрам привязкой именно к одним и тем же физическим ядрам?

да

Как?

ymuv ★★★★
()

Будут-ли потоки использовать использовать только 2 ядра или будут «скакать» между ядрами?

будет нагружать 2 ядра, какие именно - зависит от планировщика в ядре ОС. Виденные мной дефолтные планировщики пытаются размазать нагрузку по ядрам, поэтому будет скакать по разным ядрам.

nu11 ★★★★★
()
Ответ на: комментарий от nu11

то что матчасть нужно ботать

если бы ты хотя бы написал 'man sched_setaffinity', то ты бы увидел

DESCRIPTION A process's CPU affinity mask determines the set of CPUs on which it is eligible to run. On a multiprocessor system, setting the CPU affinity mask can be used to obtain performance benefits. For example, by dedicating one CPU to a particular process (i.e., setting the affinity mask of that process to specify a single CPU, and setting the affinity mask of all other processes to exclude that CPU), it is possible to ensure maximum execution speed for that process. Restricting a process to run on a single CPU also avoids the performance cost caused by the cache invalidation that occurs when a process ceases to execute on one CPU and then recommences execution on a different CPU.

и не тратил бы силы на написание того вопроса

metawishmaster ★★★★★
()
Ответ на: комментарий от metawishmaster

что из сказанного мной противоречит ману? Я так и не понял, что ты хотел передать отсылкой к этой функции. Или ты обращался к топикстартеру?

nu11 ★★★★★
()
Ответ на: комментарий от nu11

ТС > «Является-ли программная привязка программы к определенным ядрам привязкой именно к одним и тем же физическим ядрам?»
nu11> «будет скакать по разным ядрам»

man sched_setaffinity => не будет

metawishmaster ★★★★★
()
Ответ на: комментарий от metawishmaster

товарищ, пройдите к окулисту. Я отвечал на первый вопрос ТС, твой же ман относится ко второму.

nu11 ★★★★★
()

только 2 ядра. скакать не должен - под дефолту планировщик ядра старается держать процесс на одинх и тех же ядрах чтобы уменьшить издержки переключения контекста

VladimirMalyk ★★★★★
()
Ответ на: комментарий от nu11

но ответ же был неверным, ведь так? вгоняешь человека на неверную дорожку, тем более, что до твоего поста tailgunner ответил, ответил правильно, а ты противоречишь, зачем :)

вобщем, я сейчас занят - лучше посуду помыть, чем что-то кому-то доказыватьЮ чао :)

metawishmaster ★★★★★
()
Ответ на: комментарий от metawishmaster

врядли задача прыгала на новое ядро каждый новый квант времени, а то что переходила - значит был повод

VladimirMalyk ★★★★★
()
Ответ на: комментарий от metawishmaster

но ответ же был неверным, ведь так?

ответ был верным. Речь шла про дефолтное поведение, без применения sched_setaffinity

nu11 ★★★★★
()
Ответ на: комментарий от nu11

еще раз читаем пост ТС, в самом конце: «Является-ли программная привязка программы к определенным ядрам привязкой именно к одним и тем же физическим ядрам?» :)))

ну хорош уже :)

metawishmaster ★★★★★
()

будут «скакать» между ядрами
ты же не дяро пишешь. ЕМНИП ещё сам процессор решает

darkshvein ☆☆
()
Ответ на: комментарий от metawishmaster

еще раз читаем пост ТС, в самом конце

прочитай таки целиком, там два разных вопроса. И не отрывай мой первоначальный пост от контекста.

nu11 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.