8xOpteron и чтение PCI-E

Тема в разделе "WASM.HARDWARE", создана пользователем The_GorYnycH, 15 фев 2008.

  1. The_GorYnycH

    The_GorYnycH New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2008
    Сообщения:
    32
    Известно, что системы построенные на базе процессоров AMD Opteron реализуют архитектуру NUMA, когда каждый процессор имеет собственную память, время доступа к которой малО по сравнению с временем доступа к памяти соседей. Поискал, но не смог найти, как именно, через какие мосты и какие шины, т.е. в мелких подробностях, происходит взаимодействие нескольких Opteron'ов серии 83хх с PCI-E девайсом, в контексте чтения с него данных. Интересует для восьмипроцессорной системы, причем данные нужно раскидывать на восемь процессоров по порядку, т.е. первый буфер - на первый процессор, второй на второй и т.д... Поток данных очень большой. Никогда раньше с такими системами не встречался и очень не хочется наступить на какие-нить грабли, судя по всему их должно быть немало... Заранее благодарен:)
     
  2. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Главная шина является hypertransport. На ней седят процессоры дальше через мосты идет выход на PCI-E, PCI, ISA.
    http://www.hypertransport.org/docs/tech/HTC20051222-0046-0008-Final-4-21-06.pdf

    Собственно закидываешь в память данные и обрабатываешь. Процессарами. Для того чтобы производительность возросла надо закинуть данные в разные банки памяти. Остается выянить по каким адрессам находятся эти банки, как это сделать незнаю.
     
  3. The_GorYnycH

    The_GorYnycH New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2008
    Сообщения:
    32
    Спасибо за сцылко, я на amd-шном сайте ковырялсо, но спецификаций по шине не нашел. Адресация там плоская,как и пнях, так что адреса узнать несложно. Можеть кто посоветует чо почитать по программированию NUMA-систем?
     
  4. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    The_GorYnycH
    Читай внимательно описание мамы. У нас есть сервер 8-ми процессорный. Так вот с шиной PCI работает только один из них и под это отведена одна из его шин гипертранспорта. Т.ч. раскидывать по памяти будет он, точнее операционка. Далее нужно, что БИОС имел хоршие настройки для NUMA - мне товарищ приводил пример железки где вообще поменять ничего нельзя... Ну и операционка должна NUMA поддерживать, она по идее и должна управлять памятью и NUMA - не думаю что ты сможешь капитально что-то улучшить. Т.е. 1) нужно чтобы в БИОС-е можно задать оптимальный режим NUMA для твоего случая 2) чтобы ОС поддерживала NUMA 3) построить алгоритм с учетом 1 и 2 и проверить оптимальность.