CN117376407B - 一种面向工业软件上云场景的存算分离方法、系统和设备 - Google Patents
一种面向工业软件上云场景的存算分离方法、系统和设备 Download PDFInfo
- Publication number
- CN117376407B CN117376407B CN202311318513.2A CN202311318513A CN117376407B CN 117376407 B CN117376407 B CN 117376407B CN 202311318513 A CN202311318513 A CN 202311318513A CN 117376407 B CN117376407 B CN 117376407B
- Authority
- CN
- China
- Prior art keywords
- computing
- storage
- application programming
- apis
- cloud
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 67
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000000926 separation method Methods 0.000 claims abstract description 24
- 230000002452 interceptive effect Effects 0.000 claims description 46
- 238000013461 design Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 claims description 9
- 230000008878 coupling Effects 0.000 claims description 7
- 238000010168 coupling process Methods 0.000 claims description 7
- 238000005859 coupling reaction Methods 0.000 claims description 7
- 229920002153 Hydroxypropyl cellulose Polymers 0.000 description 28
- 235000010977 hydroxypropyl cellulose Nutrition 0.000 description 28
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 241001362551 Samba Species 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000013523 data management Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- VQLYBLABXAHUDN-UHFFFAOYSA-N bis(4-fluorophenyl)-methyl-(1,2,4-triazol-1-ylmethyl)silane;methyl n-(1h-benzimidazol-2-yl)carbamate Chemical compound C1=CC=C2NC(NC(=O)OC)=NC2=C1.C=1C=C(F)C=CC=1[Si](C=1C=CC(F)=CC=1)(C)CN1C=NC=N1 VQLYBLABXAHUDN-UHFFFAOYSA-N 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种面向工业软件上云场景的存算分离方法、系统和设备,属于云计算技术领域。本发明的一种面向工业软件上云场景的存算分离方法,通过超算作业调度模型,将计算应用程序编程接口API以及一个或多个存储应用程序编程接口API耦合在一起,形成能存算分离的云服务结构,从而使得分布在网络各处的数据统一组成了一个数据网,因而可以实现一次计算的数据可以由分布在网络上各处的数据组成,因此本发明可以使得基于存储服务上的超算调度具有更大的灵活性,更容易实现作业任务的多集群调度,进而本发明可以有效利用闲置算力,使算力可以像商品一样流通,方案科学、合理,切实可行。
Description
技术领域
本发明涉及一种面向工业软件上云场景的存算分离方法、系统和设备,属于云计算技术领域。
背景技术
工业软件上云是近年来云计算技术应用的一个重要领域,是一种将超级计算机(超算)技术与云计算技术相结合,提供高性能计算服务的新兴概念。目前在商业上存在超算云和云超算两种做法。
超算云通常指的是一种基于云计算技术的高性能计算云服务,主要面向科学计算、工程模拟等领域的用户,提供超级计算机级别的计算性能和资源,并提供相应的软件、开发工具和管理服务,方便用户快速构建和部署高性能计算应用。超算云的重点在于高性能计算的能力和应用场景。常见的形态为云服务厂商提供的E-高性能计算HPC产品。
云超算则强调的是超级计算机技术的应用和推广。它主要针对传统超算的使用者,以及需要高性能计算能力的中小企业和科研机构等用户,提供基于超级计算机的云服务。常见的形态为在原有超算基础上架设一层科学网关(Science Gateway)将计算机和数据资源、科学应用程序以及协作工具等集成在一起。
这两种方式均是以存算一体的方式使用超算能力,以使用单一高性能计算HPC集群为主,以此方式遇到算力瓶颈扩充集群后,经常会形成一个多地多集群的协同工作场景。
但多地多高性能计算HPC集群的问题也随之出现,各个集群算力负载不一致,如何有效地利用闲置算力成为建设了一批高性能计算HPC集群后比较大的一个问题。使算力可以像商品一样流通,如何设计适应互联网环境的算力与存储系统成为了关键。
常见的高性能计算HPC建设的存储是在高性能计算HPC内部使用分布式并行存储系统,比如Lustre,GPFS等。这种并行存储系统的特点是性能比较好,硬件常使用的InfiniBand网络作为其分布式并行的基础,同样这些存储系统的价格也比较昂贵。并且这些分布式存储只能满足在其部署的高性能计算HPC集群中访问,在多地多高性能计算HPC集群中很难做到异地的访问。常见的高性能计算HPC的计算的接口是以Slurm/PBSPro等调度器管理高性能计算HPC集群计算资源,系统用户使用调度器提供的命令行工具向高性能计算HPC集群提交/管理作业任务。同样这些调度器只能解决作业任务在本地集群资源调度的问题。
本背景技术中公开的信息仅用于理解本发明构思的背景,因此它可以包括不构成现有技术的信息。
发明内容
针对上述问题或上述问题之一,本发明的目的一在于提供一种对高性能计算HPC集群提供的计算进行处理,得到一个或多个计算应用程序编程接口API;在一个或多个计算应用程序编程接口API的外部建立一个或多个存储空间;所述存储空间设置存储应用程序编程接口API;然后通过超算作业调度模型,将计算应用程序编程接口API以及一个或多个存储应用程序编程接口API耦合在一起,形成能存算分离的云服务结构,从而使得分布在网络各处的数据统一组成了一个数据网,因而可以实现一次计算的数据可以由分布在网络上各处的数据组成,因此使得基于存储服务上的超算调度具有更大的灵活性,更容易实现作业任务的多集群调度,进而可以有效利用闲置算力,使算力可以像商品一样流通的面向工业软件上云场景的存算分离方法。
针对上述问题或上述问题之一,本发明的目的二在于提供一种能存算分离的云服务结构,从而使得分布在网络各处的数据统一组成了一个数据网,因而可以实现一次计算的数据可以由分布在网络上各处的数据组成,因此使得基于存储服务上的超算调度具有更大的灵活性,更容易实现作业任务的多集群调度,进而可以有效利用闲置算力,使算力可以像商品一样流通的面向工业软件上云场景的存算分离方法、系统和设备。
为实现上述目的之一,本发明的第一种技术方案为:
一种面向工业软件上云场景的存算分离方法,包括以下内容:
对高性能计算HPC集群提供的计算进行处理,得到能以云服务的形式对外提供访问的一个或多个计算应用程序编程接口API;
在一个或多个计算应用程序编程接口API的外部建立一个或多个存储空间;所述存储空间设置能以云服务的形式对外提供访问的存储应用程序编程接口API;
根据预先建立的超算作业调度模型,将计算应用程序编程接口API以及一个或多个存储应用程序编程接口API耦合在一起,形成能存算分离的云服务结构,从而实现面向工业软件上云场景的存算分离。
本发明经过不断探索以及试验,对高性能计算HPC集群提供的计算进行处理,得到一个或多个计算应用程序编程接口API;在一个或多个计算应用程序编程接口API的外部建立一个或多个存储空间;所述存储空间设置存储应用程序编程接口API;然后通过超算作业调度模型,将计算应用程序编程接口API以及一个或多个存储应用程序编程接口API耦合在一起,形成能存算分离的云服务结构,从而使得分布在网络各处的数据统一组成了一个数据网,因而可以实现一次计算的数据可以由分布在网络上各处的数据组成,因此本发明可以使得基于存储服务上的超算调度具有更大的灵活性,更容易实现作业任务的多集群调度,进而本发明可以有效利用闲置算力,使算力可以像商品一样流通,方案科学、合理,切实可行。
进一步,在工业软件上云场景中,本发明存算分离方法以存储作为该架构的核心,在网络带宽和性能提升的当下是以额外网络传输数据来实现更高灵活性的一种架构方式。从安全角度来说,管理审核的出入口收束到存储服务,减少数据泄露的风险,降低安全管理的成本。从数据管理来说,更高的灵活性对于简化文件、数据的同步和管控等会有比较大的帮助。并且在这种架构之上比较容易实现作业任务多集群调度,有效提高多地多集群地利用率。
再进一步,本发明将传统高性能计算HPC的并行存储系统当成临时存储,将外部永久存储和高性能计算HPC集群物理上设计成分离架构。计算时将数据从外部存储永久同步至高性能计算HPC集群临时存储。虽然在实际计算中高性能计算HPC仍需要并行存储系统。但应用本发明的方法后,会使得高性能计算HPC的并行存储不需要那么大,同时外部存储并不需要性能特别强的并行文件系统,因此可以选用价格相对便宜的存储介质,从而可以节省建设成本。
更进一步,传统超算提供VPN登录ssh,普通用户在使用时的疏忽操作会在对集群帐号/数据管理上会产生安全问题。比如某一目录被赋予过大的权限可以被其他linux用户读写。同样类似的问题会出现在很多linux的软件的操作上,这些在操作系统的操作,很难去做一个完善的安全防控或者说成本很高。本发明将存储和计算抽象成两个云服务后,数据的权限由云服务来控制,用户不需要直接ssh登录集群来操作。所有的数据安全和权限问题全都集中在云服务提供的有限的API上,对比直接ssh登录集群,这样的方案在安全性上会高很多。
作为优选技术措施:
超算作业调度模型包括批量计算服务单元、交互式计算服务单元;
所述批量计算服务单元基于超算作业调度器提交作业任务,并且结合云计算技术,耦合一个或多个计算应用程序编程接口API以及一个或多个存储应用程序编程接口API,以向使用者提供超算服务;
所述交互式计算服务单元,通过云原生CAE/CAD应用或远程应用/桌面的形式,耦合一个或多个计算应用程序编程接口API以及一个或多个存储应用程序编程接口API,以为使用者提供在线的科学/工程计算的服务。
作为优选技术措施:
批量计算服务单元,耦合一个或多个计算应用程序编程接口API以及一个或多个存储应用程序编程接口API的方法如下:
步骤11,获取作业任务;
步骤12,根据作业任务,批量计算服务单元在一个或多个计算应用程序编程接口API创建临时工作目录;
步骤13,将作业任务传输到临时工作目录中运行,并将运行过程中生成的临时文件临时保存于临时工作目录中;
步骤14,从一个或多个存储应用程序编程接口API拉取对应所述作业任务的输入数据,并通过网络将输入数据传输至临时工作目录;
步骤15,通过批量计算服务单元调度作业任务,并对输入数据进行处理,得到由临时文件组成的数据文件;
步骤16,作业任务完成后,通过网络从临时工作目录将数据文件推送至该作业任务指定的存储应用程序编程接口API。
作为优选技术措施:
作业任务至少包括作业任务所使用的软件、调用软件的命令行参数、所需要的CPU/内存、作业任务输入数据文件在存储服务的存储位置、作业任务输出数据目录在存储服务的存储位置。
作为优选技术措施:
超算作业调度模型,用于管理和调度超级计算机上提交的作业任务,其将用户提交的作业任务分配到计算节点上进行运算,并确保资源的最佳利用率;提交进入超算作业调度模型的作业任务经过调度,作业任务状态依次为排队->运行->完成。
作为优选技术措施:
交互式计算服务单元,耦合一个或多个计算应用程序编程接口API以及一个或多个存储应用程序编程接口API的方法如下:
步骤21,创建包括一次会话信息的交互式计算会话;
一次会话信息包括所使用的软件、调用软件的命令行参数、所需要的CPU/内存、需要挂载的一个或多个存储应用程序编程接口API;
步骤22,根据一次会话信息,启动一个或多个计算应用程序编程接口API;
同时挂载交互式计算会话指定的一个或多个存储应用程序编程接口API;
一个或多个存储应用程序编程接口API中的数据文件作为本次计算的输入数据;
步骤23,进入交互式作业任务,操作一个或多个计算应用程序编程接口API对本次计算的输入数据进行交互式的计算,得到本次计算的交互式输出数据;
步骤24,作业任务完成后,关闭会话,关闭一个或多个计算应用程序编程接口API,并通过一个或多个存储应用程序编程接口API保存交互式输出数据。
作为优选技术措施:
挂载方法如下:
步骤31,存储应用程序编程接口API在软件Samba服务内部创建一个临时用户,即临时挂载点;
步骤32,对所述临时用户设置只能访问指定存储的权限,并将所述临时用户信息编码成标识token;临时用户信息至少包括账号或/和密码;
步骤33,在图形节点启动后解码标识token,获取存储应用程序编程接口API的临时用户信息;
步骤34,交互式计算会话完成后在存储应用程序编程接口API中清除该标识token。
为实现上述目的之一,本发明的第二种技术方案为:
一种面向工业软件上云场景的存算分离方法,包括以下步骤:
第一步,通过预先建立的云服务接口设计模型,对高性能计算HPC集群提供的计算进行处理,得到能以云服务的形式对外提供访问的一个或多个计算应用程序编程接口API;
第二步,利用预先建立的存储设计模型,在一个或多个计算应用程序编程接口API的外部建立一个或多个存储空间;所述存储空间设置能以云服务的形式对外提供访问的存储应用程序编程接口API;
第三步,根据预先建立的超算作业调度模型,将计算应用程序编程接口API以及一个或多个存储应用程序编程接口API耦合在一起,形成能存算分离的云服务结构,从而实现面向工业软件上云场景的存算分离。
本发明经过不断探索以及试验,通过建立云服务接口设计模型、存储设计模型和超算作业调度模型,形成能存算分离的云服务结构,从而使得分布在网络各处的数据统一组成了一个数据网,因而可以实现一次计算的数据可以由分布在网络上各处的数据组成,因此本发明可以使得基于存储服务上的超算调度具有更大的灵活性,更容易实现作业任务的多集群调度,进而本发明可以有效利用闲置算力,使算力可以像商品一样流通,方案科学、合理,切实可行。
为实现上述目的之一,本发明的第三种技术方案为:
一种面向工业软件上云场景的存算分离系统,包括云服务接口设计模块、存储设计模块和超算作业调度模块:
云服务接口设计模块,用于对高性能计算HPC集群提供的计算进行处理,得到能以云服务的形式对外提供访问的一个或多个计算应用程序编程接口API;
存储设计模块,用于在一个或多个计算应用程序编程接口API的外部建立一个或多个存储空间;所述存储空间设置能以云服务的形式对外提供访问的存储应用程序编程接口API;
超算作业调度模块,用于将计算应用程序编程接口API以及一个或多个存储应用程序编程接口API耦合在一起,形成能存算分离的云服务结构,从而实现面向工业软件上云场景的存算分离。
本发明经过不断探索以及试验,通过设置云服务接口设计模块、存储设计模块和超算作业调度模块,形成能存算分离的云服务结构,从而使得分布在网络各处的数据统一组成了一个数据网,因而可以实现一次计算的数据可以由分布在网络上各处的数据组成,因此本发明可以使得基于存储服务上的超算调度具有更大的灵活性,更容易实现作业任务的多集群调度,进而本发明可以有效利用闲置算力,使算力可以像商品一样流通,方案科学、合理,切实可行。
为实现上述目的之一,本发明的第四种技术方案为:
一种电子设备,其包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的一种面向工业软件上云场景的存算分离方法。
为实现上述目的之一,本发明的第五种技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的一种面向工业软件上云场景的存算分离方法。
与现有技术方案相比,本发明具有以下有益效果:
本发明经过不断探索以及试验,对高性能计算HPC集群提供的计算进行处理,得到一个或多个计算应用程序编程接口API;在一个或多个计算应用程序编程接口API的外部建立一个或多个存储空间;所述存储空间设置存储应用程序编程接口API;然后通过超算作业调度模型,将计算应用程序编程接口API以及一个或多个存储应用程序编程接口API耦合在一起,形成能存算分离的云服务结构,从而使得分布在网络各处的数据统一组成了一个数据网,因而可以实现一次计算的数据可以由分布在网络上各处的数据组成,因此本发明可以使得基于存储服务上的超算调度具有更大的灵活性,更容易实现作业任务的多集群调度,进而本发明可以有效利用闲置算力,使算力可以像商品一样流通,方案科学、合理,切实可行。
附图说明
图1为本发明面向工业软件上云场景的存算分离方法的一种流程图:
图2为本发明批量计算服务的一种流程图;
图3为本发明交互式计算服务的一种流程图;
图4为本发明存储服务的一种流程图;
图5为本发明存算分离式架构的一种流程图;
图6为本发明交互式计算与存储服务协同工作的一种流程图;
图7为本发明存算分离形成数据网的一种示意图;
图8为本发明云平台批量计算与存储间关系的一种示意图;
图9为本发明云平台交互式计算与存储间关系的一种示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本发明。本文所使用的术语“或/和”包括一个或多个相关的所列项目的任意的和所有的组合。
如图1所示,本发明的面向工业软件上云场景的存算分离方法的第一种具体实施例:
一种面向工业软件上云场景的存算分离方法,包括以下步骤:
第一步,通过预先建立的云服务接口设计模型,对高性能计算HPC集群提供的计算进行处理,得到能以云服务的形式对外提供访问的一个或多个计算应用程序编程接口API;
第二步,利用预先建立的存储设计模型,在一个或多个计算应用程序编程接口API的外部建立一个或多个存储空间;所述存储空间设置能以云服务的形式对外提供访问的存储应用程序编程接口API;
第三步,根据预先建立的超算作业调度模型,将计算应用程序编程接口API以及一个或多个存储应用程序编程接口API耦合在一起,形成能存算分离的云服务结构,从而实现面向工业软件上云场景的存算分离。
本发明的面向工业软件上云场景的存算分离方法的第二种具体实施例:
一种面向工业软件上云场景的存算分离方法,为了有效地利用闲置算力,使算力可以像商品一样流通,提出一种存算分离的方法,本发明思路为在现有高性能计算HPC集群的外部再设计一块存储,该存储以云服务的形式对外提供访问的应用程序编程接口API,并将原高性能计算HPC集群提供的计算也改造为云服务应用程序编程接口API形式,同时配合其他云计算服务提供的功能,将传统超算改造成一种新的形式云服务。在此基础之上实现算力的调度。
在传统超级计算机使用中常见的两种使用方式是:批量作业任务,交互式作业任务。在工业软件上云场景中,本发明将这两种计算使用方式与存算分离式架构定义的存储耦合在一起,形成批量计算服务Batch-Job As a Service、交互式计算服务Interactive-Job As a Service、存储服务Storage As a Service。
如图2所示,批量计算服务基于传统超算作业调度器提交作业任务,并且结合云计算技术向用户提供Restful应用程序编程接口API,结合友好的用户界面、工作流程等,可以帮助使用者快速、高效地处理海量数据,解决大规模计算的问题。
如图3所示,交互式计算服务是通过云原生CAE/CAD应用或远程应用/桌面的形式为使用者提供在线的科学/工程计算的服务。使用者可以通过浏览器直接/间接访问远程的应用和数据,快速、便捷解决计算的问题。由于云原生CAE/CAD应用需要大量定制开发,并非所有应用通用,架构也各有不同,图示中交互式计算服务代指远程应用/桌面的方式。
批量计算服务,交互式计算服务是对数据处理的服务,要配合这两种服务还需要一种存储数据的服务。基于以上两种计算服务的需求,存储服务被设计成为一种支持多协议多租户的存储服务,可参见图4,具体来说需要满足以下两方面:
提供便于开发的对象存储接口(S3),为用户界面展示数据文件提供Restful应用程序编程接口API和文件传输应用提供支持。
提供POSIX(Portable Operating System Interface for Unix)文件系统协议,且同时也能满足Windows文件共享协议。为交互式作业任务服务提供数据存储服务。
如图5所示,结合存储服务和批量计算服务的存算分离式架构,包括以下内容:
提交作业任务。一次作业任务的信息包括作业任务所使用的软件、调用软件的命令行参数、所需要的CPU/内存、作业任务输入数据文件在存储服务的存储位置、作业任务输出数据目录在存储服务的存储位置等信息。
在计算集群创建临时工作目录。该作业任务会在该工作目录运行,运行过程中生成的临时文件也会临时保存于该工作目录。
从存储服务拉取计算数据。通过网络从该作业任务指定的输入数据的存储服务位置拉取数据文件至临时工作目录。
使用超算作业调度系统提交作业任务。超级计算机作业调度系统是管理和调度超级计算机上提交的作业任务的软件,该系统负责将用户提交的作业任务分配到计算节点上进行运算,并确保资源的最佳利用率。提交进入超算作业调度系统的作业任务经过系统调度,作业任务状态会有排队->运行->完成的一个过程。
检查调度器上作业任务是否完成;否则重复这一步骤;若是则进入下一步。
将计算结果推送至存储服务。通过网络从临时工作目录将数据文件推送至该作业任务指定的输出数据的存储服务位置。
如图6所示,交互式计算同样需要存储服务协同工作,交互式计算服务工作流程,包括以下内容:
创建交互式计算会话。一次会话信息包括所使用的软件、调用软件的命令行参数、所需要的CPU/内存,需要挂载的存储服务位置等信息。
启动软件所需的操作系统实例。按所需使用的工业软件和操作系统和硬件的配置,启动对应的虚拟机实例。
挂载会话指定的存储服务位置。在操作系统内挂载对应的存储,其中的数据文件可以作为本次计算的输入和保存本次计算的输出。
进入交互式作业任务。使用者在浏览器中操作软件进行交互式的计算。
关闭会话,关闭虚拟机实例。
如图7所示,由于存算分离式的架构使分布在网络各处的数据统一组成了一个数据网,使基于存储服务上的其他服务更大的灵活性。比如:一次计算的数据可以由分布在网络上各处的数据组成,同样在此基础上更容易实现作业任务的多集群调度。
在工业软件上云场景中,存算分离式架构以存储作为该架构的核心,在网络带宽和性能提升的当下是以额外网络传输数据来实现更高灵活性的一种架构方式。从安全角度来说,管理审核的出入口收束到存储服务,减少数据泄露的风险,降低安全管理的成本。从数据管理来说,更高的灵活性对于简化文件、数据的同步和管控等会有比较大的帮助。并且在这种架构之上比较容易实现作业任务多集群调度,有效提高多地多集群地利用率。
将传统高性能计算HPC的并行存储系统当成临时存储,将外部永久存储和高性能计算HPC集群物理上设计成分离架构。计算时将数据从外部存储永久同步至高性能计算HPC集群临时存储。虽然实际计算中高性能计算HPC仍需要并行存储系统,但这样设计,使得高性能计算HPC的并行存储不需要那么大,同时外部存储并不需要性能特别强的并行文件系统,可以选用价格相对便宜的存储介质,从而可以节省建设成本。
传统超算提供VPN登录ssh,ssh是Secure Shell或者Secure Socket Shell的缩写,其是一种命令行远程登录服务器的软件,普通用户在使用时的疏忽操作会在对集群帐号/数据管理上会产生安全问题。比如某一目录被赋予过大的权限可以被其他linux用户读写。同样类似的问题会出现在很多linux的软件的操作上,这些在操作系统的操作,很难去做一个完善的安全防控或者说成本很高。
将存储和计算抽象成两个云服务后,数据的权限由云服务来控制,用户不需要直接ssh登录集群来操作。所有的数据安全和权限问题全都集中在云服务提供的有限的API上,对比直接ssh登录集群,这样的方案在安全性上会高很多。
应用本发明的一种场景具体实施例:
某算云是一个在线CAE仿真平台以下简称云平台,其存储服务提供浏览器在线上传/下载/管理存储在云平台数据的功能,同时云平台提供批量计算和交互式计算的功能。
云平台批量计算与存储间关系如图8所示,批量计算使用存储上的数据文件进行计算,并将计算结果同步回存储服务。
云平台交互式计算与存储间关系如图9所示,交互式计算服务提供远程桌面/远程应用的服务并在提供的图形节点中挂载指定的存储服务中的目录。
挂载存储时会涉及多租户鉴权的问题,挂载流程如下:
用户通过浏览器向交互式计算服务创建会话。
交互式计算服务向存储服务创建一个临时挂载点,包含一个临时的token,使用该token可以挂载存储服务上指定存储位置数据。
交互式计算服务创建虚拟机。
虚拟机启动后使用该token挂载指定存储,并向浏览器提供远程桌面/远程应用服务
其中挂载功能由Samba协议完成,Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议。它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。创建临时挂载点由存储服务在Samba服务内部创建一个临时用户,并为该用户设置只能访问指定存储,将该临时用户信息(账号/密码)编码成token。在图形节点启动后解码token获取挂载存储的临时用户信息。本次会话完成后在存储服务中清除该token。
存储服务/批量计算服务/交互式计算服务三者配合完成一个工业软件上云的典型场景,其包括以下内容:
1.用户上传模型。
2.使用交互式计算服务对模型画网格。
3.使用批量计算服务对画网格的模型进行大规模仿真计算。
4.使用交互式计算服务对计算结果查看。
用云服务完成一个工业软件使用的典型场景,即前处理->仿真计算->后处理。仿真计算使用批量计算服务的方式提交作业任务。前后处理均可以使用交互式计算服务,使用远程桌面/应用接近本地软件操作的方式读写计算所需/所得的模型文件。
应用本发明方法的一种设备实施例:
一种电子设备,其包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的一种面向工业软件上云场景的存算分离方法。
应用本发明方法的一种计算机介质实施例:
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的一种面向工业软件上云场景的存算分离方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是根据本申请实施例的方法、设备(系统)、计算机程序产品的流程图或/和方框图来描述的。应理解可由计算机程序指令实现流程图或/和方框图中的每一流程或/和方框以及流程图或/和方框图中的流程或/和方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程或/和方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程或/和方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程或/和方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (8)
1.一种面向工业软件上云场景的存算分离方法,其特征在于:
包括以下内容:
对高性能计算HPC集群提供的计算进行处理,得到能以云服务的形式对外提供访问的一个或多个计算应用程序编程接口API;
在一个或多个计算应用程序编程接口API的外部建立一个或多个存储空间;所述存储空间设置能以云服务的形式对外提供访问的存储应用程序编程接口API;
根据预先建立的超算作业调度模型,将计算应用程序编程接口API以及一个或多个存储应用程序编程接口API耦合在一起,形成能存算分离的云服务结构,从而实现面向工业软件上云场景的存算分离;
超算作业调度模型包括批量计算服务单元和交互式计算服务单元;
所述批量计算服务单元基于超算作业调度器提交作业任务,并且结合云计算技术,耦合一个或多个计算应用程序编程接口API以及一个或多个存储应用程序编程接口API,以向使用者提供超算服务;
所述交互式计算服务单元,通过云原生CAE/CAD应用或远程应用/桌面的形式,耦合一个或多个计算应用程序编程接口API以及一个或多个存储应用程序编程接口API,以为使用者提供在线的科学/工程计算的服务;
批量计算服务单元,耦合一个或多个计算应用程序编程接口API以及一个或多个存储应用程序编程接口API的方法如下:
步骤11,获取作业任务;
步骤12,根据作业任务,批量计算服务单元在一个或多个计算应用程序编程接口API创建临时工作目录;
步骤13,将作业任务传输到临时工作目录中运行,并将运行过程中生成的临时文件临时保存于临时工作目录中;
步骤14,从一个或多个存储应用程序编程接口API拉取对应所述作业任务的输入数据,并通过网络将输入数据传输至临时工作目录;
步骤15,通过批量计算服务单元调度作业任务,并对输入数据进行处理,得到由临时文件组成的数据文件;
步骤16,作业任务完成后,通过网络从临时工作目录将数据文件推送至该作业任务指定的存储应用程序编程接口API。
2.如权利要求1所述的一种面向工业软件上云场景的存算分离方法,其特征在于:
作业任务至少包括作业任务所使用的软件、调用软件的命令行参数、所需要的CPU/内存、作业任务输入数据文件在存储服务的存储位置和作业任务输出数据目录在存储服务的存储位置。
3.如权利要求1所述的一种面向工业软件上云场景的存算分离方法,其特征在于:
超算作业调度模型,用于管理和调度超级计算机上提交的作业任务,其将用户提交的作业任务分配到计算节点上进行运算,并确保资源的最佳利用率;提交进入超算作业调度模型的作业任务经过调度,作业任务状态依次为排队->运行->完成。
4.如权利要求1所述的一种面向工业软件上云场景的存算分离方法,其特征在于:
交互式计算服务单元,耦合一个或多个计算应用程序编程接口API以及一个或多个存储应用程序编程接口API的方法如下:
步骤21,创建包括一次会话信息的交互式计算会话;
一次会话信息包括所使用的软件、调用软件的命令行参数、所需要的CPU/内存和需要挂载的一个或多个存储应用程序编程接口API;
步骤22,根据一次会话信息,启动一个或多个计算应用程序编程接口API;
同时挂载交互式计算会话指定的一个或多个存储应用程序编程接口API;
一个或多个存储应用程序编程接口API中的数据文件作为本次计算的输入数据;
步骤23,进入交互式作业任务,操作一个或多个计算应用程序编程接口API对本次计算的输入数据进行交互式的计算,得到本次计算的交互式输出数据;
步骤24,作业任务完成后,关闭会话,关闭一个或多个计算应用程序编程接口API,并通过一个或多个存储应用程序编程接口API保存交互式输出数据。
5.如权利要求4所述的一种面向工业软件上云场景的存算分离方法,其特征在于:
挂载方法如下:
步骤31,存储应用程序编程接口API在软件Samba服务内部创建一个临时用户,即临时挂载点;
步骤32,对所述临时用户设置只能访问指定存储的权限,并将所述临时用户信息编码成标识token;临时用户信息至少包括账号或/和密码;
步骤33,在图形节点启动后解码标识token,获取存储应用程序编程接口API的临时用户信息;
步骤34,交互式计算会话完成后在存储应用程序编程接口API中清除该标识token。
6.一种面向工业软件上云场景的存算分离方法,其特征在于:
包括以下步骤:
第一步,通过预先建立的云服务接口设计模型,对高性能计算HPC集群提供的计算进行处理,得到能以云服务的形式对外提供访问的一个或多个计算应用程序编程接口API;
第二步,利用预先建立的存储设计模型,在一个或多个计算应用程序编程接口API的外部建立一个或多个存储空间;所述存储空间设置能以云服务的形式对外提供访问的存储应用程序编程接口API;
第三步,根据预先建立的超算作业调度模型,将计算应用程序编程接口API以及一个或多个存储应用程序编程接口API耦合在一起,形成能存算分离的云服务结构,从而实现面向工业软件上云场景的存算分离;
超算作业调度模型包括批量计算服务单元和交互式计算服务单元;
所述批量计算服务单元基于超算作业调度器提交作业任务,并且结合云计算技术,耦合一个或多个计算应用程序编程接口API以及一个或多个存储应用程序编程接口API,以向使用者提供超算服务;
所述交互式计算服务单元,通过云原生CAE/CAD应用或远程应用/桌面的形式,耦合一个或多个计算应用程序编程接口API以及一个或多个存储应用程序编程接口API,以为使用者提供在线的科学/工程计算的服务;
批量计算服务单元,耦合一个或多个计算应用程序编程接口API以及一个或多个存储应用程序编程接口API的方法如下:
步骤11,获取作业任务;
步骤12,根据作业任务,批量计算服务单元在一个或多个计算应用程序编程接口API创建临时工作目录;
步骤13,将作业任务传输到临时工作目录中运行,并将运行过程中生成的临时文件临时保存于临时工作目录中;
步骤14,从一个或多个存储应用程序编程接口API拉取对应所述作业任务的输入数据,并通过网络将输入数据传输至临时工作目录;
步骤15,通过批量计算服务单元调度作业任务,并对输入数据进行处理,得到由临时文件组成的数据文件;
步骤16,作业任务完成后,通过网络从临时工作目录将数据文件推送至该作业任务指定的存储应用程序编程接口API。
7.一种面向工业软件上云场景的存算分离系统,其特征在于:
应用如权利要求1-6任一所述的一种面向工业软件上云场景的存算分离方法,其包括云服务接口设计模块、存储设计模块和超算作业调度模块:
云服务接口设计模块,用于对高性能计算HPC集群提供的计算进行处理,得到能以云服务的形式对外提供访问的一个或多个计算应用程序编程接口API;
存储设计模块,用于在一个或多个计算应用程序编程接口API的外部建立一个或多个存储空间;所述存储空间设置能以云服务的形式对外提供访问的存储应用程序编程接口API;
超算作业调度模块,用于将计算应用程序编程接口API以及一个或多个存储应用程序编程接口API耦合在一起,形成能存算分离的云服务结构,从而实现面向工业软件上云场景的存算分离。
8.一种电子设备,其特征在于:
其包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-6任一所述的一种面向工业软件上云场景的存算分离方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311318513.2A CN117376407B (zh) | 2023-10-11 | 2023-10-11 | 一种面向工业软件上云场景的存算分离方法、系统和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311318513.2A CN117376407B (zh) | 2023-10-11 | 2023-10-11 | 一种面向工业软件上云场景的存算分离方法、系统和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117376407A CN117376407A (zh) | 2024-01-09 |
CN117376407B true CN117376407B (zh) | 2024-05-03 |
Family
ID=89399718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311318513.2A Active CN117376407B (zh) | 2023-10-11 | 2023-10-11 | 一种面向工业软件上云场景的存算分离方法、系统和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117376407B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107480237A (zh) * | 2017-08-08 | 2017-12-15 | 中南大学 | 面向异构桌面云平台的数据融合方法及系统 |
CN107943555A (zh) * | 2017-10-17 | 2018-04-20 | 华南理工大学 | 一种云计算环境下的大数据存储和处理平台及处理方法 |
CN112948178A (zh) * | 2021-02-24 | 2021-06-11 | 北京金山云网络技术有限公司 | 一种数据处理方法、装置、系统、设备及介质 |
US11171950B1 (en) * | 2018-03-21 | 2021-11-09 | Pure Storage, Inc. | Secure cloud-based storage system management |
CN115168061A (zh) * | 2022-09-09 | 2022-10-11 | 北京镜舟科技有限公司 | 一种计算存储分离方法、系统、电子设备及存储介质 |
CN116303276A (zh) * | 2023-01-17 | 2023-06-23 | 上海通联金融服务有限公司 | 一种springbatch嵌套脚本实现文件导出的方法 |
US11693713B1 (en) * | 2019-09-04 | 2023-07-04 | Pure Storage, Inc. | Self-tuning clusters for resilient microservices |
CN116841728A (zh) * | 2023-05-22 | 2023-10-03 | 北京百度网讯科技有限公司 | 集群资源调度方法、装置、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230108560A1 (en) * | 2021-10-04 | 2023-04-06 | Changfeng C Wang | Methods and Systems for Representation, Composition and Execution of Artificial Intelligence Centric Applications |
-
2023
- 2023-10-11 CN CN202311318513.2A patent/CN117376407B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107480237A (zh) * | 2017-08-08 | 2017-12-15 | 中南大学 | 面向异构桌面云平台的数据融合方法及系统 |
CN107943555A (zh) * | 2017-10-17 | 2018-04-20 | 华南理工大学 | 一种云计算环境下的大数据存储和处理平台及处理方法 |
US11171950B1 (en) * | 2018-03-21 | 2021-11-09 | Pure Storage, Inc. | Secure cloud-based storage system management |
US11693713B1 (en) * | 2019-09-04 | 2023-07-04 | Pure Storage, Inc. | Self-tuning clusters for resilient microservices |
CN112948178A (zh) * | 2021-02-24 | 2021-06-11 | 北京金山云网络技术有限公司 | 一种数据处理方法、装置、系统、设备及介质 |
CN115168061A (zh) * | 2022-09-09 | 2022-10-11 | 北京镜舟科技有限公司 | 一种计算存储分离方法、系统、电子设备及存储介质 |
CN116303276A (zh) * | 2023-01-17 | 2023-06-23 | 上海通联金融服务有限公司 | 一种springbatch嵌套脚本实现文件导出的方法 |
CN116841728A (zh) * | 2023-05-22 | 2023-10-03 | 北京百度网讯科技有限公司 | 集群资源调度方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117376407A (zh) | 2024-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Analysis and research of cloud computing system instance | |
US8914469B2 (en) | Negotiating agreements within a cloud computing environment | |
CN108491164B (zh) | 一种混合云存储架构系统 | |
US9459897B2 (en) | System and method for providing data analysis service in cloud environment | |
Wei et al. | Aneka cloud application platform and its integration with windows azure | |
JP7185727B2 (ja) | データ管理方法、装置、計算機器、記憶媒体およびクラウドプラットフォーム | |
US10572421B2 (en) | Topology-aware parallel reduction in an accelerator | |
Zhang et al. | Improving data transfer performance of web service workflows in the cloud environment | |
Cunsolo et al. | Applying software engineering principles for designing cloud@ home | |
US8812578B2 (en) | Establishing future start times for jobs to be executed in a multi-cluster environment | |
US20190215363A1 (en) | Dynamic pool-based tiering for synchronization storage | |
CN108696559B (zh) | 流处理方法及装置 | |
CN117376407B (zh) | 一种面向工业软件上云场景的存算分离方法、系统和设备 | |
Gundu et al. | The Dynamic Computational Model and the New Era of Cloud Computation Using Microsoft Azure | |
Zheng | An introduction to Tsinghua cloud | |
CN104660710A (zh) | 一种虚拟桌面实现方法、系统及相应的服务器 | |
CN109445966A (zh) | 事件处理方法、装置、介质和计算设备 | |
Barisits et al. | The Data Ocean Project-An ATLAS and Google R&D collaboration | |
Liu et al. | Using Grid computing architecture in computing resource allocating of IC design | |
WO2013070152A2 (en) | Dynamic dataflow network | |
Hsiao et al. | Cloud Computing, Internet of Things (IoT), Edge Computing, and Big Data Infrastructure | |
Garraghan et al. | Using Byzantine Fault-Tolerance to Improve Dependability in Federated Cloud Computing. | |
Pendyala et al. | Cloud as a computer | |
Barisits et al. | The Data Ocean Project | |
Morgan | Comparative Analysis of Cloud and Grid Computing Paradigms. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |