Помогите разобраться. я читал что numa используется в процессорах amd. но в последней документации на процессоры, описывается только стандартная smp. где можно подробнее почитать про numa?? что это я знаю. а вот как работает?? интересуют вопросы: -когентность кеша в разных процессорах. -обмен данными между процами -пример таблици описания памяти acpi. короче интересует все что связано с numa. мне это надо для написания ядра. поэтому хочу знать все нюансы реализации. заранее благодарен за ссылки и коментарии. но просьба только по теме.
неужели не кто с этим не сталкивался? с процессорами и памятью все более менее понятно. но как работают устройства в numa? как я понимаю они тоже подключены к разным узлам. как тогда например обратиться к видеопямяти с процессора не принадлежащего данному узлу. и есть ли разнитца в скорости при обращении к переферии соседнего узла(или я вообще не могу ей пользоваться с другого узла)????
Вероятно, на практике с таким никто не сталкивался. Насколько понимаю, всё железо (и внешние устройства, и ОЗУ) продолжает оставаться доступным для любого из процессоров в системе, но вот скорость действительно меняется. Если склероз не изменяет, в таблицах ACPI описывается в том числе "сродство" памяти/шин с процессорами, но утверждать не берусь: никогда этим не интересовался всерьёз, а посему и не изучал.
именно так и есть. остался только как например писать в видеопамять, если она принадлежит только одному узлу, а остальны получается ее тормозят. а самый главный вопрс это как работает dma(например ata)
По всей вероятности, работает, как обычно. Каждому из сегментов шины PCI/PCI Express (в первом приближении можно считать, что для программиста это одно и то же) назначен свой диапазон адресов. Если некое устройство-задатчик ("мастер") обращается по адресам, назначенным тому же сегменту, на котором оно само сидит, то этот запрос за пределы сегмента не уходит и выполняется в нём (ну или возникает ошибка, если запрошенным адресам никакой реальной памяти не соответствует). Если же целевой адрес принадлежит другому сегменту шины, то через мосты запрос добирается до места назначения, где и выполняется (или, опять-таки, происходит облом из-за того, что он не принадлежит никакому устройству). В общем, для программиста эта схема абсолютно прозрачна, но только с того момента, как все мосты настроены должным образом. Конечно, скорость прямого доступа зависит от того, насколько далеко запросу приходится бежать, и эффективная система должна бы это учитывать...
MisHel64 просто твои ответы всегда одинаковы. сделать умный вид и нехрена при этом не сказать по теме))) а потом и мысли расходиться начнут....