Цитата:
Сообщение от
SHiSHok
Я думаю что эти рекомендации (именно рекомендации основанные на тестах, а не ограничения) были даны в те времена когда 2 процессора были двумя кристаллами, и, как сказано, это лучшее сочетание железо-производительность-инвестиции
Мне кажется, дело все же в том, что при большем числе доступных процессоров (т.е. большем, чем 2, количестве одновременно выполняющихся потоков того же процесса AOS) возрастают требования к распараллеливаемости выполняемого кода, и в случае с AOS 3-ей версии упирается все в библиотеку управления динамической памятью, а именно в SmartHeap 6.01. Некоторые изыскания на эту тему
можно найти тут. Вкратце, SmartHeap бывает "обычная" для многопоточных приложений (но расчитанная на одно процессорное ядро) и для симметричных многопроцессорных систем - SmartHeap/SMP. Второй вариант библиотеки отличается тем, что одновременно выполняющиеся на разных процессорах (ядрах) потоки не блокируют друг друга на операциях с динамически выделяемой памятью. За счет этого производительность использующего SmartHeap/SMP многопоточного приложения, интенсивно работающего с динамически выделяемой памятью, гораздо лучше масштабируется с увеличением числа процессоров/ядер. В случае же "обычной" SmartHeap масштабируемость резко сходит на нет ориентировочно начиня с двух ядер.
Цитата:
Сообщение от
glibs
По-моему, заявление о том, что АОС не сумеет загрузить больше двух процессоров, не доказано.
Конечно, могут быть разные варианты: значительную долю процессорного времени может использовать код, занимающийся интенсивными вычислениями и работающий с небольшим набором объектов, память под которые не нужно постоянно выделять/освобождать; в этом случае несколько сессий на AOS'е, выполняющих такой код, смогут успешно грузить многоядерные Xeon'ы. Но мне кажется, применительно к Аксапте это не самый типичный сценарий...