
Сообщение от
MUTbKA
Там несколько другая N-ядерность. Ядра неравноценные - есть одно нормальное и 8 по сути сопроцессоров-числогрызов, с весьма ограниченными возможностями в плане эффективности не-вычислититльных операций, доступа к общей памяти и т.п. Чтобы грамотно загрузить по-максимуму такую пеструю конструкцию - действительно есть о чем крепко подумать, и, более того, это надо делать каждый раз, когда происходят существенные изменения в структуре программы.
А с симметричной многопроцессорной системой работать куда проще - надо тупо поделить все на отдельные и по возможности как можно более независимые нитки (чем больше - тем лучше, но в разумных пределах, разумеется), а ОС сама весьма оптимально все поделит на все наличные ядра, будь их 2 или 16, и будет это делать динамически, сообразуясь с текущими требованиями каждой нитки. Главное - чтобы ниток было раза в 2 больше, чем ядер - только тогда задача оптимального выполнения на куче ядер эффективно решается автоматически системой.