xNVMe
FEMU
xNVMe | FEMU | |
---|---|---|
3 | 1 | |
213 | 14 | |
3.8% | - | |
9.3 | 0.0 | |
3 days ago | almost 2 years ago | |
C | C | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
xNVMe
- Ask HN: Why are there no open source NVMe-native key value stores in 2023?
-
Anyone using io_uring?
Basically io_uring grew a lot, the latest API offers incredible tools but there are very few examples in any language (xnvme and fio), and in particular I'm struggling to understand how to do it in Rust: where should unsafe code stop? should I simply expose the io_uring api as unsafe, or should I do more work in C and present the ring when ready to rust?
-
libnvme VS xNVMe - a user suggested alternative
2 projects | 4 Mar 2022
The foundation of xNVMe is libxnvme, a user space library for working with NVMe devices. It provides a C API for memory management, that is, for allocating physical / DMA transferable memory when needed. An NVMe command interface allowing you to submit and complete NVMe commands in a synchronous as well as an asynchronous manner. Similar to libnvme, however, with a focus on I/O performance and portability. Thus, xNVMe and the libxnvme library works not just on Linux, but also on FreeBSD, Windows, and MacOS.
FEMU
-
Does QEMU support C++?
I guess I'm really not clear about how QEMU works. There's a QEMU SSD project here called FEMU which emulates a block device. If I wanted to basically have FEMU utilize a C++ compression algorithm instead of a C compression algorithm would there be anything I would have to change about QEMU itself, or can I just change it to use G++.
What are some alternatives?
libnvme - C Library for NVM Express on Linux
qemu-t8030 - iPhone 11 emulated on QEMU
VkFFT - Vulkan/CUDA/HIP/OpenCL/Level Zero/Metal Fast Fourier Transform library
OpenCSD - OpenCSD: eBPF Computational Storage Device (CSD) for Zoned Namespace (ZNS) SSDs in QEMU
openSeaChest - Cross platform utilities useful for performing various operations on SATA, SAS, NVMe, and USB storage devices.
sims - Burroughs B5500, ICL1900, SEL32, IBM 360/370, IBM 7000 and DEC PDP10 KA10/KI10/KL10/KS10, PDP6 simulators for SimH
fio - Flexible I/O Tester
ssd-gpu-dma - Build userspace NVMe drivers and storage applications with CUDA support
KVSSD - KV SSD host software including APIs and drivers
libuv - Cross-platform asynchronous I/O
rapiddisk - An Advanced Linux RAM Drive and Caching kernel modules. Dynamically allocate RAM as block devices. Use them as stand alone drives or even map them as caching nodes to slower local disk drives. Access those volumes locally or export them across an NVMe Target network. Manage it all from a web API.