LINUX.ORG.RU
ФорумTalks

аппаратная поддержка ipc

 


0

2

Главной проблемой микроядер является медленный ipc. В то же время, сейчас чего только ни пихают в процессор для увеличения производительности, даже то, что нужно полутора процентам. Почему не сделают заодно и аппаратную поддержку ipc?

★★★★★

Аппаратную пайпу между процессами?

Да ну нафиг. Это как диск с аппаратно реализованой файловой системой.

Разработчики qemu/kvm и др. проклянут тебя :)

RAM у нас вроде аппаратный + дешевый shared memory средствами MMU со времен очакова и покорения крыма :) + всякие инструкции для атомарного обновления данных (без смены контекста).

Да еще всякие lockless алгоритмы понапридумывали.

vel ★★★★★
()
Последнее исправление: vel (всего исправлений: 1)

Посмотри блок аппаратной синхронизации в микросхемах типа xavier. Там и аппаратные спинлоки, мейлбоксы, дорбеллы и чего только нет. Только я пока так и не понял, используется ли это реально ядром.

ncrmnt ★★★★★
()

Интел как то запилил аппаратную поддержку многозадачности. В итоге винда и линукс не используют это, т.к. не удовлетворяет требованиям. И с твоим ipc так же будет. А вот всякие примитивы вроде атомарных операций очень пригождаются. На них и нужно остановиться.

ox55ff ★★★★★
()

Для сокращения расходов на переключения контекстов можно аккумулировать команды в разделяемой памяти и сигнализировать семафором когда буфер переполнился или требуется ответ. Haiku так умеет делать для графических команд GUI серверу.

X512 ★★★★★
()

Так вроде проблема не в ipc как таковом, а в переключении между адресными пространствами. При этом нужно перезагрузить в системные регистры много данных и в процессе перезагрузки сбрасываются всякие микроархитектурные кэши плюс подозреваю что нужно дождаться окончания уже начатых операций, а там может быть что-то долгое типа чтения из памяти данных, которых нет в ближних кэшах. Скорее всего это решаемый вопрос, например, за счёт копирования mmu, но это транзисторный бюджет, т.е. у нас есть выбор добавить ещё пару ядер или навернуть логику ускоренного переключения контекста к 4 имеющимся. Если пойти по второму пути, то получается мы опять проиграли в производительности, т.е. исходную задачу не решили

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

Задрал уже со своей гайкой.

Для сокращения расходов на переключения контекстов можно аккумулировать команды в разделяемой памяти

Угу, а машину времени ты тоже изобретёшь? Вообще мимо кассы.

intelfx ★★★★★
()

Главной проблемой микроядер является медленный ipc

Уже давно нет.

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