Прямое подключение PCIe к PCIe для связи

Случилось со мной на моей elementary os, redshift-gtkбольше не запускалось, потому что python3 импортировал gi из /usr/local/lib/python3.5/dist-packages, и не работал с этой ошибкой print url.

Удаление gi с помощью pip3 решило проблему для меня:

$ sudo pip3 uninstall gi

С этого момента python3 импортирует «правильный» gi.

0
17.11.2019, 22:27
1 ответ

Действительно, вы получите лучшую производительность с PCIe, чем с COM-портами... с исключительно быстрым COM-портом вы можете получить скорость передачи 0,92 Мбит/с по сравнению с 7880 Мбит/с, которую вы можете получить с одним каналом PCIe v3.x..

К сожалению, простой кабель порт-порт здесь не подходит.

Порты PCIe в слотах для карт — это, в частности, нисходящие порты , которые должны взаимодействовать с соответствующими восходящими портами в самих картах PCIe. Вы пытаетесь подключить нисходящий порт к другому нисходящему порту, что не разрешено стандартом PCIe.

Даже если бы вы смогли решить эту проблему, это означало бы, что каждый из двух компьютеров будет иметь неограниченный прямой доступ к системной шине другого компьютера. По сути, они больше не будут рассматриваться как два отдельных компьютера, а будут больше похожи на единую систему NUMA с довольно серьезным узким местом между ее половинками (, если вы используете только одно соединение PCIe x1 ). Без какой-либо возможности синхронизировать доступ между половинками системы вы просто пожертвуете аппаратной сложностью, чтобы получить очень сложную проблему программирования. Поскольку обе половины будут обычными материнскими платами, предназначенными для независимой работы, модернизация даже минимально необходимой аппаратной синхронизации может быть даже невозможной.

Но концепция, которую вы пытаетесь реализовать, не нова :она известна как не -прозрачный мост . В ядре Linux инфраструктура для поддержки таких вещей существует, начиная с версии ядра 3.9. В настоящее время поддерживается аппаратных реализаций NTB(вы заметите, что они, как правило, являются частью довольно серьезного оборудования серверного -класса ). Существует даже драйвер ntb_netdev, который делает канал NTB похожим на очень быстрое устройство Ethernet.

Итак... чтобы реализовать вашу идею, вам придется исследовать ряд существующих микросхем NTB, выбрать одну, подходящую для ваших нужд, спроектировать для нее печатную плату (, обрабатывающую высокочастотные -сигналы! ), соберите его, разработайте необходимые исправления для ядра Linux для поддержки вашей конкретной реализации,и, наконец, отладить все это.

Хотя настоящий волшебник-разработчик аппаратного обеспечения мог бы назвать это «простым», для обычных людей, которые не планируют заполнять несколько центров обработки данных своим решением, короткий кабель Ethernet был бы намного проще.

3
28.01.2020, 02:38

Теги

Похожие вопросы