AIFM-sys / AIFM

AIFM: High-Performance, Application-Integrated Far Memory
MIT License
104 stars 34 forks source link

SPDK backend #14

Closed neel-patel-1 closed 1 year ago

neel-patel-1 commented 1 year ago

Hi. Very interesting work.

I am wondering how to use an NVMe-SSD based far memory as the backend as mentioned in Sec. 7: "We integrated two far memory backends into AIFM: a remote memory server based on a DPDK-based TCP stack, and an NVMe SSD using an SPDK-based storage stack." Also I am having trouble finding where the implementation for the alternative SSD-based back end is located. I am also curious if/how other far-memory backends could be integrated into AIFM. Any hints in this regard would be greatly appreciated.

Thank you so much

zainryan commented 1 year ago

Hi neelpatelbiz,

Thanks for your interest. We initially support an SPDK-based backend based on shenango's storage stack, but later drop it as it's impossible to implement the "remote agent" atop the storage-based far memory. If you're interested to the code, I'm happy to add you into my development repo and point you to the related commit.

Thanks, Zain

neel-patel-1 commented 1 year ago

I would be interested in seeing the storage-stack code. If you are able to add me to the repo, that would be great. Thanks

zainryan commented 1 year ago

Just sent the invitation. 06ac2132167132f6f50de4ee4e3d810c7a834403 is the last commit that includes SSDDevice, which is located at apps/far_mem_storage/{inc/device.hpp, src/device.cpp}.