火星链 火星链
Ctrl+D收藏火星链

TER:NNS 20461提案是如何通过不增加物理设备优化IC内存系统性能

作者:

时间:1900/1/1 0:00:00

?

InternetComputer上运行的所有开放网络服务、DeFi、Dapp、NFT等泛平台都是通过Canisters组成,Canisters的自主服务和多元化可组合特性推动非凡的网络效应,基于这种特性是开发者可以在IC上重新构想任何去中心化应用。自5月IC主网上线至今已有数W个Canisters被创建托管,在这数W个Canisters中的许多Canisters组成了完整的Web3.0Dapp。

?

随着IC链上Canisters和用户的快速增长,IC子网的性能需求也在逐渐增长:最近内存密集型Canisters的增长表明IC的内存系统在重负载下存在性能瓶颈。这篇博文描述了NNS20461提案的性能是如何优化IC的内存系统内存的详细信息)。

GuillaumeBonnot作为技术顾问和开发者加入UT Lab:据官方消息,UT Lab 正式进入技术全球化,来自法国的软件架构师,高级软件工程师GuillaumeBonnot作为技术顾问和开发者加入UT Lab,共建无限可拓展TPS去中心化网络UENC Public Chain。GuillaumeBonnot曾就职于BTCC,Helios IT Services等知名区块链机构。[2021/12/16 7:44:12]

?NNS20461提案详情:https://dashboard.internetcomputer.org/proposal/20461

提案功能升级后的优化结果:

在9月14日NNS20461提案被受理之后,提案中的优化功能逐步部署到所有InternetComputer子网中,图1-3显示了升级时优化对重负载子网的影响,你可以看到以下两个主要改进;

IOST链上DeFi项目Donnie.Finance上线Dex:据官方消息,IOST链上DeFi项目Donnie Finance上线Dex功能,支持交易基于IOST、以太坊、BSC链的代币,用户能够通过Bridge功能来跨链BSC和以太坊。为了支持Donnie.finance的第一批参与者,Donnie正在提高对流动性提供者的奖励,目前再度添加DON — HUSD、IOST —DON、IOST — HUSD、BNB — HUSD四大LP池。

Donnie Finance是韩国技术团队Donnie在IOST链上开发的DeFi项目,除支持现有的DeFi存贷款业务外,还提供去中心化交易平台、资产管理、支付和信用分析等多种服务。此前DonnieFinance已向IOST用户空投DON总供应量的5%,帮助于IOST用户初步了解Donnie Finance。 DON目前已登陆MXC、BigOne、Coinone, Bitkub、IOSTDEX、xigua、waxgourd等交易平台。[2021/5/6 21:30:36]

1、增加和更稳定的区块终结:断断续续的终结率从每秒0.5个区块恢复到1个区块的预期水平。

AOFEX已上线BUNNY,现报价2811.49AQ:据官方消息,AOFEX交易所于4月16日15:00正式开放BUNNY/AQ、BUNNY/USDT交易对,开盘价为1573.27AQ,现报价2811.49AQ,累计涨幅为78.7%。

BUNNY(Pancake Bunny)是一个BSC链上的机池项目,通过BinanceSmartChain自动合成收益,执行最优收益策略。

AOFEX数字货币金融衍生品交易所,旨在为用户提供优质服务和资产安全保障。[2021/4/16 20:27:27]

2、改进消息执行时间:执行消息的平均时间提高了约3倍,最大值提高了约10倍。

?图?1.?优化推出前后的区块终结率。红线之后是优化升级后的区块终结率。

声音 | OpenNode研究策略师:比特币和言论自由、货币等全球技术同等重要:据AMBCrypto今日消息,近日,比特币支付处理器OpenNode研究策略师Nik Bhatia表示,比特币是一种储蓄技术、一种交易技术。它们都很重要。比特币与言论自由、货币、交易平台和允许全球参与的技术同等重要,甚至更重要。正是流动性让比特币与黄金相似。事实上,你可以在地球上任何地方把它换成美元或其他货币。参与比特币交易不需要一个明确的市场或场所,黄金交易也是一样。[2019/10/26]

?图2.优化推出前后的消息执行平均时间。

声音 | Susquehanna加密货币业务主管:将继续看到加密技术被金融机构采用:据bitcoinist报道,美国金融公司Susquehanna的加密货币业务主管Bart Smith昨日在CNBC的节目中表示,金融机构正在关注比特币,但还没有人真正的进场。Smith表示,如果有一家大型保险公司,加州公务员退休基金或国家养老金可以在加密世界投入一点点钱,那便是人们应当入场的标志。Smith表示他相信这项技术和这一资产类别将在某些方面改变金融服务,并认为它将永远存在。每个人都希望该行业快速发展,但Smith认为这是一场漫长的比赛,人们正在看到机会,并且“管道”已经建成了,将继续看到这一技术被机构采用。[2018/8/3]

?图3.优化推出前后的最长消息执行持续时间。

Canisters正交持久化:

Canisters可以接收和执行两种类型的消息:查询调用和更新调用,查询调用只是执行一个读取当前Canisters的状态操作而不更改该Canisters的函数的调用,并且查询调用在Wasm内存中执行的所有修改都会被丢弃。而更新调用消息允许更改Canisters的状态并保留更改,并且更新调用消息的执行会自动保留所有内存更改,并使用它们可用于后续更新消息和查询消息,这个概念被称为正交持久化。

任何正交持久化的实现都必须解决两个问题:

如何将持久内存映射到Wasm内存中;如何跟踪Wasm内存中的所有修改,以便以后可以持久保存。IC当前正交持久化的实现使用页面保护来解决这两个问题,当消息开始执行时,我们将Wasm内存的整个地址范围划分为4KiB块,称为页面。最初使用操作系统的页面保护标志将所有页面标记为不可访问,这意味着第一次内存访问会触发页面错误、暂停执行并调用我们的信号处理程序。然后信号处理程序从持久内存中获取相应的页面并将该页面标记为只读之后,对该页面的后续读取访问将会成功,无需信号处理程序的任何帮助。然而第一次写入访问将触发另一个页面错误,并允许信号处理程序记住该页面已修改,并将该页面标记为可读和可写,这意味着对该页面的所有后续访问都将成功,无需调用信号处理程序。

页面保护详情:https://www.gnu.org/software/libc/manual/html_node/Memory-Protection.html

调用信号处理程序和更改页面保护标志是昂贵的操作,读取和写入大块内存的消息会导致此类操作的风暴,从而降低整个系统的吸能。这是在目前在重负载下观察到的性能瓶颈。请注意,信号处理程序是在InternetComputer推出之前编写的,其主要优先事项正确性而不是性能。

Canisters并发查询执行:

Canisters是按照顺序一个接一个执行更新消息,相比之下,查询消息可以相互并发运行并更新消息,对并发执行的支持使得内存实现更具有挑战性,例如:一个Canisters正在H区块高度执行更新消息,同时仍然有一个长时间运行的查询消息,该查询消息更早在区块高度H-K处开始。这意味着同一个Canisters可以同时激活多个版本的内存。

这个问题的一个简单解决方案是在每个更新消息后复制整个内存,这个过程会漫长,并且会使用大量的存储空间,因此当前IC的内存实现采用不同的路线:该路线将修改的内存页面保存在名为PageDelta持久树数据结构中,该结构基于FastMergeableIntegerMaps。每隔一定时间,每N轮都会有一个检查点时间,在克隆文件以保留其先前版本后,将修改的页面提交到检查点文件,在克隆文件以保留其先前版本后,将修改的页面提交到检查点文件中,图4显示了Wasm内存是如何PageDelta和检查点文件构建的。

图?4.a)?检查点文件存储最后一个检查点的?Wasm?内存。b)?自上次检查点以来修改的页面存储在称为?PageDelta?的持久数据结构中。c)Wasm?内存是由信号处理程序通过复制检查点文件页面和修改页面来构建的。

PageDelta详情:https://en.wikipedia.org/wiki/Persistent_data_structure

优化1:内存映射检查点文件

第一个优化是将内存映射到检查点文件页,这通过在同时运行的多个消息之间共享页来减少内存使用,这种优化还通过避免读取访问时的页复制来提高性能。因为信号处理程序调用次数与之前保持一致,经过内存映射检查点优化后信号风暴问题仍然存在。

优化2:查询中的页面跟踪

查询修改所有内存页在执行后都会被丢弃,这意味着信号处理程序不必跟踪查询的修改页面,但是信号处理程序的没有实现区分更新消息和查询消息,我们为查询引入了快速路径,在第一次访问时将页面标记为可读和可写,这种简易的优化使查询速度平均提高了1.5到2倍。

优化3:分摊预取页面

最有影响力的优化背后的想法很简单:如果我们想减少页面错误的数量,那么我们需要为每个信号处理程序调用做更多的事情。新的信号处理程序不是一次获取一个页面,而是尝试推测性的获取更多页面,此处需要适当的平衡,因为预获取太多页面可能会降低仅访问少数页面的小消息性能。优化计算紧接在当前页面之前的访问页面的最大连续范围,它使用范围大小为做预取更多页面的的提示,通过这种方式,预取的成本由以前访问的页面分摊,因此优化将内存密集型消息中的页面错误数量减少了一个轻量级。

总结:最初的信号处理程序是在InternetComputer之前编写的,重点是正确性而不是性能,该区域需要针对性能进行优化也就不足为奇了,然而InternetComputer的快速增长需要比预期更早的进行优化,这些优化不仅消除了一个不需要增加物理设备的性能瓶颈,也为未来更多部署在ICDapp和增长用户做出承载准备。

?

标签:TERISTSTECANTwitter DogeFIST价格DumpBustercoinscan币知乎

币安app官网下载热门资讯
Huobi:火币发布《关于合约交易的地区存量用户清退流程的通知》

巴比特讯,10月14日,火币发布《关于合约交易的地区存量用户清退流程的通知》。通知称,为响应当地政府监管政策要求,HuobiGlobal将在保证用户资产安全的前提下完成合约交易的.

1900/1/1 0:00:00
数字货币:加纳正为即将到来的CBDC探索离线交易功能

加纳正在努力为其即将到来的央行数字货币(CBDC)开发离线功能,以促进其在加纳社会各个领域的使用.

1900/1/1 0:00:00
EFI:芝加哥期权交易所 (CBOE)将收购美国合规加密货币衍生品交易所ErisX

据路透社10月20日报道,芝加哥期权交易所全球市场周三表示,它正在收购ErisDigitalHoldings,这是一家数字资产现货和衍生品交易所,通过此次交易.

1900/1/1 0:00:00
SQUA:中国税务报:防范虚拟货币带来的税收风险

来源:中国税务报自2009年比特币面世以来,与虚拟货币相关的投资行为及经济活动迅速风靡全球,至今,全球虚拟货币总市值已经突破2万亿美元.

1900/1/1 0:00:00
ETH:花花公子集团将于10月24日推出代表其会员身份的NFT Rabbitar

据Cointelegraph消息,10月20日,《花花公子》杂志所有者PLBY集团公布了一个新的NFT项目,由11953个独特的3D动画兔子头像组成.

1900/1/1 0:00:00
DOR:区块链隐私公链Findora Beta主网上线Staking质押功能

在FindoraAnvilTestnet上进行了三个多月的对抗性和稳定性测试后,通过Findorav0.2.0的发布.

1900/1/1 0:00:00