Исследователи из Массачусетского Технологического института пришли к выводу, что существующие операционные системы испытывают проблемы с эффективностью работы на системах с большим числом процессорных ядер. В качестве граничного значения для SMP-режима в Linux указаны 48-ядерные системы, которые по оценке авторов исследования получат распространение в ближайшие 5-8 лет. Для таких систем придется внести в ОС значительные изменения, связанные с переходом на принципиально иную архитектуру. При превышении границы в 48 процессорных ядер суммарная производительность Linux будет падать, а не возрастать. Проблема вызвана тем, что несколько ядер часто выполняют лишнюю работу и обрабатывают одни и те же данные, которые нужно держать в памяти чипа во время обработки. Пока память используется, она не доступна для других задач, что приводит к падению производительности из-за "эффекта бутылочного горлышка": c ростом числа ядер задачи, оперирующие с одним набором данных, разбиваются на все более мелкие кусочки. В качестве временного решения проблемы, предлагается немного изменить поведение Linux-ядра, использовав вместо одного lock-счетчика, который постоянно дергает выполняемый на разных CPU-ядрах код, несколько синхронизируемых между собой локальных счетчиков, закрепленных за каждым из процессорных ядер. 02.10.2010 http://www.opennet.ru/opennews/art.shtml?num=28145
Честно говоря, я не очень в теме, но мне почему то кажется. что nvidia и ati эту задачу как то решили, если у них на карте тысячи потоковых процессоров, которые прекрасно работают параллельно с одной и той же памятью.
Часто бесполезно.. многие процессы/расчёты бесполезно раскладывать, скажем на 48.. от этого ничего не ускориться.. т.е. пока 1 будет выполняться, остальные будут бездействовать.. да ещё и потреблять какие-то ресурсы.. P.S. А вообще.. всё таки увеличение числа ядер должно создаваться под конкретные какие-то задачи.. И даже не только в рамках никс.. мне почему-то кажется что подобная проблема/задача будет, точнее с ней столкнутся, на любой ос..
не везде и не всегда, пусть это и не линукс, но вот например на солярисе ядро стремится загружать ядра одинаково т.е. ситуаций а-ля 20%/70% на 2-х ядерном процессоре не бывает, а скорее 43%/47%
Я и не утверждала что в 100% случаев.. впрочем тема исчерпала уже себя как обсуждение, по ссылке на источнике всё что надо уже обсудили и выяснили.. жаль что у нас народ этим не интересуется..