适于集群系统的并行程序集成开发系统及其应用实现方法.pdf

上传人:111****11 文档编号:995792 上传时间:2018-03-24 格式:PDF 页数:11 大小:613.86KB
返回 下载 相关 举报
摘要
申请专利号:

CN200810201551.9

申请日:

2008.10.22

公开号:

CN101727316A

公开日:

2010.06.09

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):G06F 9/44申请日:20081022授权公告日:20130102终止日期:20131022|||授权|||实质审查的生效IPC(主分类):G06F 9/44申请日:20081022|||公开

IPC分类号:

G06F9/44; H04L29/08

主分类号:

G06F9/44

申请人:

上海超级计算中心

发明人:

姚继峰; 姜恺

地址:

201203 上海市张江高科技园区郭守敬路585号

优先权:

专利代理机构:

上海信好专利代理事务所(普通合伙) 31249

代理人:

姜玉芳

PDF下载: PDF下载
内容摘要

本发明涉及一种适于集群系统的并行程序集成开发系统及其应用实现方法,在所述的并行程序集成开发系统中,通过在个人开发单机端和程序运行的集群服务器端同时建立配置编译和运行环境,由单机端完成并行程序源代码的编写和调试,并将该源代码传输至集群服务器端,根据系统配置进行远程编译和调试,生成并行程序的可执行文件。使用本发明系统和方法,使得开发的并行程序具有良好的可移植性,并且使得并行程序的开发更为简洁方便,效率得以提高。

权利要求书

1: 一种适于集群系统的分布式并行程序集成开发系统,包括通过以太网(3)连接的单机端(1)集成开发系统和集群服务器端(2)集群系统;其特征在于: 所述的单机端(1)的集成开发系统为远程开发,其包含:进行并行程序源代码编写和调试的并行程序集成开发模块(11),并行程序开发的中间模块和单机端操作系统(13); 所述的并行程序开发的中间模块包含:分别和并行程序集成开发模块(11)信号连接的通信服务模块(121)、服务配置模块(122)以及远程编译和调试运行模块(123); 所述的远程编译和调试运行模块(123)将单机端(1)集成开发产生的并行程序源代码传输到远程集群服务器端(2)的集群系统中,在单机端(1)的控制下,在远程集群系统中编译及运行; 所述的集群服务器端(2)的集群系统为远程开发代理,其包括若干对并行程序进行远程控制和运行的节点(21)以及实现各节点(21)之间信息传递的高速网络(22); 所述的节点(21)包含编译器(211)和MPI消息通信库模块(212); 所述的编译器(211)与单机端(1)集成开发系统中的并行程序集成开发模块(11)无缝集成,从该并行程序集成开发模块(11)中对并行程序源代码进行调用、编译、调试和运行处理; 所述的MPI消息通信库模块(212)为并行程序源代码的开发、编译、调试及运行进行优化。
2: 如权利要求1所述的适于集群系统的分布式并行程序集成开发系统,其特征在于,所述的单机端(1)和集群服务器端(2)之间通过标准ftp/sftp、telnet协议以及远程开发协议实现协同工作,进行数据传输。
3: 如权利要求1所述的适于集群系统的分布式并行程序集成开发系统,其特征在于,所述的通信服务模块(121)实现在并行程序开发过程中单机端(1)和集群服务器端(2)之间的远程交互。
4: 如权利要求1所述的适于集群系统的分布式并行程序集成开发系统,其特征在于,所述的服务配置模块(122)中包括和集群服务器端建立连接的配置,以及在并行程序开发过程中支持各个单机端(1)协作开发的配置。
5: 如权利要求1所述的适于集群系统的分布式并行程序集成开发系统,其特征在于,所述的并行程序开发的中间模块还包括和并行程序集成开发模块(11)信号连接的编辑器(124),其包含程序模板调用模块(1241)、MPI库函数调用模块(1242)、C库函数调用模块(1243)和Fortran库函数调用模块(1244)。
6: 如权利要求1所述的适于集群系统的分布式并行程序集成开发系统,其特征在于,所述的节点(21)还包含数学函数库模块,其包括C库函数调用模块和Fortran库函数调用模块。
7: 一种如权利要求1所述的适于集群系统的分布式并行程序集成开发系统的应用实现方法,其特征在于,包含以下步骤: 步骤1、在单机端(1)的集成开发系统和集群服务器端(2)的集群系统中均建立并配置并行程序编译和运行环境; 步骤2、在单机端(1)集成开发系统的并行程序集成开发模块(11)中进行并行程序源代码的编写和调试,获得调试通过的并行程序源代码; 步骤3、将步骤2中所得到的并行程序源代码自动传输到集群服务器端(2); 步骤4、在集群服务器端(2)的集群系统中对所述的并行程序源代码完成编译,最终基于该集群系统生成可执行的并行程序文件。
8: 如权利要求7所述的适于集群系统的分布式并行程序集成开发系统的应用实现方法,其特征在于,所述的步骤1中,单机端(1)的集成开发系统的程序编译和运行环境包含远程编译和调试运行模块(123);所述的集群服务器端(2)的集群系统中的程序编译和运行环境包含编译器(211)和MPI消息通信库模块(212)。
9: 如权利要求7所述的适于集群系统的分布式并行程序集成开发系统的应用实现方法,其特征在于,所述的步骤3具体为:单机端(1)的远程编译和调试运行模块(123)将单机端(1)集成开发产生的源代码程序传输到远程集群服务器端(2)集群系统中的编译器(211)中。
10: 如权利要求7所述的适于集群系统的分布式并行程序集成开发系统的应用实现方法,其特征在于,所述的步骤4具体包含以下步骤: 步骤4.1、在单机端(1)的控制下,利用通信服务模块(121),在远程集群系统的编译器(211)中,根据当前系统配置,对并行程序源代码完成编译及运行,并由MPI消息通信库模块(212)进行程序优化,生成可执行的并行程序文件; 步骤4.2、集群服务器端(2)将编译执行后生成的并行程序文件及时发送到单机端(2),呈现给用户;若编译出错,向单机端(2)提供错误定位信息。

说明书


适于集群系统的并行程序集成开发系统及其应用实现方法

    【技术领域】

    本发明涉及一种适于集群系统的分布式并行程序集成开发系统及其应用实现方法。

    背景技术

    集成开发环境(Integrated Development Environment,IDE)是当前软件工程师进行软件研发的主要工具和手段,它通常集成了编辑器、编译器和调试器,允许软件工程师进行程序源代码的编写、修改、编译和调试。当前市场上有多个广泛使用的集成开发环境,其中有影响力的包括微软公司的Microsoft Visual Studio.Net和开源软件Eclipse。

    各类软件可以依据执行方式分为串行程序和并行程序两类:串行程序是指软件或程序在执行过程中由单个进程或线程独自完成所有的计算工作;并行程序是指软件或程序在执行过程中由多个进程或线程协同工作完成计算工作。随着多核处理器和集群(Cluster,即多台计算机通过内部网络互联成一个整体进行计算)的广泛使用,当前并行程序在软件开发中所占比重正逐步增加。

    现有的集成开发环境主要针对单台计算机进行工作,即程序的编写、编译和调试等工作均在一台计算机进行,对集群系统下的并行程序开发缺乏良好的支持。最新的Microsoft Visual Studio.Net 2008支持并行程序的开发,但仍然采用一份编译器系统,即实际程序的编译只能在一台计算机完成,编译生成的可执行程序只能在和编译器所在的计算机相同或相近的系统中运行,不具有多平台(如Linux、Unix)等环境的可移植性。

    现有的并行程序开发方法有两种:第一种方法是在单机集成开发环境1’,如Microsoft Visual Studio中开发、调试、编译所述的并行程序,生成可执行文件(如图1所示)。但此时生成的可执行文件缺乏多平台环境下的可移植性,并行程序执行需要手工复制单机环境下生成的可执行文件到集群环境2’中,而后才可继续执行。第二种方法是在缺乏单机集成开发环境的情况下,直接在集群环境中开发并行程序,这将导致编译、调试存在一定的困难,虽然开发的程序满足一定的平台移植性,但开发过程和难度都很大。

    另外,中国专利申请“三层架构下的集成编译环境的实现方法”(公开号CN101097525)提出了一种三层架构下的集成编译环境的实现方法,其使用XML作为主文件、中间件、主机信息环境变量,利用操作系统的编译器进行编译。但这种技术主要是为了实现对后台程序的集中管理,尤其是复杂应用版本管理等,缺乏对并行程序开发和分布式集群环境的支持。

    整体而言,现有的技术和产品大多不支持面向集群环境的并行程序的开发;个别最新产品能够编译生成可运行于集群系统的并行程序,但编译工作仍在单机客户端进行,缺乏集群环境的验证,且生成的目标代码不具备跨操作系统的可移植性。

    【发明内容】

    本发明的目的在于提供一种适于集群系统的分布式并行程序集成开发系统及其应用实现方法,在所述的并行程序集成开发系统中,通过在个人开发单机端和程序运行的集群服务器端同时建立配置编译和运行环境,能够使得开发的并行程序具有良好的可移植性,并且使得并行程序的开发更为简洁方便。

    为达上述目的,本发明提供一种适于集群系统的分布式并行程序集成开发系统,其包括通过以太网连接的单机端的集成开发系统和集群服务器端的集群系统;

    所述的单机端的集成开发系统为远程开发,是整个系统的入口,响应各类请求;其包含:并行程序集成开发模块,并行程序开发的中间模块和单机端操作系统;

    所述的并行程序集成开发模块进行并行程序代码的编写和调试,获得调试通过的并行程序源代码;

    所述的并行程序开发的中间模块包含:分别和并行程序集成开发模块信号连接的通信服务模块、服务配置模块以及远程编译和调试运行模块;

    所述的远程编译和调试运行模块将单机端集成开发产生地源代码程序自动传输到远程集群服务器端的集群系统中,在单机端的控制下,在远程集群系统中完成编译及运行;

    所述的集群服务器端的集群系统为远程开发代理,包括若干节点和高速网络,所述的节点对并行程序进行远程控制和运行,该节点和节点之间的信息传递通过所述的高速网络完成;

    所述的节点为高性能服务器,包含编译器和MPI消息通信库模块;

    所述的编译器与单机端集成开发系统中的并行程序集成开发模块无缝集成,可方便地从该并行程序集成开发模块中对源代码进行调用、编译、调试和运行处理,该编译器具备并行集成开发系统的调试和分析功能;

    所述的MPI消息通信库模块为并行程序源代码的开发、编译、调试及运行进行优化。

    所述的单机端和集群服务器端之间通过标准ftp(File Transfer Protocol,文件传输协议)/sftp(Secure File Transfer Protocol,安全文件传输协议)、telnet(Internet的远程登录协议)以及远程开发协议实现协同工作,进行数据传输。

    所述的通信服务模块实现在并行程序开发过程中单机端和集群服务器端之间的远程交互;如实现本地单机端和集群服务器端建立工程的开发模式、远端编译报错信息的本地单机端定位、在本地单机端和集群服务器端制定路径文件的查找和定位、单机端和集群服务器端之间的多重远程动态连接。

    所述的服务配置模块中包括和集群服务器端建立连接的配置,以及在并行程序开发过程中支持各个单机端协作开发的配置。

    进一步,所述的并行程序开发的中间模块还包括和并行程序集成开发模块信号连接的支持若干软件语言的编辑器,其包含程序模板调用模块、MPI(Message Passing Interface,消息传递接口)库函数调用模块、C库函数调用模块、Fortran库函数调用模块以及其他常用的库函数调用模块;提供简单、易用的代码编辑环境,完成基于C/C++及Fortran语言的并行程序开发。

    所述的节点还包含数学函数库模块,包括C库函数调用模块、Fortran库函数调用模块以及其他常用的库函数调用模块,使得编译器支持C、C++、Fotran77和Fortran99的软件语言。

    本发明还提供一种适于集群系统的分布式并行程序集成开发系统的实现方法,其包括以下步骤:

    步骤1、在单机端的集成开发系统和集群服务器端的集群系统中均建立并配置并行程序编译和运行环境,使得源代码在单机端和集群服务器端具有可移植性;

    步骤2、在单机端集成开发系统的并行程序集成开发模块中进行并行程序代码的编写和调试,获得调试通过的并行程序源代码;

    步骤3、将步骤2中所得到的并行程序源代码自动传输到集群服务器端;

    步骤4、在集群服务器端的集群系统中对所述的并行程序源代码完成编译,最终基于该集群系统生成可执行的并行程序文件。

    所述的步骤1中,单机端的集成开发系统的程序编译和运行环境包含远程编译和调试运行模块;所述的集群服务器端的集群系统中的程序编译和运行环境包含编译器和MPI消息通信库模块。

    所述的步骤3具体为:单机端的远程编译和调试运行模块将单机端集成开发产生的源代码程序传输到远程集群服务器端集群系统中的编译器中。

    所述的步骤4具体包含以下步骤:

    步骤4.1、在单机端的控制下,利用通信服务模块,在远程集群系统的编译器中,根据当前系统配置,对并行程序源代码完成编译及运行,并由MPI消息通信库模块进行程序优化,生成可执行的并行程序文件;

    步骤4.2、集群服务器端将编译执行后生成的并行程序文件及时发送到单机端,呈现给用户;若编译出错,向单机端提供错误定位信息。

    本发明提供的适于集群系统的分布式并行程序集成开发系统及其应用实现方法,具有以下特点:

    1、同时在个人开发单机端和集群服务器端配置并行程序的编译环境;

    2、个人开发单机端向集群服务器端传输的不是已经编译完成的可执行文件,而是经过调试通过的并行程序源代码;

    3、在集群服务器端的集群系统中完成并行程序源代码的最终编译,基于该集群系统生成可执行的并行程序。

    本发明提供的集群系统的分布式并行程序集成开发系统及其应用实现方法,具有以下有益效果:

    1、由于并行程序源代码的编写和调试是在个人开发单机端完成的,开发者无需考虑集群系统的配置或环境,使得开发和调试更为简洁方便;

    2、由于在单机端和集群服务器端传输的是并行程序源代码,而不是可执行程序,这使得整个开发系统具有良好的可移植性,针对使用不同版本操作系统的集群服务器,通过预先配置的编译环境,即可依据单机端开发生成的源代码生成适合当前集群服务器使用的操作系统的可执行文件;

    3、通过单机端和集群服务器端之间的通信模块等的设置,可以实现源代码的自动传输和服务器端的自动编译,无需程序开发人员参与,有效提高并行程序开发的效率。

    【附图说明】

    图1为现有技术中的并行程序开发方法的原理示意图;

    图2为本发明提供的适于集群系统的分布式并行程序集成开发系统的示意图;

    图3为本发明中的集群服务器端的集群系统的硬件结构图;

    图4为本发明提供的适于集群系统的分布式并行程序集成开发系统的应用实现方法的原理示意图。

    【具体实施方式】

    以下结合图2~图4,详细说明本发明的一种较佳实施方式。

    如图2所示,为本发明提供的一种适于集群系统的分布式并行程序集成开发系统,其包括通过100M的以太网3连接的单机端(也称客户端)1的集成开发系统和集群服务器端2的集群系统;

    所述的单机端1的集成开发系统为远程开发,是整个系统的入口,响应用户的各类请求;其包含:并行程序集成开发模块11,并行程序开发的中间模块和单机端操作系统13;

    所述的并行程序集成开发模块11进行并行程序代码的编写和调试,获得调试通过的并行程序源代码;

    所述的并行程序开发的中间模块包含:分别和并行程序集成开发模块11信号连接的通信服务模块121、服务配置模块122以及远程编译和调试运行模块123;

    所述的远程编译和调试运行模块123将单机端1集成开发产生的源代码程序自动传输到远程集群服务器端2的集群系统中,在单机端1的控制下,在远程集群系统中完成编译及运行;

    所述的单机端操作系统13支持Windows/Linux操作系统;

    所述的集群服务器端2的集群系统为远程开发代理,如图3所示,其包括若干节点21和高速网络22,所述的节点21对并行程序进行远程控制和运行,各个节点21之间的信息传递通过所述的高速网络22完成,该高速网络22可以是千兆以太网(Gig-E),或者是Myrinet,或者是InfiniBand;

    本实施例中,所述的节点21为超级计算机,支持Linux操作系统,包含编译器211和MPI消息通信库模块212;

    所述的编译器211与单机端1集成开发系统中的并行程序集成开发模块11无缝集成,可方便地从该并行程序集成开发模块11中对源代码进行调用、编译、调试和运行处理,该编译器211具备并行集成开发系统的调试和分析功能;

    所述的MPI消息通信库模块212为并行程序源代码的开发、编译、调试及运行进行优化,本实施例中,采用MPI库作为MPI消息通信库模块212,其为针对曙光4000A集群系统的通信和消息库测评分析之后,经过优化配置的。

    所述的单机端1和集群服务器端2之间通过标准ftp/sftp、telnet以及远程开发协议实现协同工作,进行数据传输。

    所述的通信服务模块121实现在并行程序开发过程中单机端1和集群服务器端2之间的远程交互;如实现本地单机端1和集群服务器端2建立工程的开发模式、远端编译报错信息的本地单机端1定位、在本地单机端1和集群服务器端2制定路径文件的查找和定位、单机端1和集群服务器端2之间的多重远程动态连接。

    所述的服务配置模块122中包括和集群服务器端建立连接的配置,以及在并行程序开发过程中支持各个单机端1协作开发的配置。

    进一步,所述的并行程序开发的中间模块还包括和并行程序集成开发模块11信号连接的支持若干软件语言的编辑器124,其包含程序模板调用模块1241、MPI库函数调用模块1242、C库函数调用模块1243、Fortran库函数调用模块1244以及其他常用的库函数调用模块1245;提供简单、易用的代码编辑环境,完成基于C/C++及Fortran语言的并行程序开发。

    所述的节点21还包含数学函数库模块,包括C库函数调用模块、Fortran库函数调用模块以及其他常用的库函数调用模块,使得编译器支持C、C++、Fotran77和Fortran99的软件语言;本实施例中,该数学函数库模块包含Linux标准库213(Linux操作系统自带的编程函数库)和其他常用的库函数调用模块214。

    如图4所示,本发明还提供一种适于集群系统的分布式并行程序集成开发系统的应用实现方法,其包括以下步骤:

    步骤1、在单机端1的集成开发系统和集群服务器端2的集群系统中均建立并配置并行程序编译和运行环境,使得源代码在单机端1和集群服务器端2具有可移植性;

    步骤2、在单机端1集成开发系统的并行程序集成开发模块11中进行并行程序代码的编写和调试,获得调试通过的并行程序源代码;

    步骤3、将步骤2中所得到的并行程序源代码自动传输到集群服务器端2;

    步骤4、在集群服务器端的集群系统中对所述的并行程序源代码完成编译,最终基于该集群系统生成可执行的并行程序文件。

    所述的步骤1中,单机端1的集成开发系统的程序编译和运行环境包含远程编译和调试运行模块123;所述的集群服务器端2的集群系统中的程序编译和运行环境包含编译器211和MPI消息通信库模块212。

    所述的步骤3具体为:单机端1的远程编译和调试运行模块123将单机端1集成开发产生的源代码程序传输到远程集群服务器端2集群系统中的编译器211中。

    所述的步骤4具体包含以下步骤:

    步骤4.1、在单机端1的控制下,利用通信服务模块121,在远程集群系统的编译器211中,根据当前系统配置,对并行程序源代码完成编译及运行,并由MPI消息通信库模块212进行程序优化,生成可执行的并行程序文件;

    步骤4.2、集群服务器端2将编译执行后生成的并行程序文件及时发送到单机端2,呈现给用户;若编译出错,向单机端2提供错误定位信息。

    本发明提供的适于集群系统的分布式并行程序集成开发系统及其应用实现方法,具有以下有益效果:

    1、由于并行程序源代码的编写和调试是在个人开发单机端完成的,开发者无需考虑集群系统的配置或环境,使得开发和调试更为简洁方便;

    2、由于在单机端和集群服务器端传输的是并行程序源代码,而不是可执行程序,这使得整个开发系统具有良好的可移植性,针对使用不同版本操作系统的集群服务器,通过预先配置的编译环境,即可依据单机端开发生成的源代码生成适合当前集群服务器使用的操作系统的可执行文件;

    3、通过单机端和集群服务器端之间的通信模块等的设置,可以实现源代码的自动传输和服务器端的自动编译,无需程序开发人员参与,有效提高并行程序开发的效率。

适于集群系统的并行程序集成开发系统及其应用实现方法.pdf_第1页
第1页 / 共11页
适于集群系统的并行程序集成开发系统及其应用实现方法.pdf_第2页
第2页 / 共11页
适于集群系统的并行程序集成开发系统及其应用实现方法.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《适于集群系统的并行程序集成开发系统及其应用实现方法.pdf》由会员分享,可在线阅读,更多相关《适于集群系统的并行程序集成开发系统及其应用实现方法.pdf(11页珍藏版)》请在专利查询网上搜索。

本发明涉及一种适于集群系统的并行程序集成开发系统及其应用实现方法,在所述的并行程序集成开发系统中,通过在个人开发单机端和程序运行的集群服务器端同时建立配置编译和运行环境,由单机端完成并行程序源代码的编写和调试,并将该源代码传输至集群服务器端,根据系统配置进行远程编译和调试,生成并行程序的可执行文件。使用本发明系统和方法,使得开发的并行程序具有良好的可移植性,并且使得并行程序的开发更为简洁方便,效率。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1