The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Google предложил Device Memory TCP для сетевой передачи данных между устройствами, opennews (??), 13-Июл-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


3. "Google предложил Device Memory TCP для сетевой передачи данн..."  +/
Сообщение от Аноним (3), 13-Июл-23, 12:15 
А разве RDMA  уже научили из видеопамяти GPU данные передавать? Для RDMA нужно вначале скопировать данные из памяти акселератора в общую память, а именно этого и пытается избежать Google.
Ответить | Правка | Наверх | Cообщить модератору

5. "Google предложил Device Memory TCP для сетевой передачи данн..."  +/
Сообщение от Страдивариус (?), 13-Июл-23, 12:38 
Эти две памяти в одном адресном пространстве. Какая RDMA разница?
Ответить | Правка | Наверх | Cообщить модератору

8. "Google предложил Device Memory TCP для сетевой передачи данн..."  +/
Сообщение от Аноним (8), 13-Июл-23, 13:00 
А нынче память PCI устройств мапится прямиком в линейное адресное пространство? Там же вроде не всё так просто было вроде.
Ответить | Правка | Наверх | Cообщить модератору

14. "Google предложил Device Memory TCP для сетевой передачи данн..."  –1 +/
Сообщение от Unnamed Player (?), 13-Июл-23, 13:11 
DMA этим и занимается.
Ответить | Правка | Наверх | Cообщить модератору

22. "Google предложил Device Memory TCP для сетевой передачи данн..."  –1 +/
Сообщение от Аноним (22), 13-Июл-23, 13:25 
для PCI нету DMA, зато есть bus mastering.
Ответить | Правка | Наверх | Cообщить модератору

51. "Google предложил Device Memory TCP для сетевой передачи данн..."  +/
Сообщение от Аноним (51), 13-Июл-23, 15:48 
Щито? У PCI DMA есть и прекрасно работает (как бы иначе им, например, сетевыми пользовались, или они в твоём мире на на PCI шине висят?). Более того, на базе p2p dma работает майковский direct storage для игруль (там, правда, dma между nvme и gpu).
Ответить | Правка | Наверх | Cообщить модератору

84. "Google предложил Device Memory TCP для сетевой передачи данн..."  +1 +/
Сообщение от Аноним (84), 14-Июл-23, 01:35 
> для PCI нету DMA, зато есть bus mastering.

Вот те раз - кто это DMA у него с314дил? А bus mastering это возможность со стороны девайса транзакции инициировать - передавая данные например в другой девайс без участия системного проца в этом. При такой инверсии ролей вопрос DMA оказывается на другой стороне... и у GPU например есть свои нехилые DMA-движки на его стороне, на такие случаи и много что еще, оффлоадящие основной массив от уделения внимания шине.

Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

90. "Google предложил Device Memory TCP для сетевой передачи данн..."  +/
Сообщение от Анонним (?), 14-Июл-23, 10:34 
напомню - что DMA controller - это был контроллер на материке подключенный к ISA шине. Который выполнял сам арбитраж шины - для передачи девайс<>память, девайс<>девайс.
в реалиях PCI v2.0+ - централизованного контроллера не существует (с некоторым натягом IO-AT можно считать таковым) - поэтому каждой карте предлагается как-то реализовывать арбитраж самому через режим bus mastering.

Так что эта.. просьба показать DMA controller централизованный в районе PCI root complex - который выполняет теже функции что и старый на ISA. И в PCI spec нету ничего с DMA, зато есть bus mastering. То что через этот режим можно обращаться напрямую в память - ничего не меняет.

Ответить | Правка | Наверх | Cообщить модератору

99. "Google предложил Device Memory TCP для сетевой передачи данн..."  +/
Сообщение от Аноним (-), 14-Июл-23, 15:12 
> напомню - что DMA controller - это был контроллер на материке подключенный
> к ISA шине. Который выполнял сам арбитраж шины - для передачи
> девайс<>память, девайс<>девайс.

Напомню что многие PCI железки сейчас являют собой нефиговый программно аппаратный комплекс, с своим софтом, процами, памятью и адресными пространствами, а то и VM/paging/mmu, и чем там еще. И в этом смысле DMA может быть и с их стороны, в том смысле что оно не отвлекается на каждую операцию с шиной - а заряжает такой же хардварный автомат со своей стороны, и дальше тот интерфейс шины секвенсит все как надо для вон того сам, так что процы железки не отвлекаются на каждый дерг PCI. Это тоже DMA - с другой стороны и другим контроллером. А хост об этом вообще может ничего не знать, единственный критерий чтобы это все не было внезапностью.

> в реалиях PCI v2.0+ - централизованного контроллера не существует (с некоторым натягом
> IO-AT можно считать таковым) - поэтому каждой карте предлагается как-то реализовывать
> арбитраж самому через режим bus mastering.

PCI уже давно не 2.0 да и вообще Express обычно - и там все стало немного сложнее. Но многие понятия остались.

> Так что эта.. просьба показать DMA controller централизованный в районе PCI root

DMA контроллеру вообще не обязательно быть в конкретном месте. В типовой системе PCI девайсы висят как регионы памяти в системе, системный DMA может в эти регионы лазить не хуже чем в остальное. Где этот DMA технически находится и как это по факту реализовано в железе - а какая разница? Соврменных систем где нет DMA <-> PCI я не знаю, такие потоки никто в здравом уме без DMA ворочать не станет.

А вон то про "инверсный" вариант фокуса, когда железка делает на своей стороне оффлоад своим транзакциям, своим DMA контроллером.

> complex - который выполняет теже функции что и старый на ISA.

ISA на PCI вообще не особо похож, расскажите вон тому MIPS с MINI-PCI слотом про нее? А PCI - и DMA там таки есть. И на вон том арме с PCIe сразу из проца - аналогично. И если б оно DMA не умело это был бы ацкий эпикфейл по перфомансу. Так что система без DMA но с PCI - может и возможна теоретически в какой-то ультра минимальной реализации но практически я ни разу такое не встречал.

> И в PCI spec нету ничего с DMA, зато есть bus  mastering.

А почему PCI spec должен рассказывать платформе как DMA имплементить? Там в общем случае вывешивают железку как регион памяти - ну а дальше DMA и платформа уже как-нибудь сами разбираются как это. Если вы хотите сказать что теоретически возможна имплементация PCI без DMA контроллера в систему - ну, может быть. Практически я однако такого позора ни разу не видел. Даже на очень мелких платформах. Если железка достаточно большая чтобы PCI(-e) отрастить там гарантированно есть и какие-то DMA контроллеры и они ессно могут с PCI работать, иначе толку с такого PCI...

> То что через этот режим можно обращаться напрямую в память
> - ничего не меняет.

А ничего что это тоже получается DMA по смыслу, хоть и иными средствами? DMA означает всего лишь direct memory access. Как именно и чем этот access реализуется - да возможно дочерта вариантов на самом деле. А DMA лишь собирательное название группы технологий где доступ к памяти случется без участия проца.

Ответить | Правка | Наверх | Cообщить модератору

103. "Google предложил Device Memory TCP для сетевой передачи данн..."  +/
Сообщение от Аноним (22), 14-Июл-23, 18:57 
> Это тоже DMA - с другой стороны и другим контроллером. А хост об этом вообще может ничего не знать, единственный критерий чтобы это все не было внезапностью.

В спецификациях - данных режим называется bus mastering. Ибо доступом к памяти он не ограничивается. Если считаете иначе - просьба предоставить линк на мануал по PCI / PCIe шине где это написано. И обсудим.


>DMA контроллеру вообще не обязательно быть в конкретном месте. В типовой системе PCI девайсы висят как регионы памяти в системе, системный DMA может в эти регионы лазить не хуже чем в остальное. Г

Системный DMA ? это какой? - линк на доку в студию. Так что бы там это называлось именно DMA. Если это о IO-AT - спасибо, посмеялся с его пропускной способности.

>PCI уже давно не 2.0 да и вообще Express обычно - и там все стало немного сложнее. Но многие понятия остались.

не многие а все. Если говорить о логической организации шины и транзакциях при передачи.

> А ничего что это тоже получается DMA по смыслу, хоть и иными средствами?  

А ничего что у этого режима есть свое название. Тем более он работает не только с памятью.

Ответить | Правка | Наверх | Cообщить модератору

113. "Google предложил Device Memory TCP для сетевой передачи данн..."  +/
Сообщение от Аноним (-), 16-Июл-23, 01:31 
> В спецификациях - данных режим называется bus mastering. Ибо доступом к памяти
> он не ограничивается.

Не отменяет возможность устройств лезть в память. Поэтому...

> Если считаете иначе - просьба предоставить линк на
> мануал по PCI / PCIe шине где это написано. И обсудим.

Согласно википедии,

Direct memory access (DMA) is a feature of computer systems that allows certain hardware subsystems to access main system memory independently of the central processing unit (CPU).
PCI bus mastering - так может. Значит попадает под определение DMA. В этом определении нет абсолютно ничего про ISA, конкретный контроллер или что либо еще. Только доступ к системной памяти в обход системного проца. Что хотите то с этим и делайте.

> Системный DMA ? это какой? - линк на доку в студию.

Это тот который есть в системе. Конкретика может дико варьироваться от системы к системе. PCI вообще платформенно-нейтральная штука и существует много где. Платформ где был бы PCI но не было бы DMA контроллера для разгрузки проца "с другой стороны" - я не знаю. Они теоретически возможны но даже так bus mastering останется формой DMA.

> Так что бы там это называлось именно DMA. Если это о IO-AT
> - спасибо, посмеялся с его пропускной способности.

Нет, это не про IO-AT. В самом общем виде я имхо согласен с викой на тему определения что вообще есть DMA. А как оно там в конкретном случае реализовано - да какая разница.

> не многие а все. Если говорить о логической организации шины и транзакциях
> при передачи.

Электрически однако он совсем другой. И штуки типа MSI в PCI - не помню, были ли вообще изначально? По-моему нет.

> А ничего что у этого режима есть свое название. Тем более он
> работает не только с памятью.

Не отменяет того факта что это тоже вид DMA. Кто сказал что DMA обязан иметь что-то общее с ISA или каким-то конкретным контроллером?

Ответить | Правка | Наверх | Cообщить модератору

21. "Google предложил Device Memory TCP для сетевой передачи данн..."  +/
Сообщение от Аноним (22), 13-Июл-23, 13:24 
если устройство экспортит память в BAR - то да, в линейное адресное пространство.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

95. "Google предложил Device Memory TCP для сетевой передачи данн..."  +/
Сообщение от Страдивариус (?), 14-Июл-23, 13:21 
> А нынче память PCI устройств мапится прямиком в линейное адресное пространство? Там
> же вроде не всё так просто было вроде.

Нынче? Ну же лет как двадцать. Бывали времена, когда на некоторых железках в адресное пространство CPU торчало только окно из всей памяти устройства и надо было выбирать в какой регион памяти на железке это окно отображается. Я могу ошибаться, но сейчас этим уже никто не занимается, по крайней мере на мощных железках, у которых дохрена памяти на борту.

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру