[SPDK] Re: May NVMe-oF Target be extended into a data-switch?

Liu, Changpeng <changpeng.liu at intel.com> Thu, 23 Sep 2021 04:29:47 +0000
Newsgroups dev.linux.lists.spdk
Message-ID <BN6PR11MB2020EF39255D429A0AB13A49EEA39@BN6PR11MB2020.namprd11.prod.outlook.com>
I didn't get what you are describing here. 

Maybe you can list one scenario or issue you met with,  your framework is too big to include vhost,vfio-user etc. Actually
They are targeting for difference usage scenarios.


> -----Original Message-----
> From: 330416470(a)qq.com <330416470(a)qq.com>
> Sent: Thursday, September 23, 2021 11:39 AM
> To: spdk(a)lists.01.org
> Subject: [SPDK] May NVMe-oF Target be extended into a data-switch?
> 
> This is an idea during development, may it be feasible?
> 
> In NVMe-oF Target framework, data is received from RDMA or tcp channel, then
> written into NVMe SSD. NVMe-oF Target  transport layer is closed and can not be
> accessed by other modules.
> So it is not ok for strorage cluster,  and data must be copied from source
> transport to destination transport when transmitting data from mater to slave
> nodes.
> To solve this, transport layer's data pool will be expose and shared between
> RDMA and NVMe channels, which makes whole framework  confused.
> To be more comprehensive and acceptable, maybe NVMe-oF Target  can be
> extended to a data switch, in witch  receiving data from one channel and
> transmitting to one or multi channels without copying.
> The switch can support many interface, such as tcp buffer, RDMA queue, Nvme
> channel, Vhost vring, and also host memory buffer. Each datapath can have
> single input and one or multiple outputs, that is decided by APP service.
> NVMe-oF Target is only one application scene for data switch. This software data
> switch is suitable for storage cluster and vfio-user, vhost-user.
> The difficulty is memory must be registered into all modules, such as RNIC and
> PCIe, and the memory should be shared among multiple modules. There are a lot
> of work to be done.
> _______________________________________________
> SPDK mailing list -- spdk(a)lists.01.org
> To unsubscribe send an email to spdk-leave(a)lists.01.org