Технология NVIDIA RTX IO снижает нагрузку на процессор при обработке данных с накопителей

Во время представления игровых видеокарт GeForce RTX 3000 компания NVIDIA решила поговорить о скорости работы твердотельных накопителей и работе с файлами на них. Сначала немного вводной части для понимания сути происходящего, а потом перейдем к основной части.

Как мы знаем, для обработки данных с накопителей, будь то простой жесткий диск, подключенный через SATA, или твердотельный накопитель, подключенный через интерфейс PCI Express 4.0, используется центральный процессор. Чем выше скорость работы накопителя, тем быстрее необходимо обрабатывать поступающую информацию и, следовательно, выделять больше процессорной мощности или ядер.

Например, современный твердотельный накопитель, подключенный через четыре линии интерфейса PCI Express 4.0, может “прочитать” до 7 Гбайт данных за секунду. Как подсчитала компания NVIDIA, для бесперебойной обработки такого количества данных центральному процессору необходимо выделить два ядра.

Несмотря на то, что мост между процессором и накопителем может передавать 7 Гбайт данных за секунду, внутри процессора происходит декомпрессия сжатых данных, скорость которой может достигать 14 Гбайт/с. Работа с декомпрессией данных требует в разы больше вычислительных ресурсов центрального процессора. Как говорит сама NVIDIA, чтобы обрабатывать 14 Гбайт сжатых данных за секунду необходимо 24 ядра центрального процессора.

А теперь представьте, что вы играете в игру с большим открытым миром, где большое количество вызовов на отрисовку, над которыми трудится центральный процессор, и происходит постоянная декомпрессия данных с твердотельного накопителя для подгрузки моделей. Мало какой процессор сможет продемонстрировать адекватную работу в таких условиях.

Для решения этой проблемы Microsoft придумала DirectStorage API, которая будет использоваться в консоли следующего поколения Xbox Series X и компьютерах, однако NVIDIA решила улучшить реализацию данной технологии и представила свое видение обработки данных с накопителей под названием RTX IO.

NVIDIA RTX IO позволяет обрабатывать поток данных с накопителя не центральным процессором, а видеокартой, что в разы ускоряет обработку данных и, тем более, работу декомпрессии, которая, как мы уже говорили, очень требовательна к системным ресурсам. В качестве примера NVIDIA привела слайд, где указывается, что для декомпрессии 14 Гбайт данных в секунду потребуется всего половина ядра центрального процессора.

Разумеется, это повысит нагрузку на видеокарту и её подсистему памяти. К сожалению, об этом компания ничего не сказала. Для работы технологии NVIDIA RTX IO потребуется видеокарта из серии “GeForce RTX”, однако не уточняется конкретная линейка. Возможно, технология будет работать и на видеокартах RTX 3000, и на RTX 2000. Также для работы требуется, чтобы игровой движок поддерживал Microsoft DirectStorage API.

Большим минусом реализации технологии NVIDIA RTX IO является то, что для её работоспособности придется выпускать драйвер для каждой игры. То есть, изначально в движке игры должна быть реализована поддержка Microsoft DirectStorage API, а потом компания NVIDIA через драйвера добавляет поддержку уже своей технологии RTX IO. В общем, посмотрим, как это будет происходить на деле.