Dalam dunia pengkomputeran, sumber yang tidak digunakan mewakili peluang yang terlepas. Falsafah ini telah membawa kepada pembangunan alat seperti vramfs, utiliti yang mengubah RAM video (VRAM) yang tidak digunakan daripada kad grafik menjadi storan fail berfungsi menggunakan perpustakaan FUSE (Filesystem in Userspace). Walaupun projek ini bukanlah sesuatu yang baharu, ia terus mencetuskan perbincangan menarik tentang penyelesaian storan alternatif dan penggunaan semula komponen perkakasan secara kreatif.
Batasan Prestasi dan Alternatif
Pelaksanaan semasa vramfs mencapai kelajuan bacaan sekitar 2.4 GB/s dan kelajuan penulisan 2.0 GB/s, yang dinyatakan oleh sesetengah ahli komuniti sebagai setanding dengan SSD NVMe moden dan bukannya jauh lebih pantas. Penanda aras ini diperoleh pada perkakasan yang agak lama (Intel Core i5-2500K dengan GPU AMD R9 290), yang membawa kepada spekulasi bahawa prestasi boleh menjadi jauh lebih baik pada sistem moden dengan PCIe 4.0/5.0 dan pelaksanaan FUSE yang lebih baharu.
Beberapa pengulas telah mencadangkan bahawa pendekatan berasaskan FUSE memperkenalkan overhed yang tidak perlu. Satu alternatif yang dicadangkan ialah menggunakan modul kernel phram, yang mencipta peranti blok yang mengelakkan FUSE sepenuhnya. Yang lain mencadangkan bahawa modul kernel Linux yang sesuai menggunakan subsistem DRM (Direct Rendering Manager) akan memberikan prestasi yang lebih baik dengan penyimpanan cache yang betul, sokongan mmap langsung, dan sistem fail yang boleh dipercayai dan serentak.
Spesifikasi Sistem Ujian (daripada penanda aras asal vramfs)
- OS: Ubuntu 14.04.01 LTS (64 bit)
- CPU: Intel Core i5-2500K @ 4.0 GHz
- RAM: 8GB DDR3-1600
- GPU: AMD R9 290 4GB (Sapphire Tri-X)
Metrik Prestasi
- Prestasi bacaan: ~2.4 GB/s
- Prestasi penulisan: ~2.0 GB/s
- Saiz blok optimum: 128KiB (untuk prestasi) atau 64KiB (untuk penggunaan ruang yang lebih rendah)
Batasan Pelaksanaan
- Kunci mutex tunggal untuk kebanyakan operasi (keselarian terhad)
- Semua pemindahan data mesti merentasi bas PCIe
- Memerlukan sokongan OpenCL 1.2
- Saiz maksimum yang disyorkan: 50% daripada VRAM yang tersedia
Cabaran Pelaksanaan
Pelaksanaan vramfs semasa menghadapi beberapa halangan teknikal. Mungkin yang paling ketara, projek ini menggunakan satu kunci mutex untuk kebanyakan operasi, bermakna hanya satu thread boleh mengubah sistem fail pada satu masa. Pilihan reka bentuk ini sangat mengehadkan keserentakan dan prestasi keseluruhan.
Cabaran lain ialah kesesakan yang wujud dalam pemindahan data CPU-ke-GPU. Memandangkan semua bacaan dan penulisan mesti melalui bas PCIe dan melalui CPU, kelajuan maksimum teori dihadkan jauh di bawah apa yang akses GPU-ke-VRAM langsung akan benarkan. Batasan ini telah menyebabkan sesetengah pihak mempersoalkan utiliti praktikal pendekatan ini berbanding dengan hanya menambah lebih banyak RAM sistem, yang telah menjadi agak berpatutan.
Menggunakan VRAM berharga untuk menyimpan fail adalah sejenis humor yang istimewa. terutamanya kerana seseorang benar-benar melaksanakannya.
Pertimbangan Praktikal dan Kes Penggunaan
Perbincangan komuniti mendedahkan beberapa kebimbangan praktikal tentang penggunaan VRAM sebagai sistem fail. Satu isu penting ialah pengurusan kuasa - menggunakan VRAM untuk storan akan menghalang GPU daripada memasuki keadaan kuasa yang lebih rendah, berpotensi meningkatkan penggunaan kuasa sistem. Walaupun sesetengah GPU boleh menghidupkan bahagian memori secara terpilih sambil mengekalkan yang lain aktif, butiran pelaksanaan berbeza-beza mengikut perkakasan.
Kebimbangan lain berkaitan dengan menggunakan VRAM untuk ruang swap. Walaupun secara teknikal boleh dilakukan, beberapa pengguna telah melaporkan pembekuan sistem apabila cuba melakukannya, kerana proses pengurusan GPU itu sendiri mungkin diswapkan keluar, membawa kepada kesilapan halaman yang tidak dapat dipulihkan. Ini menyerlahkan cabaran yang lebih luas dengan ruang swap pada mana-mana medium storan yang bergantung kepada pemacu.
Walaupun menghadapi cabaran-cabaran ini, beberapa kes penggunaan khusus memang wujud. Untuk sistem dengan RAM terhad tetapi GPU yang baik, vramfs boleh menyediakan storan berkelajuan tinggi tambahan. Terdapat juga spekulasi tentang potensi faedah prestasi untuk beban kerja tertentu yang dipercepat GPU yang boleh beroperasi secara langsung pada data yang disimpan dalam sistem fail VRAM.
Bagi kebanyakan pengguna, bagaimanapun, konsensus seolah-olah menambah lebih banyak RAM sistem mewakili penyelesaian yang lebih praktikal dan kos efektif. Seperti yang dinyatakan oleh seorang pengulas, 192GB RAM sistem berharga kira-kira 500 dolar Amerika, manakala VRAM GPU yang setara akan berharga sekitar 40,000 dolar Amerika - menjadikan pilihan yang jelas bagi mereka yang hanya mencari lebih banyak storan berkelajuan tinggi.
Walaupun vramfs mungkin tidak merevolusikan teknologi storan, ia mewakili jenis eksperimentasi kreatif yang mendorong inovasi dalam pengkomputeran. Seperti yang dikatakan oleh seorang pengulas dengan tepat, projek seperti ini mewujudkan falsafah jangan tanya mengapa, tanya mengapa tidak yang terus menolak sempadan apa yang mungkin dengan perkakasan sedia ada.
Rujukan: vramfs