Представлен vramfs, вариант RAM-диска, использующий видеопамять
Производительность vramfs на тестовой системе с GPU AMD R9 290 4GB (Sapphire Tri-X) достигает 2.4 GB/s для операций чтения и 2.0 GB/s для записи, что составляет примерно 1/3 от производительности классического RAM-диска. В будущем производительность vramfs планируется довести до величин, близких к пропускной способности шины PCI-e. Кроме того, планируется реализовать подобие RAID-0, позволяющее объединять в один виртуальных диск память нескольких видеокарт с интерфейсами SLI и Crossfire.
Реализация файловой системы использует механизм FUSE для создания ФС в пространстве пользователя. Для выделения видеопамяти и доступа к ней используются буферные объекты OpenCL. Для работы требуется GPU с поддержкой OpenCL 1.1 и соответствующий драйвер OpenCL. Обратной стороной использования OpenCL являются проблемы с распараллеливанием запросов - запись производится в асинхронном режиме, но операции чтения выполняются синхронно с обеспечением непротиворечивости за счёт упорядоченной обработки команд OpenCL (чтение блока не будет произведено до завершения команды записи).
В текущем виде в vramfs для большинства операций (за исключением чтения и записи) применена глобальная блокировка, которая позволяет в один момент времени только одной нити изменять ФС. Другим ограничением является минимальный размер блока в 32 Кб, так как блоки меньшего размера приведут к необходимости создания слишком большого числа буферов OpenCL (в будущем для решения данной проблемы планируется задействовать подбуферы). Наилучшая производительность достигается при размере блока в 128 Кб.
Источник: http://www.opennet.ru/opennews/art.shtml?num=41267
|
0 | Tweet | Нравится |
|