Filecoin的存储单元称为扇区。对传统硬盘结构理解的小伙伴,对这个术语应该比较亲切,传统硬盘的最小存储单元就叫Sector。为了证明Sector的存储,Filecoin进行了一系列的处理,传说中的P1/P2/C1/C2。在处理过程中,一个Sector的计算会生成若干文件,最终会生成replica。相关文件是如何组织的?Cache都是由哪些文件组成,分别是多大?本文就从存储的角度看看这些过程和逻辑。
Filecoin的存储管理的逻辑主要实现在sector-storage项目中。在深入理解Sector存储逻辑之前,先讲讲Worker和Manager。
01?相关术语
Worker-处理P1/P2/C1/C2的服务,Worker又分为两种:localworker和remoteworker。localworker处理本地服务处理,remoteworker支持远程服务处理
FIL突破7美元:金色财经报道,行情显示,FIL突破7美元,现报7.02美元,日内涨幅达到29.52%,行情波动较大,请做好风险控制。[2023/2/17 12:13:42]
Manager-管理多个Worker
Scheduler-调度器,调度多个Worker,一个Manager通常有一个Scheduler
Store-Sector存储系统
02?Sector存储
Sector处理相关的文件存储在Store中。Store通过sectorstore.json进行配置:
CanSeal表明Store可以用来Seal,CanStore表面Store可以持久存储Seal的结果(replica)。Weight是权重,在多个Store选择时使用。ID是Store的UUID编号。
欧易OKEx旗下Block Dream Fund 启动1000万美元Filecoin 生态基金:据官方消息显示,欧易OKEx旗下Block Dream Fund 宣布与Filecoin Network 达成合作,并将推出1000万美元生态基金支持 Filecoin 生态项目。 Block Dream Fund将从经验、全球资源、平台项目扶持等方面为Filecoin Slingshot、Filecoin Launchpad Accelerator 和 Filecoin Frontier Accelerator等主要项目进行帮助。
Block Dream Fund是数字资产交易平台欧易OKEx旗下专注于发掘优质区块链项目的基金,首期规模1亿美金,专注于投资区块链底层基础设施、Layer2、DeFi、波卡生态、数据分析及工具类、隐私保护等方向。[2021/4/9 20:02:04]
一个Store中存在三种存储,分别对应三种目录:unsealed(未封存的文件),cache,sealed。
FIL突破88美元关口:火币全球站数据显示,FIL短线上涨,突破88美元关口,现报88.0059美元,日内跌幅达到5.12%,行情波动较大,请做好风险控制。[2021/3/25 19:15:47]
03?Worker&Store
sector-storage项目的README中的这张图很好的解释了sectorstorage的各个模块以及相互的关系:
整幅图分为上下两个部分:上部分是Manager,下部分是RemoteWorker。Manager中包括一个LocalWorker。stores.Index是所有Sector存储的索引。Scheduler,上部分的中间,管理所有的Worker,并且调度Sector相关的存储。
workermanagementAPIs通过/rpc/v0的jsonRPC接口实现remoteworker的管理。通过/remote的HTTPAPI实现存储的Fetch操作,简单的说,传输文件。specs-storage.Prover/Sealer/Storage是Manager暴露出来的接口,实现Sector的证明,封存和存储。
火币矿池FIL锁仓空投已发放 空投收益约31.3%:据火币矿池消息,平台已发放《FIL锁仓获双币奖励,空投收益再升级》活动的FIL锁仓空投,空投年度收益约31.3%。
据悉,此活动每周二给锁仓用户发放FIL空投,已锁仓用户可直接享受升级后的收益。[2020/11/11 12:17:32]
每个连接到Manager的Worker会和Manager同步它的内存/CPU以及显存的信息。Scheduler在接受到新的请求时,会针对请求(Task)的类型以及资源的需求,从当前Worker中挑选最合适的Worker进行请求的处理。如何选择Worker,感兴趣的小伙伴,可以查看selector的相关逻辑。
从存储的角度,重新整理一下,这些关系:
以一个Manager连接两个Worker为例。Worker只能Seal,但是不能Store。为了更清楚展示Worker之间的数据传输,第一个Worker只做Precommit1,第二个Worker做Precommit2和Commit。
石榴矿池公布1TB内存Filecoin矿机 实现单扇区50分钟封装:6月23日,石榴矿池官方公众号表示,通过其研发的3个不同版本的优化软件,分别测试了在1TB内存机器上可以取得的极致速度。初步的测试结果非常理想,在1TB的机器上,取得12个sector以上的并行,并且P1、P2、C2相比官方软件都有非常大的效率提升。考虑到并行度,石榴矿池在1TB 内存机器可以上实现 50分钟一个Sector的速度。[2020/6/23]
04?SealTask
理解SealTask,最好对照了Sector的状态管理一起看。对Sector状态管理还不熟悉的小伙伴,可以查看之前的文章:
Filecoin-Sector状态管理逻辑
接下来,看看每个SealTask对应的存储数据的变化。
AddPiece
如果其中左边的Worker接收到任务,AddPiece任务会在unsealed目录中创建原始数据。
PreCommit1
PreCommit1阶段,简称P1,针对SDR算法,计算若干层数据。如果Sector是32G,需要计算11层。对SDR算法不熟悉的小伙伴,可以看看之前的文章:
经过PreCommit1,生成的数据存储在Cache中:
PreCommit2
PreCommit2的阶段,简称P2,生成Replica,计算ColumnHash,并生成Merkle树(tree_d,tree_c,tree_r_last)。因为P2,不在同一个Worker处理,在进行处理之前,需要先传输给合适的Worker,处理的结果同样存储在Cache中:
Commit和Finalize
在Commit生成证明后,进入Finalize状态,Finalize可以理解成“归档”。因为在Worker上没有Store能力,删除不需要持久化的数据,需要持久化存储的数据,将传输回Manager。
05?数据存储量
以32G的Sector为例,在处理过程中需要存储的数据如下:
原始数据-32G
原始数据Merkle-32G
P1layer-32*11G
P2-ColumnHash?&tree_c-32*2G
P2-Replica&tree_r_last-32G9.2M*8
总共:512G多一点。
06?持久化数据
Sector经过P1/P2/C1/C2处理后,也就是说,经过PoREP处理后,需要持久化存储Replica的数据和tree_r_last的数据。tree_r_last的数据需要存储的原因是PoSt要用到。特别注意的是,tree_r_last的数据并不是完整的Merkle树数据,删除了其中一些层的数据。
32G的Sector,对应的tree_r_last分成了8棵子树,每棵子树是8叉树,默认存储的时候,忽略了最低的两层。也就是,去除最低两层的存储量为:
所以每棵子树的存储数据为4G*0.00223=9.13M。
也就是说,Sector持久化存储比例在1.0022左右。
总结:
Filecoin存储管理的逻辑主要在sector-storage中。Sector的处理任务,可以通过多个Worker完成。每个Worker的存储目录结构一致,Sector数据可以在多个Worker之间通过Http服务传输。Sector处理过程中,最大的存储需求量在512G左右。持久化存储比例为1.0022。
标签:TORWORORKECTTORPEDODvision NetworkBulk NetworkElectrinity
插针是8月2号,今天已经是5号了,早就想发表下观点,但是忙着忙着就忙忘了,看着熟悉的走势和套路,却没有了以前实时的更新激情,只能在场内提醒下跟随过来的兄弟姐妹.
1900/1/1 0:00:00亲爱的Pool-X用户,Pool-X平台将联合Chromia项目方于2020年8月06日20:00:00开启第四轮CHR锁仓挖矿活动,本次上线锁仓产品为“CHR-21D”.
1900/1/1 0:00:00币圈牛市来啦!短短一个月,比特币从9200,一路飙升最高至12000;以太坊也从220,突破400,所有主流币连带其他平台轮番上涨,比特币更是频频出圈多次登上微博热搜.
1900/1/1 0:00:00金色财经区块链8月6日讯?全球最大的数字货币资产管理商灰度投资宣布旗下以太坊信托向美国证券交易委员会公开提交了Form10注册申请,拟申请注册为获得申报公司地位的数字货币投资工具.
1900/1/1 0:00:00在Eth2研究团队和Consensys、DeepWorkStudio一起努力工作几个月之后,我们满怀喜悦发布Eth2验证者快速启动器.
1900/1/1 0:00:00尊敬的BITUAN用户:根据Bituan币团平台币“季度回购”的规则,目前已经完成2020年第三季度BT的回购工作,并存入用户保障基金,信息披露如下:本季度共回购BT35,012,866枚.
1900/1/1 0:00:00