BOINC(算力地球)区块链项目白皮书.pdf

返回 相似 举报
BOINC(算力地球)区块链项目白皮书.pdf_第1页
第1页 / 共30页
BOINC(算力地球)区块链项目白皮书.pdf_第2页
第2页 / 共30页
BOINC(算力地球)区块链项目白皮书.pdf_第3页
第3页 / 共30页
BOINC(算力地球)区块链项目白皮书.pdf_第4页
第4页 / 共30页
BOINC(算力地球)区块链项目白皮书.pdf_第5页
第5页 / 共30页
点击查看更多>>
资源描述:
. \ 算力地球白皮书 BOINC Planet WhitepaperBOINC Foundation 2019.7序 章 1961 年,加加林代表人类首次进入太空。 1969 年,阿波罗 11 号首次实现了载人登月。 出生在上世纪中期的孩子一定会对未来的世界充满期待,相信在不远的将来能有机会进入太空。哪怕 70 后、 80 后,读阿西莫夫、看星球大战长大的一代人,一样憧憬着几十年后的人类社会,出现大规模空间站、星际旅行、火星移民。 然而,身处 21 世纪的我们回望过去的百年,人类在飞行器、空间站、燃料技术领域的突破极其有限,与之相对,是我们在微处理器、互联网、移动互联网领域的高速迭代与持续探索。 无论你接受与否,人类文明正不可逆地朝向探索虚拟世界而非物理世界的边界迈进。我们追求头号玩家胜过星际穿越、追求更快更爽胜过更高更强、追求虚拟现实与二次元胜过星际移民与航天飞船。 信息的数字化进程催生了互联网革命,货币的数字化演进诞生了比特币浪潮,碳基文明向硅基文明的迈进,其本质是万物数字化的过程。人类文明在下一个百年最大的矛盾,是日益增长的数据处理需求与有限算力之间的矛盾。为了解决这一矛盾,我们需要从无序的环境中抽取有序的算力来对抗整个世界的熵增。 “算力地球 ”正由此应运而生。 031. BOINC 背景1.1 BOINC 简介 BOINC( Berkeley Open Infrastructure for Network Computing,伯克利开放式网络计算平台)是当前最大的网格计算平台,是由加州大学伯克利分校计算机系于 null2002 年开发上线的大型分布式计算系统。 BOINC 最早是为了支持科研项目SETIhome1而开发,后来又逐渐应用于包括数学、医学、天文学、气象学等其它领域的顶尖科研项目。 BOINC 旨在将全球各地大量个人电脑及智能设备的闲置算力提供给运行计算密集型应用的研究者,优化计算资源配置效率的同时推动人类科学的进步。 BOINC 的志愿计算网络在发展至今的null 17 年间形成了一个庞大且活跃的算力网络。截止至 null2019 年 null 3null 月, BOINC 在全世界有超过null 400 万的注册用户,每天约60null万台活跃的计算机以及约null 30 PFLOPS2 的显卡实时运算能力,该算力相当于世界排名第五的超级计算机。 3 BOINC 同时也是分布式计算领域最被人熟知的开源项目之一。自null 2002 年至今, BOINC 形成了以开发者为核心,以科研项目为节点,辐射全球各个地区及团队的多层次社区架构,其治理遵循集体共识。BOIN C 的代码库在null github 上开源,由 nullBOINC 创始人 nullDavid Anderson 与社区贡献者共同维护。 BOINC 社区聚集了世界各地的 nullIT 行 业从业者、开源系统贡献者与科研爱好者,在分布式计算领域拥有广泛的认可度及影响力。 今天,有接近 null40 个横跨数学、医学、天文学、气象学等领域的世界顶尖科研项目部署在 BOINC 上,包括 SETIhome(搜 null寻外星文明发出的无线电信号), nullEinsteinhome(寻找引力波存在的证据)等等项目。作为一个链接全球海量设备的“超级计算机”, BOINC 为人类尖端科学问题的突破做出了巨大贡献。 1 SETIhome 是一项利用全球联网的计算机共同搜寻地外文明( SETI)的科学实验计划,由美国著名高等学府加州大学伯克利分校创立,中心平台设立在伯克利空间科学实验室( Space Sciences Laboratory, SSL) 。志愿者可以通过运行一个免费程序下载并分析从射电望远镜传来的数据来加入null SETIhome。 2 巨型计算机的计算速度单位, 1PetaFLOPS 代表每秒千万亿次浮点运算 3 数据来源 https// 041.2 BOINC 技术概 述 BOINC 是一个标准化的计算平台,它为分布式计算的志愿者提供了一个统一的客户端程序。在志愿者加入 BOINC 平台上的计算项目后,客户端程序将自动下载新的任务单元,并调用相应项目的计算程序进行计算;如果参加了多个项目,它将自动在各个项目间按用户的设定来调配计算资源;在计算完成时,它将自动将计算结果上传,并同时取得新的计算单元。 4 BOINC 旨在以不影响志愿者电脑或智能终端使用体验的前提下,在后台进行任务计算。用户可以设置以最低的进程优先级运行计算任务,并对这些计算任务的总内存占用进行一定的限定。在移动设备上, BOINC 仅在设备插入并充满电时才运行作业,并且仅通过 WiFi 进行通信。 Y o u r De v i c e s P r o j e c t S e r v e r s1 . G e t I n s t ru c t i o n s2 . D o w n l o a d a p p l i c a t i o n s a n d i n p u t f i l e s4 . U p l o a d o u t p u t f i l e s5 . R e p o rt re s u l t s3 . C o mp u t i n g o n d e vi c e s o f vo l u n t e e rs图 1 BOINC 网络示意图 BOINC 包括下图所示的多个组件,这些组件通过基于 HTTP 协议的 RPC 接口进行相互间的数据通信。其中阴影方块代表的组件为 BOINC 软件发布的组成部分;而非阴影方块代表的组件由 第三方 项目自行 开发。 4 David P. Anderson. 5th IEEE/ACM International Workshop on Grid Computing. BOINC A System for Public-Resource Computing and Storage. November 8, 2004, Pittsburgh, USA. 05图 null 2 BOINC 架构的组成元素及其null RPC 接 口 5 如图所示, BOINC 的组件分为客户端和服务端两大部分。当志愿者进行计算项目与偏好配置后, BOINC 客户端会周期性地向相关项目服务器发起远程过程调用 RPC请求新的工作任务并汇报已完成的工作任务。当客户端接收到新任务,它会从项目服务器下载完成任务所需的计算程序和相关输入文件,开始在本地执行计算程序,并输出结果文件并上传至项目服务器。最后,服务端将对计算结果进行相关校验,如果校验成功则派发相应的计算积分Credit 到客户端所关联的项目账户。 1.3 支持项目 全球志愿者贡献的巨大算力加上 null BOINC 网络十几年的稳定运行,让生命科学、地球科学、天文学、数理化等诸多领域需要大量算力支撑的研究项目纷纷加入BOINC 网络,其中便诞生了包括null SETIhome,EinsteinHome, Rosettahome在内的众多知名项目 。 6 项目名称 发起方 当前算力 Teraflops 项目简介 Rosettahome 华盛顿大学 142 Rosettahome 进行蛋白质的三维构造研究,并可能最终发现治愈人类几大疾病的特效药。通过运行 Rosettahome,您可以帮助我们加速并拓宽研究思路 , 从而设计出新的蛋白质以抗击艾滋病、疟疾、癌症以及阿尔茨海默氏症(老年痴呆症)。 SETIhome 加州大学伯克利分校 987 SETI home(搜索地外智能)的研究领域是探测地球之外的智慧生命。探测的途径之一,也被称之为射电 SETI, 是 使用射电望远镜来监听太空中的窄波射电信号。 由于 依照人类目前的认识,这些信号不会自然产生,因此可以作为将其地外技术文明存在的证据。 World Community Grid IBM 695 World Community Grid 通过建立世界上最大的志愿计算网络来推进一些人类目前迫切想解决的、非赢利性的科5 Anderson, David P. “BOINC A Plat for Volunteer Computing.“ arXiv preprint arXiv1903.01699 2019. 6 完整项目列表请参考 null https//boinc.berkeley.edu/projects.php06学研究,包括艾滋、癌症、登革热以及一些被忽视的疾病, 以及 太阳能、清洁能源 等等。 WUProHome 独立 1 WUPropHome 是非密集型计算项目(即其计算过程不占用 CPU 时间),运行过程会收集用户计算机参与 BOINC 各个项目的任务的数据,包括任务的限期、内存占用量、计算需要消耗的时间、存盘点时间间隔、上传及下载的数据流量、操作系统版本 等, 并对收集的数据进行统计,供任何人查阅。 EinsteinHome 威斯康星大学密尔沃基分校 2371 EinsteinHome 利用 您 计算机的空闲时间来寻找旋转中子星(通常称为脉冲星) 微弱的天体物理信号。 其 所使用的数据来自激光干涉引力波天文台引力波探测器、阿雷西沃射电望远镜以及费米伽马射线卫星 MilkyWayhome 伦斯勒理工大学 845 MilkeywayHome 使用 Sloan 数字巡天的数据来对银河系进行高精度的三维建模。 ClimatePrediction.Net 牛津大学 69 ClimatePrediction 研究最新的气候模型中的近似处理。通过将模型运行数千次, ClimatePrediction 希望能研究模型对近似处理的反应,同时还要保证模型不能脱离于实际。这能够帮助我们加深对模型的理解,包括对二氧化碳、硫循环等的敏感程度 等等 。更进一步,这能够帮助我们了解下一个世纪的气候变化趋势 。 yoyohome 独立 30 Yoyohome 项目将包括 ECM、 Muon、Evolutionhome 和 在内的一些传统志愿计算项目移植到了 BOINC 平台。 LHChome 欧洲核子研究中心 60 大型强子对撞机( LHC)是 CERN(欧洲核子研究组织)的一个粒子加速器装置,也是世界上最大的粒子物理实验室。它是人类现有的用于研究基本粒子特性的最强大的实验装置。 LHChome 的作用主要是对加速器进行模拟,并帮助改进 LHC 及其探测器的设计 Asteroidshome 布拉格查理大学 231 Asteroidshome 项目的目的是要获得对小行星总体情况 ,如 形状和自旋信息。我们使用任何可用的小行星光度作为输入的数据 ,计算 结果 则 是带自转轴及自转周期的小行星凸面形状模型。 图 3 BOINC 前十大流 行 科学计算项目 数据来源 时间为null 2019/6/17 072. 算力地球2.1 背景 自 null 2002 年诞生至今, BOINC 一直是分布式计算领域的标杆。它将来自于志愿者个人设备的涓涓算力汇聚,构筑起诸多领域科学研究的基石。但随着超算、云计算、边缘计算等现代技术的不断涌现, BOINC 也渐渐迈入了一个发展的瓶颈期,遇到了如下几个问题 2.1.1 应用场景有限 BOINC 所做的网格计算只契合于数据和计算量大、验证容易、成果颗粒度小的计算任务。这可以满足科学和技术领域计算的专业需要,但也限制了null BOINC 的应用场景,如大型科学工程计算,数值模拟等。目前null BOINC 对于大数据与云计算时代细分场景中的多元化计算需求支持有限。 2.1.2 分 布 区域失衡 由于 BOINC 的媒体 曝 光及社区分布在地域 上的不平衡,BOINC 上的项目分布也呈现出明显的区域不平衡的态势绝大部分科研项目来自美国及欧洲,而只有很少一部分来自世界其他地区。算力分布也是如此,BOINC 网络每日活跃主机约 null 70 万,但是 主 机分布主要集中于欧美 地区,而在计算资源更加丰富、需求更加旺盛的亚洲地区却发展缓慢。触及群体的有限及地域分布不均影响了 BOINC 网络规模与算 力价值的进一步增长。 7 2.1.3 缺乏激励机制 目前, BOINC 用积分(credit )衡量计算机的贡献度。用户在完成每一项科研任务时都可以为自己的账户累计积分,并可以公开查询积分排行榜。然而,现有积分由于缺乏交换价值,在激活 null BOINC 平台用户增长,激励用户贡献算力上面临巨大的挑战。 7 根据 null WCG 对 null BOINC 用户一项问卷调查,近三分之一的 null BOINC 用户来自美国,近三分之一来自欧洲,来自世界其他国家与地区的用户占比较低。 Link https//boinc.berkeley.edu/trac/raw-attachment/wiki/WorkShop13/BOINC20Workshop20201320-20World20Community20Grid20-20 User20Study.ppt 08另外, BOINC 上不同项目之间的账户是彼此独立的,用户在为多个科研项目提供算力时需要重复生成账户,操作体验十分不便。当前各个项目的积分计算规则也各有不同,这导致 BOINC 现有的积分体系对于公平地衡量用户的算力贡献有失公允。积分体系不统一,且积分只有象征意义没有交换价值导致BOINC 的新用户群增长较为缓慢,老用户也或多或少存在流失,随之带来的是整个网络用户及算力规模的止步不前。 8 2.2 概览 在过去 null 10 年间云计算的浪潮风起云涌,企业基础设施从本地向云端迁移。计算多样化的时代,数据的爆炸愈演愈烈,人工智能、虚拟现实等技术的突飞猛进对高性能计算的需求陡然剧增,由 CPU 和 GPU 构成的异构加速计算体系,成为整个计算领域的必然趋势。 基于 null BOINC 在过去 null 17 年的技术和生态积累,算力地球旨在将分布式计算的用户和网络规模扩展到新的水平,同时探索分布式算力的商业应用。通过引入代币经济机制及区块链、 Serverless 计算等新兴技术,算力地球致力于打造下一代分布式云计算的基础设施,优化计算资源分配的同时助力科学与社会进步。 2.3 技术特色 2.3.1 软 件 界面 优 化 BOINC 开发之初基于跨平台考虑,选择了开源的null GUI 框架 null wxWidgets。相比其他流行的跨平台 null GUI 框架如null QT, wxWidgets 有着诸多的优点 开放,对于各类第三方库的良好兼容 支持各平台的 “Native GUI“ 有庞大的库,运行效果极为显著8 不同项目积分体系的差别请 参考 https// 对各类现有工具的支持 偏 MFC,对于 Windows 平台 MFC 程序的跨平台迁移,具有天然优势 XRC 提供了代码和设计分离的便利,程序员专注整体开发, UI 设计群体则提供运行期界面、多语言版本支持功能等时至今日该框架依然有大量的用户使用,然而 wxWidgets 毕竟是二十年前的产物,使用它开发的 GUI 界面已 经显得有些老旧过时。 算力地球将 使用 基于现代Web 技术的跨平台桌面应用 GUI 框架 Electron 开发全新的客户端, 优化现有BOINC 客户端相对复杂的操作逻辑。 更加友好的软件界面与符合当下互联网用户的使用习惯将为分布式计算 带来新生代的支持者。 图 4 BOINC 客户端操作界面 2.3.2 客户端 P2P 网络构建 目前,BOINC 基于 Client-Server 模型,对于每个项目来说都必须拥有一个中央服务器。所有的 Client 都主动向 Server 发起计算任务的请求, Client 与 Client 之间没有任何的通信。中央服务器负责所有的 Client 计算任务的调度与相关的数据传输。这往往会给大型项目的服务器带来极大的带宽压力。 10而 P2P 技术则可以使得 Client 端带宽为项目所用,既可以实现大规模数据集的有效分发,同时也 可以 降低 构建 BOINC 项目服务器所需的带宽门槛,从而降低项目的运营成本。在 算力地球 的数据分发网络中引入 P2P 通讯将对 BOINC 项目,尤其是那些用户量与计算应用较大,数据输入文件很大但在多个计算任务中可以同时使用的项目带来帮助。 图 5 Server Network Output for 25 nodes and 30 MB file 图片来源 Extension of BOINC middleware to a Peer-to-Peer Architecture9 2.3.3 算力地球区块链  价值算力证明共识机制 PoVC( Proof of Valuable Computing)比特币的意义在于人类第一次在互不信任的去中心网络中 实现了 共识与价值 转移。然而 , 达成比特币网络共识却是以计算机亿万次无效的运算及背后能源的浪费作为代价的。今天,比特币矿工为了维持比特币网络上的近 50Eh/s 的算力需要每年花费近 30 亿美元的电费。这些算力本可以被用于治疗癌症 的 DNA 模型或者 E.T 的无线电研究 但相反,他们只是被消耗在了没有实际意义的散列运算上。 9 Gyula Farkas ; Ioan Cosmin Szanto ; Valentin Gora ; Piroska Haller. Extending the BOINC architecture using peer-to-peer application code exchange. 2011 RoEduNet International Conference 10th Edition Networking in Education and Research. 11如果说比特币作为一种金融创新奠定了区块链技术的基石,算力地球的愿景则是利用区块链技术赋能人类科学进步的漫漫征程。通过采用价值算力证明PoVC( Proof of Valuable Computing)的共识机制, 算力地球 致力于将计算资源引导至具有实际意义的应用场景,实现算力的社会价值。 价值算力证明 PoVC( Proof of Valuable Computing) 类似于 PoS 权益证明。节点通过在网络上抵押的权益来竞争生成区块的权利并获得代币奖励。但与 PoS机制将代币作为抵押品 不同, PoVC 机制下节点 抵押 算力地球网络上 的算力贡献以获得代币奖励。 在目前的 BOINC 积分系统中,会对志愿者个人、志愿者的主机和志愿者参与的团队进行积分统计。积分的构成有总积分和日平均积分。 10 总积分 总积分是志愿者帐户中所有计算机的积分总和,它反映 了 志愿者对 BOINC 的历史积累贡献。BOINC 平台由于存在多个项目,既计算 单个项目的总积分,还统计了基于志愿者帐户的 BOINC 平台所有项目加总的 积分 总和。 近期平均积分 RAC 与总积分不同,近期平均积分 Recent Average Credit( RAC)可以反映出志愿者每天的平均贡献量。每次节点有效完成项目分发的计算任务并获得积分时,RAC 都会重新进行计算,其计算方法如下 RACnew RACold*dt 1-dt*creditnewdt e-ln2*t / 604800 其中 dt是衰减函数, t 是从上一次 RAC 更新到本次 RAC 更新之间的以秒计的时间间隔(常量 604800 指一周的总秒数)。 从上述方法可以看出,时间越久,历史积分在新 RAC 计算过程中的权重就越小。因此通过 RAC 可以反映出计算节点的最近时段的贡献程度。简言之,总积分类似汽车的里程表,而 RAC 类似汽车的速度表。 10 可参考 https//en.wikipedia.org/wiki/BOINC_Credit_System 12PoVC 共识会 以 RAC 为基础,通过算法来选举 算力地球区块链 中下一区块的出块人,保证近期持续 贡献算力的节点才能有较高的概率拥有出块权利并获得相应的代币奖励。 PoVC 基于 RAC 而不是 代币 抵押来获取网络共识的方式解决了几个主要的问题 避免了网络初期因 代币 分布不均造成的资源集中化 避免了只靠持有 代币 而完全不贡献算力的方式去竞争区块的生成 避免了只靠历史积分贡献而不是持续为网络贡献算力造成的竞争优势积累算力贡献是 BOINC 网络运行的基石。算力地球 鼓励任何 有助于 分布式计算 网络扩展的算力支持 ,并以实现平台发展 红利 在算力生态系统中的公平分配为发展目标。通过价值算力共识, 算力地球 把暴力堆砌算力挖矿的无效计算行为变为对科研行业有推动力的有效计算行为,为最大化实现算力资源的价值提供了可能性。价值算力证明 PoVC 的共识机制能够在避免资源浪费的情况下实现高效的能源利用效率与区块链账本的安全。  COP 代币COP 是 算力地球区块链的原生加密货币。当前 COP 在 算力地球网络中的主要功能为 算力 商品化的基本单位, COP 代币将作为价值算力流通的计价单位以及Serverless 计算等商业计算服务的 支付手段 COP 代币为 终端用户的算力贡献提供可流通、可交易的经济激励 COP 代币可以被 用于支付 算力地球区块链网络内的交易费用在算力地球 网络中,用户可以通过以下两个环节得到 COP 代币 节点通过完成基于实际场景的计算任务(无论是志愿科学计算还是商业计算)来获得代币奖励 节点通过维护算力地球区块链 共识(依靠 RAC 公平竞争生成合法区块)来获得记账奖励。当算力地球基于 BOINC 的 分布式 云计算服务上线后,企业客户使用 COP 代币支付 Serverless 计算,分布式 AI 训练等云计算服务时,所支付的 COP 代币将被即时销毁。 13COP 代币 在 算力地球区块链中的具体业务流程如下 志愿算力请求节点志愿算力请求节点通常为需要计算资源的科研机构。 志愿 算力请求节点基于自身计算需求,使用算力地球 软件构建项目应用并经算力地球 网络分发计算任务给算力贡献节点。在算力贡献节点完成计算任务后,算力请求节点将 对计算结果进行校验。 商业算力请求节点商业算力请求节点通常为需要计算资源及 云计算 服务的企业 或个人。商业计算任务的分发校验和积分发放过程与志愿计算类似。为了避免代币价格波动影响云计算服务定价,商业计算服务 的资源将按相应算力单位以法币定价(如 10 美分每 TFLOPS)。每当商业算力请求节点发布的 一项节点网络服务完成 时,等价于消耗算力资源(以法币计算)数量的 COP 代币将由系统自动销毁。 算力贡献节点算力贡献节点是为算力地球 提供算力的个人设备 或计算机集群。 贡献节点 可以设置不同的偏好选择 为特定的科学项目或商业项目贡献算力。算力贡献节点将接收对应项目服务器分发的计算任务并执行计算过程,任务完成后向 请求节点服务器反馈计算结果,并在结果通过服务器校验后获得 COP 代币 奖励 。 网络区块生成节点PoVC 共识决定了算力地球区块链的 区块生成节点来自于算力贡献节点 。 具备持续为网络贡献算力能力的节点将竞争参与算力地球 区块链 网络的区块生成权。目前,决定区块生成权的主要指标是经调整后的 RAC 算法。在整个网络中拥有最高调整后 RAC 数值的 节点将获得新区块的生成权,并在其提交给网络的区块经多数节点多重验证合法后获得 COP 代币 奖励。 2.3.4 可信任计算 BOINC 诞生的初衷在于 将一个异构的、高流动率的、不可信的消费者计算机池转变成一个对科学家或研究人员负责的、可预测的、可信任的工作处理系14统。 而这样一个可信任计算环境的构建需要 解决采用 CS 架构的分布式计算尤其是志愿计算网络中会遇到的诸多安全问题。这些问题既可能存在 于 服务器端也可能存在 于 客户端。 服务器端的风险 客户端的风险 计算结果和积分申报造假 项目数据被盗 数据服务器 DoS 攻击 恶意程序运行 用户信息被盗 本地资源被滥用BOINC 从设计上采用了许多措施来防范以上提到的一些问题,如 使用 单任务多机冗余计算及服务器统一结果校验 来应对客户端伪造计算结果; 使用 上传认证机制 通过项目提供的唯一鉴别码校验用户的上传文件来应对数据服务器 DoS 攻击; 使用 代码签名机制 来保证只允许在客户端允许那些能用公钥验证的被项目方用私钥签过名的可执行计算程序; 使用 基于账户或虚拟机的沙箱机制 来限 制应用程序以最小权限运行。但上述的一些措施也存在着相应 的缺点,如冗余技术浪费了大量算力,基于账户或虚拟机的沙箱机制给 志愿者 用户的使用带来了不便 等等 。 算力地球 将从软件和硬件两个 方面着手,打造 BOINC 的可信计算解决方案。 在软件 端 , 算力地球 会将 BOINC Core Client 封装在 Docker 镜像中发布。使用Docker 容器将为计算资源隐私保护带来诸多优势及便利 运行环境与主机环境资源隔离BOINC Core Client 和从项目服务器下载的计算程序将限定在容器环境中运行,其对客户端主机资源的访问或会被限制在指定的范围如指定的目录。这避免了恶意计算程序(如某人出于特定目的创建了 BOINC 项目并提供了非善意的计算程序在志愿者客户端上运行)对客户端主机环境的侵害。 可信计算执行环境15Docker 容器避免了外界对计算程序的影响,让计算程序按项目方的预期进行计算,从而防止计算结果和积分申报的伪造。 在硬件端, 算力地球 将借助可信硬件来增强可信计算执行环境的构建。当前主流的芯片厂商都纷纷推出了自己的可信执行环境,如 Intel 的 SGX、 ARM 的TrustZone 和 AMD 的 SEV。可信硬件给数据敏感型计算任务提供 数据保密 方案的同时确保了计算任务 的按期执行 , 避免了冗余计算带来的算力浪费。 A p p l i c a t i o nO p er a t i n g S y st emHa r d w a r eWi n d o w s L i n u x M ac O SS GX S E V T r u s tZ o n eD oc k e r E n vB o i n c S er v erB o i n cC o r e C l i e n tB o i n cM a n a g e r G UI B o i n c C l i e n tL O C A L R P CH T T P R P C图 6 BOINC TEE 2.3.5 Serverless 云计算 2009 年,伯克利在文献 [The Berkeley View on Cloud Computing]11对云计算进行了精确定义 按需计算的表现形式 消除云用户的前期承诺 根据需要在短期内支付使用计算资源的能力 规模经济,由于 存在 许多非常大的数据中心, 显著 降低了成本 通过资源虚拟化简化操作并提高利用率 通过多路复用来承载不同组织的工作负载,进而提高硬件利用率从 2009 年至今 , 近十年的云计算发展历程对伯克利的阐述做了最好的证明。 11 Fox, Armando, et al. “Above the clouds A berkeley view of cloud computing.“ Dept. Electrical Eng. and Comput. Sciences, University of California, Berkeley, Rep. UCB/EECS 28.13 2009 2009. 16时至 2019 年,伯克利又发布了一篇重要文献 [Cloud Programming Simplified A Berkeley View on Serverless Computing]12对 Serverless 云计算做了如下论断 Serverless 计算将会成为云时代默认的计算范式,将会取代 Serverful (传统云)计算模式,因此也意味着服务器 - 客户端模式的终结 。 Serverless computing will become the default computing paradigm of the Cloud Era, largely replacing serverful computing and thereby bringing closure to the Client-Server Era. 图 7 云计算范式演进之路 (图片来源 road to Serverless) 时至今日, Amazon AWS、 Microsoft Azure、Google Clound Functions 和阿里云等主流云计算厂商都已将 Serverless 计算作为其核心服务之一以提高其服务的易用性与用户粘性。 图 8 Serverless 历史 ( 图片来源 云栖社区 ) Serverless 的四大优势 无服务器管理开发团队无需预置或维护任何服务器。由于无需安装、维护或管理任何软12 Jonas, Eric, et al. “Cloud Programming Simplified A Berkeley View on Serverless Computing.“ arXiv preprint arXiv1902.03383 2019. 17件 的 运行 ,开发团队不用再去考虑任何的底层基础设施资源(如云主机配置、操作系统、网络带宽),也不用耗费大量精力处理服务器端项目开发过程 中的业务依赖、线程、日志、发布和使用服务、部署及维护等相关工作 。 这使得团队可以集中精力专注于应用业务逻辑的开发,优化应用的用户体现。同时 Serverless 还 可以 根据业务负载量自动水平扩展 业务处理能力 。 灵活扩展Serverless 框架提供的 横向扩展是完全自动的、有弹性的、且由服务提供者所管理。基于 Serverless 开发的 应用程序可自动扩展,或通过切换占用资源(如吞吐量、内存)的单位数(而不是切换单个服务器的单位数)来调整容量,从而实现扩展 。 按价值付费通常在云厂商购买的云主机其实际使用率远远达不到 100,用户在为长时间闲置的云主机时间付费。而对 Serverless 应用,用户只需对服务的实际运行时间付费,这大大降低 了 用户成本。随着 Serverless 架构的出现,服务提供商在提供计算能力 , 最大限度满足应用实时需求的同时 可以提高计算和存储资源的使用周转率,更为有效地利用计算资源。 自动化的高可用性Serverless 框架提供内置可用性和容错功能。应用开发者无需自行构建这些功能,因为运行此应用程序的服务在默认情况下会提供这些功能 。Serverless 应用通常基于事件驱动编程 ,其实现要求包含如下方面 事件触发器 - 用于描述触发应用逻辑 事件处理器 - 无状态和原子化的任务,能够从系统上下文中进行数据交换。 事件派发和调度 - 声明事件处理器对底层计算资源需求,由系统根据需求自动分配计算资源并调度执行基于上述目标, Serverless 平台对底层计算环境 有如下的构建要求 快速启动 - 对事件请求快速响应,能够在亚秒级完成启动 扩展性 - 按照应用需求自动在群集上弹性分配资源,无需人工干预 隔离性 - 不同应用之间不相互干扰18 鲁棒 性 - 应用逻辑 执行失败后,可以快速调度并重新执行由此可以看出,容器 Docker 技术非常适合提供满足上述条件的 Serverless 计算环境。每次系统接收到事件,动态启动容器来执行业务逻辑即可。其设计思路如下 Docker 容器作为事件处理的计算环境运行 将函数化事件处理逻辑打包成为 Docker 镜像,利用镜像仓库进行管理和分发 事件调度器配合 Docker 集群来调度事件处理执行E v en t T r i g g erE v e n t S c h e d u l e rDoc k e r C l u st e rN o d eE v e n t H a n d l e rI n C o n t a i n e rN o d eE v e n t H a n d l e rI n C o n t a i n e rN o d eE v e n t H a n d l e rI n C o n t a i n e rD o c k I m a g e R e p o si to r yE v e n t H an d l e r D e v e l o p i n gD e v O p s b as e d o n D o c k e r图 9 基于 Docker 构建 Serverless 系统 基于 BOINC 的 Serverless 计算解决方案 BOINC 适合于为颗粒度小、隐私性低的计算密集型服务提供解决方案 , 如视频解编码,3D 渲染 , 金融风险管理模型 , AI 等。相比市面上主流的云计算服务, BOINC 将有以下不可比拟的优势 拥有大量,近乎无限的 GPU 资源。 低廉的竞争价格,按需付费。 与几乎所有容器化的应用程序兼容。 真正的分布式系统。交易,资金转移,用户资料和评级通过区块链上的智能合约进行,从而实现公开可信的共识。19 与专业机器学习软件的兼容性 Ray, TensorFlow, Theano, Caffe, MLib( Spark)等 。 结合 Mars 等分布式计算框架,进一步提高任务分发与计算 效率借助容器技术,算力地球将在现有基础上搭建基于null Serverless 的服务 框架,使开发者可以实现快速和简易的应用开发而无需担心 null IT 基础设施的兼容性、后续的业务逻辑优化与服务容量扩容。 相比中心化解决方案,算力地球的 null Serverless 服务将可以达成更快的数据处理和分析能力,较低的成本和网络流量,以及更高的应用程序运行效率,使应用程序能够快速响应并高效运行。通过 null Serverless 技术,算力地球可以让云计算服务的成本相比中心化云服务降低最高 null 90,并降低云端角色发生单点故障的可能性。 13 在其他 Serverless 计算平台上的开发者可以轻松将代码切换部署在算力地球平台上,而去中心化,无需许可并整合了代币经济的算力地球生态系统则具有规模效应随着算力贡献者的增加,企业和个人用户能获取到的 Serverless 计算服务的边际成本也会逐渐降低。通过结合区块链与 Serverless 技术,算力地球提供的云计算服务将会真正实现算力资源的商品化,使得个人用户未充分利用的设备可以提供贡献。 2.4 代币经济模型 2.4.1 代 币 分配 总量 COP 代币总量固定为 null 1000 亿枚,永不增发 13 Derrick Kondo, Bahman Javadi, Paul Malecot, Franck Cappello and David Anderson. Cost-Benefit Analysis of Cloud Computing versus Desktop Grids. 18th International Heterogeneity in Computing Work
展开阅读全文

最新标签

网站客服QQ:123120571
环境100文库手机站版权所有
经营许可证编号:京ICP备16041442号-6