А тучи, тем временем, сгущались. Да, процессоры стали быстрее. Да, действительно, там стало больше ядер. И последнее, как раз, является серьезной архитектурной проблемой. По крайней мере, для наметившегося лидера гонки.
Кто сейчас помнит такой архаизм как «Архитектура»? Мало кто. Слово
Страшная цифра — 256. Хотя, на первый взгляд, и не очень страшная. Да, именно столько, и есть максимальный предел присутствия независимых PCI устройств, на PCI шине. Цифра кажется на самом деле заоблачной.
Ну кому, в здравом уме и твердой памяти, придет в голову иметь в компьютере больше 5-10 реальных, т.е. “физических» устройств? Именно исходя из этих «логичных» предпосылок, недавний лидер процессорной гонки, вводил ограничивающие настройки в свой чипсет, дающие возможность принудительно ограничивать волшебную цифру до 128, 64, и не поверите 32(!) PCI шин. И это была не просто блажь, т.к. давало серьезную возможность экономить системный кусок (первые 4Gb) памяти, до сих пор наделенный "волшебными свойствами" в отношении ОС. В том то и дело, что физических устройств было до недавнего времени не очень много.
Но, время не стоит на месте, и вот я держу в руках очередное 64 ядерное чудо
И что же он хочет, нет ТРЕБУЕТ, для своего минимального функционирования? Всего то малость… откусить для своих 64 ядер… пространство в 80 PCI шин. Браво. Но, ведь у нас есть еще 2/3 пространства? У кого то есть, а у кого-то и нет.
Первый раз на небездонность PCI шины я обратил внимание, настраивая PCI расширитель, так уж получилось, что на нем висело, за гроздью из P2P мостов Pericom, 119 PCI устройств требовавших подобное же количество индивидуальных PCI шин. И это только за единственным х8 PCI расширителем. А таких х8 портов, там было 8. Вот тут, как бы невзначай, и всплывает "волшебность" первых 4Gb системной памяти, когда львиная доля из тех 119 PCI устройств, требует для своей инициализации во время обнаружения БИОСом «скромные» 32-64 Мб на каждого.
Хорошо что Интел не так мощно выгрызет PCI пространство. При необходимости, но повесить второю гроздь еще оставалось возможным.
А вот с Rome и единственное такое «расширение» лишает нас надежды хоть на какое то будущее столь увесистой «грозди», в этой АМД системе. Нет, конечно, клиенту можно предложить перейти на суперкомпьютерную архитектуру, ту которая будет под заказ, и выльется в 10 раз дороже. Но и вышепредложенная конфигурация, как вы успели заметить, не для каждого из нас. И также разрабатывается индивидуально под хотелки клиента. Но архитектурная граница хотелок уже ощутимо близка. Не хочется в каждую вышку мобильной связи лепить суперкомпьютер, исключительно из-за тридцатилетней «ограниченности» PCI шины. Что самое интересное, но переход на ARM совершенно не выход, поскольку на нем мы видим все тот же PCI, и все те же 30 летние ограничения.
Увы, ситуация в деталях повторяет тенденцию с памятью, стало мало? Пихай-суй больше! PCI пространство есть? Что его жалеть, от него не убудет. Увы, уже убудет. Уже, не то что в четверо или вдвое не обрежешь, чем баловался Интел. Уже и в полном объеме, для серьезных игроков — на грани. И применение транспарентных P2P мостов, увы только паллиатив, в сложившейся ситуации.
Только и остается что беречь каждый
UPD
Уважаемый ikle, поделился ценной информацией по поднятой теме в своем комментарии
Дак в PCI всё для этого уже есть — буковка S в SBDF — целых 16 бит — четвёртое измерение. Более того, PCI-E позволяет уже использовать разные сегменты: Если ОС не дремучая и умеет понимать ACPI MCFG таблицу, то проблемы никакой нет уже сейчас.
Описываемая в статье проблема — это проблема реализации платформы: никто не мешает прямо сейчас завести на платформе несколько сегментов, подправить BIOS, чтобы он отдавал в ACPI MCFG, где искать базовый каждого адрес сегмента и всё
А от себя добавлю, что в UefiShell есть коменда pci c параметром -s Seg которая как раз и показывет нужный PCI сегмент. Печаль только в том, что новые сегменты растут исключительно(я так пока понял) из дополнительных физических процессоров. А с этим мало кто встречается. Многоядерность — «это не совсем то». Либо, как вариант, P2P мост должен поддерживать эту достаточно не популярную в широких массах опцию.
UPD2
Всем, сигнализировавшим от ошибках в тексте, большое спасибо. Исправил, как только смог.
AntonSor
Так и представляю себе майнинг ферму с навешанными через сотню расширителей гроздью видеокарт :)
innovaIT
Помоему, там что то другое. Не зря же провайдеры сотовой упомянут. Но да. Хотелось бы хотя бы фото, чего ж там такого можно навещать.
BiosUefi Автор
На самом деле, конечно, клиент никогда не делится чем конкретно будет заниматься та или иная система. Но иногда проскакивает при личном общении, что-то идёт на сотовые вышки, что-то на тестирование мобильников на их производстве, когда надо тестировать сотнями тысяч.
OleksiyT
Какая сотня?
Майнинг-риги максимум на 12 карт.
Есть и 19 — это уже ближе к крэйзи.
Тупо не имеет смысла, гемора больше, чем профита.
algotrader2013
Так а что не выдерживает? Что будет, если больше навесить?
Thomas_Hanniball
Блоки питания не выдерживают. 1 ферма — 1 блок питания. Даже есть взять блок на 2000 Ват, то на него можно повесить лишь ограниченное количество видеокарт.
Есть фермы с 2-мя блоками питания, но это редкость, т.е. есть сложность в подключении, синхронизации их старта и т.д.
Большинство ферм собирается из «потребительских» компьютерных комплектующих, а поэтому там нет резерва по питанию, функций горячей замены и т.д. Чтобы заменить 1 видеокарту необходимо выключать всю ферму.
drWhy
В продаже масса каскадируемых промышленных БП с сотовых БС. Там и мегаватты при желании насобирать можно. Стоят гроши.
DenomikoN
А можно пару примеров, пожалуйста?
drWhy
Например вот и вот. Производителей и моделей много. БП конфигурируемые, программно настраиваются под нужное напряжение.
Подобные БП предназначены для плотного монтажа, у них высокий КПД и схемотехника, выгодно отличающаяся от применяемой в среднем БП АТХ.
Также они легко каскадируются и синхронизируются.
algotrader2013
Так обе ссылки про 48 вольт. Да, там можно настроить вольтаж, но, как я понял, в небольших пределах. То есть, 43 вольта, может, и можно. Но вот 12 уже никак.
А ЕМНИП, на устройствах типа видеокарт что-то вроде 12 или 5 надо. Или можно выход одного на вход другого? Но тогда разве "нижний" включится? В характеристикам на али написано автовольтаж 89-265 или что-то вроде того. 48 на вход, значит, просто не включит его.
Или я чего-то не понимаю?)
drWhy
Это одно устройство, русскоязычный обзор и источник.
Возможно, есть и двенадцативольтовые БП, не подумал про применение именно для майнинга. 48 В видимо заряжали батареи, соединённые последовательно по четыре, для уменьшения тока. 48 В отдать 12 уломать наверно можно, но с потерей в КПД.
Можно посмотреть зарядки для авто, встречал 2-3-4-канальные до 300 А.
JerleShannara
Синхронность нужна в рамках 1 секунды, а это обеспечивает даже чёртово реле. Не вижу вообще никаких трудностей в организации фермы хоть из 200 видеокарт, лишь бы адресного пространства и пропускной способности хватило.
П.С. При отладке работы шины с кучей девайсов (у меня всего 40 было), через китайские райзеры «1 слот в 4 слота» делал гирлянду и питал вообще от всего, что попало (включая лабораторный БП и БП для сварочника, благо тот выдавал 12 вольт.)
ktod
Риг с 15ю картами амд доставляет проблем ни чуть не больше, чем с 12ю. 16 карт, кстати, не поддерживается драйверами — падает опенцл либа при обращении к ней. Мать обычная, 4 сплиттера, правленный биос.