一种基于云计算的蒙特卡洛仿真加速方法及系统的制作方法_2

文档序号:9579117阅读:来源:国知局
括:在所述步骤c中,所述配置云端所有虚拟服务器上的Hadoop运行在全分布模式具体包括:分别选择一个虚拟服务器作为Master和Secondary NameNode,其余虚拟服务器作为Worker ;在本地计算机或云端任一虚拟服务器上,利用SSH通讯协议,依次依据虚拟服务器类型更改Hadoop配置文件,并将它们传输至相应的虚拟服务器上,替换原位置的配置文件;在Master虚拟服务器上进行Hadoop初始化操作,使Hadoop运行在完全分布模式,形成Hadoop集群。
[0030]本发明实施例采取的技术方案还包括:在所述步骤d中,所述运行云端MapReduce进行蒙特卡洛仿真的分布式计算具体为:运行Hadoop Streaming作业程序,MapReduce自动将map程序和reduce程序运行在不同的Worker虚拟服务器上,形成Map任务和Reduce任务;在18口任务中,map程序实现蒙特卡洛仿真任务的读取、仿真计算、中间结果输出;在Reduce任务中,reduce程序实现之间结果的读取、结果的合并及输出;通过Hadoop提供的监控页面对集群运行状态进行监控。
[0031]本发明实施例采取的技术方案还包括:所述步骤d还包括:仿真计算结束后,将云端仿真结果下载至本地计算机。
[0032]本发明实施例采取的另一技术方案为:一种基于云计算的蒙特卡洛仿真加速系统,包括模式配置模块、函数编写模块、文本制作模块、集群配置模块、数据传输模块和仿真计算模块;
[0033]所述模式配置模块用于在本地计算机上安装Hadoop和蒙特卡洛软件,配置Hadoop运行在伪分布模式下;
[0034]所述函数编写模块用于在本地计算机上编写用于蒙特卡洛仿真的MapReduce程序;
[0035]所述文本制作模块用于在本地计算机上制作仿真输入文本;
[0036]所述镜像制作模块用于在云端制作安装有Hadoop和蒙特卡洛软件的机器镜像,并利用制作的机器镜像实例化一定数量的虚拟服务器;
[0037]所述集群配置模块用于配置云端所有虚拟服务器上的Hadoop运行在全分布模式,形成Hadoop集群;
[0038]所述数据传输模块用于将本地计算机的MapReduce程序和仿真输入文本上传至虚拟服务器;
[0039]所述仿真计算模块用于在云端Hadoop集群上运行MapReduce,进行蒙特卡洛仿真的分布式计算。
[0040]本发明实施例采取的技术方案还包括:还包括函数调试模块,所述函数调试模块用于在本地计算机上运行Hadoop Streaming,调试MapReduce程序和验证仿真输入文本。
[0041]本发明实施例采取的技术方案还包括:还包括数据下载模块,所述数据下载模块用于在仿真计算结束后,将云端仿真结果下载至本地计算机。
[0042]本发明实施例的基于云计算的蒙特卡洛仿真加速方法及系统利用云平台提供的虚拟服务器搭建Hadoop集群,依托MapReduce框架实现分布式计算,用户只需要在自定义的map、reduce函数中实现对Monte Carlo程序的调用、中间结果处理等过程,在Hadoop集群中运行即可实现基于分布式计算框架MapReduce的Monte Carlo仿真加速。本发明是在云端实现的计算,可以灵活选择虚拟服务器的数量和配置,按时收费的方式保证成本可控,且在每个可接入网络的地方均可使用。
【附图说明】
[0043]图1是本发明实施例的基于云计算的蒙特卡洛仿真加速方法的流程图;
[0044]图2是本发明实施例的在本地计算机上编写MapReduce程序的方法的流程图;
[0045]图3是本发明实施例的在本地计算机上制作仿真输入文本的方法的流程图;
[0046]图4是云计算服务形式示意图;
[0047]图5是本发明实施例的基于云计算的蒙特卡洛仿真加速系统的结构示意图。
【具体实施方式】
[0048]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0049]请参阅图1,是本发明实施例的基于云计算的蒙特卡洛仿真加速方法的流程图。本发明实施例的基于云计算的蒙特卡洛仿真加速方法包括以下步骤:
[0050]步骤100:在本地计算机上安装Hadoop和蒙特卡洛软件,配置Hadoop运行在伪分布模式下;
[0051]在步骤100中,Hadoop是一个由Apache基金会开发的分布式计算架构,是一种开源软件。用户可以在不了解分布式底层细节的情况下,利用Hadoop开发分布式程序,充分利用集群的威力进行高速运算和存储。Hadoop的核心包括HDFS (Hadoop DistributedFile System, Hadoop分布式文件系统)和MapReduce框架,HDFS为海量数据提供存储,MapReduce框架为海量数据提供计算。
[0052]Hadoop包括三种运行模式:
[0053](1)单机模式(Standalone Mode)
[0054]单机模式是Hadoop的默认模式,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce框架的应用逻辑。
[0055](2)伪分布模式(Pseudo-Distributed Mode)
[0056]伪分布模式是Hadoop运行在“单节点集群”上,其中所有的守护进程都运行在同一台机器上,HDFS也是在本地文件系统内建立。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况、HDFS输入输出、以及其他的守护进程交互。在该模式下调试好的程序可以不加修改地运行在全分布模式下。
[0057](3)全分布模式(Fully Distributed Mode)
[0058]Hadoop守护进程运行在一个集群上,实现真正的分布式计算和储存。其中守护进程运行在不同的机器上,HDFS也是在不同的机器上建立。集群中的机器有三种角色,master机器负责任务的调度,Secondary NameNode机器负责对master机器上关键数据的备份,而worker机器承担数据处理任务。
[0059]步骤200:在本地计算机上编写用于蒙特卡洛仿真的MapReduce程序;
[0060]为了清楚说明步骤200,请一并参阅图2,是本发明实施例的在本地计算机上编写MapReduce程序的方法的流程图。本发明实施例的在本地计算机上编写MapReduce程序的方法包括以下步骤:
[0061]步骤201:编写map程序,程序依次包括从标准输入(stdin)读取仿真计算任务、调用蒙特卡洛程序进行仿真计算、将计算结果以键值对(Key-Value-Pair, KVP)的形式写入标准输出(stdout);
[0062]步骤202:编写reduce程序,程序依次包括从stdin读取具有相同键(Key)的仿真计算结果、将计算结果进行合并、将合并的结果以KVP的形式写入stdout ;
[0063]步骤203:编写Hadoop Streaming作业程序,程序包括map和reduce程序的输入输出流(stream)格式、Map和Reduce任务(task)数、输入文本名称、输出路径、mapper和reducer文件名、上传文件路径等。
[0064]步骤300:在本地计算机上制作仿真输入文本;
[0065]为了清楚说明步骤300,请一并参阅图3,是本发明实施例的在本地计算机上制作仿真输入文本的方法的流程图。本发明实施例的在本地计算机上制作仿真输入文本的方法包括以下步骤:
[0066]步骤301:如果蒙特卡洛软件的输入是随机数,就生成实际仿真所需随机数;如果输入是程序文件,就生成实际仿真所需程序文件;
[0067]步骤302:根据要进行并行计算的规模(线程数),对随机数进行分组或对程序文件进行分解,每组随机数或每个子程序文件对应一个并行仿真;
[006
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1