论文部分内容阅读
“基于Erlang/OTP的虚拟计算平台UniAS”是一种面向企业内网络资源的虚拟计算环境,可为程序运行提供稳定的虚拟资源视图,将程序的运行环境从单机透明延伸到网络。这一多机跨节点的平台环境,对于分布式与并发有较高要求。我们采用Erlang/OTP进行开发,因为作为一种函数式语言,Erlang在大规模并发、透明分布、容错、代码热替换上具备优势,其天生的分布式与线程安全性,使得Erlang语言及其OTP框架非常适合分布式环境的并发程序设计。 在虚拟计算平台UniAS所提供的网络计算环境下,计算资源与存储资源以“按需求”、“可伸缩”的方式提供给用户,在该服务模式下,最重要的问题之一,就是如何对平台上资源的使用情况进行统计,从而决定对客户采取何种收费模式,以及如何收费。一方面,从平台提供者的角度,可以查看底层资源的负载与使用情况,从而达到按需伸缩、按量收费的目的;另一方面,从用户的角度,可以通过它查看所部署任务的工作详情记录。 对任务所使用的计算及存储资源进行统计,可以划分为两方面的需求:一方面是对单机上的资源进行统计,另一方面是对多机环境下的资源使用情况进行统计。在Erlang/OTP中,虽然有相应的BIF或应用/模块对资源使用的统计进行相关支持,但主要是针对单机单节点上的情形,而对于涉及到多机跨节点的资源统计的情形,并没有提供针对性的解决方案,本课题作为上述项目中的一个研究课题,在对ErIang/OTP中已有的对于资源统计的相关支持进行调研总结的基础上,针对虚拟计算平台UniAS上的记账功能提出设计方案与实现。 本文首先对Erlang/OTP中的资源统计相关功能进行了调研与归类总结,并通过一个具体的应用展示了实践操作,接着在对“基于Erlang/OTP的虚拟计算平台”的架构进行分析的基础上,提出了针对平台特性的记账功能的设计方案,继而给出了算法的实现细节,并辅以具体的实例对其功能有效性加以展示和分析。最后对今后的工作方向进行了讨论。