>>>Имейте систему из многих малозависимых друг от друга процессов и проблемы блокировок
>>>и конфликтов исчезнут.
>>блин...
>>так а при чем тут ЯДРО??
>>Судя по вашим словам его проблемы решаються правильным выбором юзер-левел процессов %))))
>
>Эх, ма. О ядерных процессах речь. Ладно, разжовываю: "сделайте ядро ОС не
>одним большим куском, а состоящее из небольших, но функционально законченных процессов,
>способных безопасно параллельно выполнятся на процессорах в системах SMP и проблемы
>блокировок и конфликтов будут более редкими".
ВНИМАТЕЛЬНО следи за выводом 'ps'а (отгрепаны лишь ядерные нити) на 4-ядерном Линухе.root 2 0.0 0.0 0 0 ? S May15 0:15 [migration/0]
root 3 0.0 0.0 0 0 ? SN May15 0:08 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S May15 0:04 [migration/1]
root 5 0.0 0.0 0 0 ? SN May15 0:04 [ksoftirqd/1]
root 6 0.0 0.0 0 0 ? S May15 1:34 [migration/2]
root 7 0.0 0.0 0 0 ? SN May15 0:14 [ksoftirqd/2]
root 8 0.0 0.0 0 0 ? S May15 0:23 [migration/3]
root 9 0.0 0.0 0 0 ? SN May15 0:10 [ksoftirqd/3]
root 10 0.0 0.0 0 0 ? S< May15 0:00 [events/0]
root 11 0.0 0.0 0 0 ? S< May15 0:00 [events/1]
root 12 0.0 0.0 0 0 ? S< May15 0:00 [events/2]
root 13 0.0 0.0 0 0 ? S< May15 0:00 [events/3]
root 218 0.0 0.0 0 0 ? S< May15 0:01 \_ [kblockd/0]
root 219 0.0 0.0 0 0 ? S< May15 0:03 \_ [kblockd/1]
root 220 0.0 0.0 0 0 ? S< May15 0:03 \_ [kblockd/2]
root 221 0.0 0.0 0 0 ? S< May15 0:00 \_ [kblockd/3]
root 339 0.0 0.0 0 0 ? S< May15 0:00 \_ [ata/0]
root 340 0.0 0.0 0 0 ? S< May15 0:00 \_ [ata/1]
root 341 0.0 0.0 0 0 ? S< May15 0:00 \_ [ata/2]
root 342 0.0 0.0 0 0 ? S< May15 0:00 \_ [ata/3]
root 384 0.0 0.0 0 0 ? S< May15 0:00 \_ [aio/0]
root 385 0.0 0.0 0 0 ? S< May15 0:00 \_ [aio/1]
root 386 0.0 0.0 0 0 ? S< May15 0:00 \_ [aio/2]
root 387 0.0 0.0 0 0 ? S< May15 0:00 \_ [aio/3]
root 394 0.0 0.0 0 0 ? S< May15 0:00 \_ [xfslogd/0]
root 395 0.0 0.0 0 0 ? S< May15 0:00 \_ [xfslogd/1]
root 396 0.0 0.0 0 0 ? S< May15 0:00 \_ [xfslogd/2]
root 397 0.0 0.0 0 0 ? S< May15 0:00 \_ [xfslogd/3]
root 398 0.0 0.0 0 0 ? S< May15 0:00 \_ [xfsdatad/0]
root 399 0.0 0.0 0 0 ? S< May15 0:00 \_ [xfsdatad/1]
root 400 0.0 0.0 0 0 ? S< May15 0:00 \_ [xfsdatad/2]
root 401 0.0 0.0 0 0 ? S< May15 0:00 \_ [xfsdatad/3]
root 1200 0.0 0.0 0 0 ? S< May15 0:00 \_ [exec-osm/0]
root 1201 0.0 0.0 0 0 ? S< May15 0:00 \_ [exec-osm/1]
root 1202 0.0 0.0 0 0 ? S< May15 0:00 \_ [exec-osm/2]
root 1203 0.0 0.0 0 0 ? S< May15 0:00 \_ [exec-osm/3]
root 1209 0.0 0.0 0 0 ? S< May15 0:00 \_ [block-osm/0]
root 1210 0.0 0.0 0 0 ? S< May15 0:00 \_ [block-osm/1]
root 1211 0.0 0.0 0 0 ? S< May15 0:00 \_ [block-osm/2]
root 1212 0.0 0.0 0 0 ? S< May15 0:00 \_ [block-osm/3]
root 1230 0.0 0.0 0 0 ? S< May15 0:00 \_ [kcryptd/0]
root 1231 0.0 0.0 0 0 ? S< May15 0:00 \_ [kcryptd/1]
root 1232 0.0 0.0 0 0 ? S< May15 0:00 \_ [kcryptd/2]
root 1233 0.0 0.0 0 0 ? S< May15 0:00 \_ [kcryptd/3]
root 1234 0.0 0.0 0 0 ? S< May15 0:00 \_ [kmpathd/0]
root 1235 0.0 0.0 0 0 ? S< May15 0:00 \_ [kmpathd/1]
root 1236 0.0 0.0 0 0 ? S< May15 0:00 \_ [kmpathd/2]
root 1237 0.0 0.0 0 0 ? S< May15 0:00 \_ [kmpathd/3]
Не буду расшифровывать названия всех этих ядерных процессов (и ошибиться боюсь и не охота).
Как видишь МНОГО чего живет именно в отдельной копии для каждого ядра (нити с номером процессора "/N" в конце).
Что же еще не так? :)
>SMP - архитектура вычислительной системы, а распределённые вычисления подразумевают сеть из слабосвязанных
>вычислительных машин или мы с тобой по разным учебникам учились. Параллельные
>вычисления не обязательно распределённые.
http://ru.wikipedia.org/wiki/Распределённые_вычисления
"Распределённые вычисления (distributed computing, grid computing, volunteer computing) — способ решения трудоёмких вычислительных задач с привлечением большого числа исполнителей, работающих одновременно над разными частями задачи."
Ну НЕТУ в определении требований к железной части. Просто наличие большого числа исполнителей (процов). Так что и SMP и NUMA - подходят для решения задач используя _метод_ распределенных вычислений.