VRAMFS: використання пам'яті відеокарти для файлової системи

RAM-диски можна назвати популярним засобом використання оперативної пам'яті для певних програм RAM-диски можна назвати популярним засобом використання оперативної пам'яті для певних програм. Перевага такої пам'яті криється в тому, що вона набагато швидше будь-яких SSD. За допомогою VRAMS для RAM-диска можна використовувати не оперативну пам'ять, а відеопам'ять - через ядро ​​Linux, FUSE і OpenCL. Залежно від підключення відеокарти до інтерфейсу PCI Express забезпечується швидкість читання або запису до 2 Гбайт в секунду. Ті ж SSD PCI Express сьогодні можуть дати до 1.200 / 800 Мбайт / с. При підключенні флеш-накопичувача через SATA швидкість не перевищує 500/500 Мбайт / с. Звичайно, існують SSD серверного рівня, які підключаються через PCI Express і забезпечують швидкість читання до 6,7 Гбайт / с і швидкість запису до 4,4 Гбайт / с. Але ціна таких рішень становить десятки тисяч євро.

Але повернемося до VRAMFS: поки система знаходиться на ранньому етапі розробки. Сучасні відеокарти в споживчому сегменті оснащуються вже 4 або 6 Гбайт відеопам'яті, так що виграш від VRAMFS в майбутньому буде тільки збільшуватися, між тим розробники планують збільшити продуктивність. Поточний рівень продуктивності близько 2 Гбайт / с значно поступається класичним RAM-дисків, які забезпечують до 6 Гбайт / с. Тим більше що пропускна здатність PCI Express дає достатній запас. У разі PCI Express 3.0 і 16 ліній вона становить до 15,754 Гбайт / с. А у майбутнього стандарту PCI Express 4.0 пропускна здатність становить до 31,508 Гбайт в секунду.

Як інструмент для організації VRAMFS використовується Linux з FUSE. Система Linux організовує для користувача простір, яке можна адресувати за межами ядра на зовнішньої файлової системи. Відеокарта повинна підтримувати, як мінімум, OpenCL 1.1. FUSE використовується тільки для роботи з файловою системою, сам по собі доступ до пам'яті виконується через інтерфейс OpenCL. Операції запису виконуються асинхронно, для читання підтримується синхронний режим.

Якщо ви хочете спробувати VRAMFS самостійно, то можете скачати код на Github під ліцензією MIT .