关于Filecoin集群的探索,由来已久、从未停歇。
如果把Filecoin挖矿比作建造高楼大厦,那么,集群就像打地基,地基的架构、材料质量、施工方案等都影响着这栋房子能盖多高、多宽、最多可承载多少人,能否在台风、暴雨、地震等自然以及人为因素侵扰之际依旧岿然不动、屹立不倒。
如果说Filecoin是区块链的底层基础设施,那么,集群架构就是Filecoin的底层基础设施。接下来,我们从集群发展的三个阶段来谈谈Filecoin集群的优化方向。
分布式与集群
什么是集群?
集群(cluster)是指在多台不同的服务器中部署相同应用或服务模块,简单来说,集群指的是将几台服务器集中在一起,实现同一业务。
集群一般是指物理集中、统一管理的,从形态上来说,集群只是一个物理形态,但并不是一个工作方式,从工作方式来说,集群也分为单机结构集群、集群结构集群以及分布式结构集群。
单机结构组成的集群
这里说的单机结构并不是单台矿机,而是指由一台一台矿机组成的集群,之所以称为单机结构,是因为这种集群没有做具体的功能细分,一台矿机几乎包含了所有的功能。
以Filecoin挖矿为例, 假设Filecoin挖矿有六大流程(P1、P2、C1、C2、Lotus、miner),单机结构组成的集群是指这六大流程都放在一台矿机上,这一台台矿机同时也组成了一个集群,但是每一台矿机都是独立的个体,其中的系统交互性比较低。
单机结构组成的集群相对来说比较粗线条,所有的流程都呈现在一个矿机上,这将降低处理效率,降低各功能模块之间的可组合性,就Filecoin挖矿而言,这可能会增加生成有效算力的时间周期。
集群结构组成的集群
集群结构组成的集群也是由一台台矿机组成,和单机结构所组成的集群的主要区别在于,集群结构中的单台矿机并非一次性承担了所有的流程,而是专注于单个流程, 因此,集群结构组成的集群的细分度和颗粒度比单机结构所组成的集群更高 。
以Filecoin挖矿为例,P1、P2、C1、C2等每个流程都有多台矿机共同提供, 因此,集群的处理能力和效率能够得到成倍数的提升,能够降低系统之间的耦合度,提升管理的效率和集群的效能。
相比于单机结构,当公司业务规模扩大时,集群结构能够更快、更加具有针对性的增加相对应的设备,以满足业务需求。
分布式集群
集群架构组成的集群走的是“精致化”的路线,将功能全部分开,有助于在最大程度上提高效率,但是也存在一定程度上的资源浪费。
我们都知道,Filecoin挖矿并不是所有的流程都是完全独立的,其中的许多流程甚至是互相交互的,例如P1和P2 的工作和数据封装有关,C1和C2 的工作和zkSNARK有关,那么,就可以将这些相关的流程放在一起,在保证最大效率化的同时,提高矿机利用率,提高服务的复用性,并且降低成本。
虽然说,每种集群都有各自的优点,都对应不同的场景。但总得来说,分布式集群相对于单机集群而言,有着降本增效的作用,相对于集群架构组成的集群而言,能够减少资源浪费,提高服务的复用性。
事实上,时代日新月异,集群的架构也是在不断地发展进步的,分布式与集群分久必合合久必分,一个真正优秀的集群管理者和构建者,必然能够选取最符合公司现状的集群模式,然后在根据业务情况进行个性化部署。
Filecoin集群架构优化方向
结合上文所说的知识,一起来思考下面的两个问题,进而对Filecoin集群的优化方向有更深的理解。
Filecoin基于IPFS协议将云存储构建了一个去中心化的存储交易市场,主要包括‘’存储”和“检索”两个市场,目前,矿工们获得区块奖励主要是在存储市场挖矿为主。
Filecoin挖矿的四个阶段(软件方面)
Filecoin挖矿(矿工获得区块奖励)一般要经历“P1、P2、C1、C2”这四个阶段:
P1阶段主要是将文件打碎、分片,并计算原始数据的merkle树,这一阶段主要耗费的是CPU,大概耗时4小时;
P2阶段需要生成Replica,计算Column Hash, 这一阶段对gas的需求比较大,这一阶段主要是GPU在工作,大概耗时二十分钟;
C1阶段是不上链的,并且大概只需要耗费几秒钟;
C2阶段主要是零知识证明的电路处理以及生成零知识证明的过程,大概耗时四十分钟。
P1要4个小时,这个是必不可少的,这就不难解释为什么在Filecoin第一阶段测试、第二阶段测试以及太空竞赛开跑时,矿工节点最快的出线时间也是在四个小时之后,即用户一般中午才能看到数据。
问题一:“矿商如何 才能在最短的时间内封装最多的数据?”
例如,P1要4个小时,那是跑完了P1再跑P2、C1、C2,还是考虑进行1个P1和3个P2的组合进行跑,到底要怎么样组合才能让自己的有效算力封装速度最快?
Filecoin矿机的组成(硬件搭配)
一个计算机集群,是指集成的硬件和软件紧密连接、分层架构、彼此协调,共同完成某项任务。因此,我们不仅要思考关于软件组合的问题,我们还要思考关于硬件搭配以及软件和硬件如何搭配的问题。
我们都知道, Filecoin矿机的硬件部分主要是由Worker、Miner和Storage这三部分组成的。Worker负责写入数据,需要的是高性能的AMD处理器; Miner负责发送和接收数据,其主要工作是Post ,也就是说需要用到显卡和GPU; Storage负责存储数据,相当于给数据安家,这时候需要用到高品质的硬盘等。
问题二: “我们该如何搭配各个组件,才能做到既可以独立开发、独立部署、独立排查,又能做到互相搭配、降低耦合度、让系统更利于扩展和灵活变通,从而让集群性能发挥到最大”?
看到这里,相信聪明的你已经明白了,问题一主要是从Filecoin挖矿原理方面着手,进行的是软件方面的优化,其主要目的是在最短时间内封装最多的有效数据;问题二主要是从Filecoin硬件配置入手,其主要目的是合理搭配Filecoin矿机的各个组件,做到资源不浪费、流程不繁杂、提升硬件管理的“颗粒度”,从而提升效能。
一个真正优秀的集群管理者和架构者,不仅要做到单方面的最优解,还要能平衡软件和硬件之间的矛盾,让集群以最低的单位成本,最快的速度,封存最多的数据。
毕竟,在Filecoin网络里,单位时间内封存的数据越多,有效存力的增长速度越快,有效算力就越多,进而拿到的区块奖励也就越多。
声明:此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网站所提供的信息,只供参考之用。