Sgt.Pepper
Sgt.Pepper
Thank you very much for your thoughts and contributions regarding the mooncake DFS file-eviction implementation. Let me also share a few of my own ideas. Besides the file-eviction mechanism you...
> leveraging an extended replica mechanism to support both memory and disk modes. 这一个能具体说一下将来的一个形态嘛?跟现在的 持久化方案冲突嘛? 目前该设计已经实现并进入main分支了,具体说来就是对replica副本做了一个类型扩展,使其同时支持memory replica和disk replica两种类型。和目前的持久化方案不冲突。
DFS 持久化操作和NVMEof是两套不同的支持,我这里描述的都是不考虑NVMEof部分 #793 的实现。如果开启了持久化功能,会在磁盘上存一个副本,内存的副本数由初始化指定的参数来决定。
> > DFS 持久化操作和NVMEof是两套不同的支持,我这里描述的都是不考虑NVMEof部分 [#793](https://github.com/kvcache-ai/Mooncake/pull/793) 的实现。如果开启了持久化功能,会在磁盘上存一个副本,内存的副本数由初始化指定的参数来决定。 > > DFS和NVMof是两套不同实现,我的理解如下:1、当前的kvcache offload在master-service上触发 2、如果是dfs,直接在master结点上执行写操作;如果是NVMEof,则需要将数据传输给对应client 完成写入其SSD的过程 请问我的理解正确吗? [@SgtPepperr](https://github.com/SgtPepperr) 目前dfs分级缓存的实现是write through的实现,而不是write back的实现,具体来说就是client在进行put时会在内存池里写一份数据,并异步在DFS再写一个备份,因此文件写操作是在client上完成的,但是内存和文件的metadata元数据信息都会保存在master service中,当内存池空间不足,master会发起evcit,将内存空间的数据释放掉,但仍会保留DFS上KVCache的元数据信息。
目前的多级缓存功能里SSD层尚未支持存储总容量的设置和文件自动回收的功能,我们会在之后的pr中提供对文件KVCache回收等功能的支持。
一般需要更大的KVCache存储空间,但是机器内存空间又不足时可以考虑开启SSD存储的功能