Size: a a a

pro.graphon (and gamedev)

2020 May 12

SS

Sergey Skvortsov in pro.graphon (and gamedev)
В целом это можно долго муслить, но без исследований - бесполезно, потому что тема сложная и интуицией и гуглом правильный ответ с наскоку не ищется
источник

I

Ioann_V in pro.graphon (and gamedev)
Sergey Skvortsov
Кто-то рассказывал про специальный транспортный буфер?
Ну, нет. В общем, попробуй сделать так, запиши файл целиком, размеров так 30ГБ, и замерь результат.
источник

SS

Sergey Skvortsov in pro.graphon (and gamedev)
Вот пару недель назад переводил регулярную запись 200+гб на nvme на direct_io, потому что пейджкеш соседей нагибал немножко, так вот в итоге получили на 10% меньше пропускной способности
источник

SS

Sergey Skvortsov in pro.graphon (and gamedev)
Но ладно, такого не бывает, это же O_DIRECT, там все быстро
источник

I

Ioann_V in pro.graphon (and gamedev)
disba1ancer
я вот тут подумал про пейджинг, это же наверняка головная боль для драйвера если страницы приёмного буфера раскиданы по физической памяти
ну эта боль, есть всегда, вне способа записи. Но, записывая целиком, префетчер загрузит в TLB нужные странички и сделает их перевод в Физику.
источник

d

disba1ancer in pro.graphon (and gamedev)
Ioann_V
ну эта боль, есть всегда, вне способа записи. Но, записывая целиком, префетчер загрузит в TLB нужные странички и сделает их перевод в Физику.
а разве dma умеет в tlb?
источник

I

Ioann_V in pro.graphon (and gamedev)
disba1ancer
а разве dma умеет в tlb?
DMA - это между устройством и ОЗУ, а мы вроде про запись на устройство.
источник

d

disba1ancer in pro.graphon (and gamedev)
Ioann_V
DMA - это между устройством и ОЗУ, а мы вроде про запись на устройство.
ну я и про запись и про чтение, и dma вроде в обе стороны работает (прошу поправить если нет)
источник

I

Ioann_V in pro.graphon (and gamedev)
Размер DMA буффера можно настроить, в Линуксе так точно
источник

I

Ioann_V in pro.graphon (and gamedev)
disba1ancer
ну я и про запись и про чтение, и dma вроде в обе стороны работает (прошу поправить если нет)
DMA это между устройством и ОЗУ, или между устройствами в системе(не про х86). Вроде как то так.
источник

d

disba1ancer in pro.graphon (and gamedev)
Ioann_V
DMA это между устройством и ОЗУ, или между устройствами в системе(не про х86). Вроде как то так.
ну оно же работает как от устройства к ОЗУ, так наоборот, или это не верно?
источник

U

UsernameAK in pro.graphon (and gamedev)
disba1ancer
ну оно же работает как от устройства к ОЗУ, так наоборот, или это не верно?
это так
источник

I

Ioann_V in pro.graphon (and gamedev)
Я не могу сказать, как DMA в HDD используется.... Надо будет замерить HDD.
источник

U

UsernameAK in pro.graphon (and gamedev)
оно там используется по идее просто копированием блоков с диска в озу
источник

I

Ioann_V in pro.graphon (and gamedev)
источник

d

disba1ancer in pro.graphon (and gamedev)
у БД наверняка своя более подходящая система кешей
источник

I

Ioann_V in pro.graphon (and gamedev)
Вот тут еще есть
источник

I

Ioann_V in pro.graphon (and gamedev)
источник

I

Ioann_V in pro.graphon (and gamedev)
Как раз про одиночное чтение
источник

I

Ioann_V in pro.graphon (and gamedev)
И вот
источник