探析iEx.ec云计算平台架构

image035
作者:Oleg Lodygensky
iEx.ec团队技术总监。
法国巴黎第十一大学LAL/CNRS的国家科学研究中心高级研究工程师,XtremWeb-HEP的主要开发者。

 

 

在准备EDCON大会期间,我们准备了一系列文章来介绍基于区块链分布式云计算平台iEx.ec背后的技术。第一篇文章我们通过技术视角方式从宏观来阐释iEx.ec的发展目标,本文将会介绍iEx.ec平台中间件XtremWeb-HEP的功能和用法,该中间件允许用户使用网络上的许多机器来执行分布式应用程序。

简介

CNRS-IN2P3基于INRIA开发的XtremWeb研发了XtremWeb-HEP(XWHEP)。XWHEP是一个允许部署分布式数据处理基础设施的桌面网格中间件,属于能够有效使用闲置资源的“周期窃取”(Cycle Stealing)软件。与其他网格中间件一样,XWHEP使用链接到网络的远程资源(如个人电脑、工作站、PDA、服务器等)或者是局域网内的资源池。XWHEP是允许iEx.ec分布式云计算平台参与者提供相关计算资源(如处理器、应用程序、数据等)的基础中间件。

XWHEP用Java语言编写而成,允许在不同的体系结构运行。它是Gnu Public License下的开源软件,允许轻松启用全球计算和对等分布式系统的应用程序。XWHEP允许设置和运行分布式系统。这类基础设施是以社区参与者为基础。例如,XWHEP允许高中、大学和企业为了特殊应用或者其他需求设置和运行全球结算和对等分布式系统。

XWHEP已经在欧盟资助的国际IT项目EDGeS、 EDGI,、DEGISCO下开发和使用,是国际桌面网格联盟的一部分。

特征

XWHEP主要有以下几个特征:

  • P2P通信
  • 容错
  • 安全性:身份认证(X509、Openld、OAuth、登录/密码)、授权、限制、黑名单
  • 用户管理
  • 访问权限
  • 数据管理
  • 数据驱动调度
  • 应用管理
  • 任务包
  • 冗余备份
  • 志愿共享
  • 部署策略
  • 网桥
  • 虚拟机管理

架构

如下图所示的服务器“iEx.ec——3层安全架构”展示的内容:

  • 一个或多个服务由系统管理员维护运行相关服务,如iEx.ec基础设施和以太坊区块链间的“调度程序”、“结果收集器”、“网桥”等;
  • 用户在个人电脑上安装iEx.ec用户客户端来与基础设施进行交互。客户端允许用户管理服务和使用分布式资源,如注册应用程序、提交任务、检索结果等;
  • Worker被部署在计算资源上。得益于这些Worker,部署在互联网上的机器能够加入iEx.ec网络并执行客户端任务。

10 (2)

工作流程

下面介绍的工作流程相关内容暂时不列入安全性方面的内容,主要是为了方便读者理解。安全性将会在后续的文章中详细阐述。简而言之,iEx.ec的工作原理如下:

  • XWHEP服务允许管理注册的应用程序、数据、用户等。
  • 客户端注册成功计算任务所需的应用程序、数据等实体。这些实体可以存储在iEx.ec基础设施中或者是其他任何可以由URI描述并通过网络访问的存储库中。实体大小没有要求,但是超过几百兆字节的信息可能需要比较长时间的传输。
  • 客户端准备(工作单元)包括已经注册的应用程序、可选参数、涉及到的可选文件和其他项目实体。
  • 最终,客户将准备好的任务提交给调度器。
  • Worker联系调度器以获得适合自身架构的任务。
  • 调度器向Worker发送适合的任务描述。
  • 由于任务涉及的每个项目不在任务程序的本地缓存中,Worker从ec数据存储库或者外部数据存储库中提取相关资源。
  • Worker一旦完成任务,就会通过结果收集器发送任务结果。
  • 任务结果可以通过客户端获取,或者是返回到智能合约中。
  • 客户可通过Embark、Truffle等框架为DApp开发前端。需要注意的是,该应用程序能通过iEx.ec智能合约与iEx.ec网络通信。

主控面板

iEx.ec有一个主控面板,旨在展示平台的相关内容视图。特别注意,该公共主控面板不提供任何交互功能。可以访问http://xw.iex.ec/dashboard获取相关信息,下图展示了该主控面板的一些内容:

111213

结论

本文介绍了iEx.ec的系统架构。下一篇文章会主要介绍安全性方面的内容,主要从通信安全层、身份验证、授权、访问权限、限制等角度展开。

联系方式

诚挚邀请您加入或者联系我们,与我们更多互动交流:

https://iexec-team.slack.com

https://twitter.com/iEx_ec

https://www.reddit.com/r/iexec/

资源

iEx.ec Github:https://github.com/iExecBlockchainComputing/

XtremWeb-HEP Github:https://github.com/iExecBlockchainComputing/xtremweb-hep

XWHEP资料:

https://github.com/iExecBlockchainComputing/xtremweb-hep/blob/master/doc/xwhep-intro.odt

2014CrowComputing大会上XWHEP介绍视频:https://vimeo.com/113122296