CN105279029A - 一种基于作业计算资源的局部存储动态分配方法 - Google Patents
一种基于作业计算资源的局部存储动态分配方法 Download PDFInfo
- Publication number
- CN105279029A CN105279029A CN201510827194.7A CN201510827194A CN105279029A CN 105279029 A CN105279029 A CN 105279029A CN 201510827194 A CN201510827194 A CN 201510827194A CN 105279029 A CN105279029 A CN 105279029A
- Authority
- CN
- China
- Prior art keywords
- local
- service
- service node
- directory
- node
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于作业计算资源的局部存储动态分配方法,包括:用户提交作业,使用参数指明需要使用的局部资源;作业管理器将挂载局部请求的作业名称的相应唯一标识以及相应进程的进程排列号传递给局部管理器;局部管理器根据唯一标识通过哈希算法得到提供局部服务的第一个IO服务节点编号;依据第一个IO服务节点编号,每个进程排列号都依次加上该编号;使每个进程对应的计算节点挂载上对应服务的IO服务节点的局部数据输出服务;检查对应的每个进程排列号,确定是否在该挂载目录下存在每个进程的排列号目录;将每个计算节点下的局部目录下的排列号目录绑定到一个固定目录,使得每个进程对应的计算节点上的固定目录是仅自己可见的局部目录;进行作业的执行。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种基于作业计算资源的局部存储动态分配方法。
背景技术
高性能计算(HPC:HighPerformanceComputing)应用于的科学领域越来越宽泛,高性能计算系统中的文件输入输出(IO)的需求呈多样化特征,其中很大一部分科学计算课题的计算周期长、课题中进程需要进行保留已经获得的结果(设置保留点),这部分数据都是进程独享的,不需要与其他进程进行交互共享。所以在高性能计算机中现在也使用了局部存储,这部分存储资源不是面向所有计算节点共享,是课题的计算资源或者是每个计算资源才能访问的存储资源。
另一方面,高性能计算中主要采用的存储结构是共享的并行文件系统,将存储资源从计算资源中剥离出来集中管理,呈现给用户和计算资源是全局一致的用户视图。计算资源和存储资源通过高速网络进行连接,但随着计算资源规模的不断扩展,特别是规模达到万次以上,集中式的并行文件系统难以及时响应并发的IO服务,集中式的元数据竞争问题凸显。
在某些计算资源规模巨大的高性能计算系统上,在其存储结构中引入了IO转发系统。通过在计算节点和存储服务节点间引入IO转发节点,用来暂存和转发IO请求,从而极大地提升了存储系统的可扩展性。但是这一结构仍然存在不足,IO转发节点的引入使得IO路径更长,对于小粒度、随机的IO访问,意味着延迟更大、带宽更低。
具体地,现在高性能计算系统中使用分布在计算节点或是IO转发节点上的存储资源,构建起部分计算资源可见的局部存储系统。常见方法有两种:1.计算节点上带有存储资源,存储介质直接分布在计算节点上,和计算节点时绑定的;2.局部文件系统是和计算作业绑定的。当计算作业确定计算资源后,作业管理器会将计算资源所对应的IO节点上的局部盘阵进行整合,构建仅对这些计算资源可见的局部文件系统。
以上这些局部分布模式中,计算节点和局部存储资源的对应关系都是固定的,这样一旦作业的计算资源发生改变,那么原来的计算节点对应的局部存储资源就不能继续被新的计算资源所续用,需要做复杂的数据迁移工作。
发明内容
本发明所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种基于作业计算资源的局部存储动态分配方法,其能够在高性能计算系统中支持计算资源变化的局部存储资源的分配方法。
根据本发明,提供了一种基于作业计算资源的局部存储动态分配方法,其特征在于包括:
第一步骤:用户提交作业,使用参数指明需要使用的局部资源,所述参数为基于作业名称的唯一标识;
第二步骤:作业管理器将挂载局部请求的作业名称的相应唯一标识以及相应进程的进程排列号传递给局部管理器;
第三步骤:局部管理器根据唯一标识通过哈希算法得到提供局部服务的第一个IO服务节点编号;
第四步骤:依据第一个IO服务节点编号,每个进程排列号都依次加上该编号,如果超出IO服务节点的最大值,则进行求余操作,以使得每个排列号获得一个对应服务的IO服务节点;
第五步骤:使得每个进程对应的计算节点挂载上对应服务的IO服务节点的局部数据输出服务;
第六步骤:检查对应的每个进程排列号,确定是否在该挂载目录下存在每个进程的排列号目录;如果没有排列号目录,则创建排列号目录;
第七步骤:将每个计算节点下的局部目录下的排列号目录绑定到一个固定目录,使得每个进程对应的计算节点上的固定目录是仅自己可见的局部目录;
第八步骤:进行作业的执行。
优选地,在作业完成、作业人工或者意外停止时,作业管理器将卸载局部服务。
优选地,在第二步骤中,在作业管理器将挂载局部请求的作业名称的相应唯一标识以及相应进程的进程排列号传递给局部管理器之前,作业管理器对这个基于作业名称的唯一标识的唯一性进行确定。
优选地,作业是高性能计算机上运行的应用程序。
优选地,IO服务节点的最大值是系统中IO服务节点的数量。
附图说明
结合附图,并通过参考下面的详细描述,将会更容易地对本发明有更完整的理解并且更容易地理解其伴随的优点和特征,其中:
图1示意性地示出了根据本发明优选实施例的基于作业计算资源的局部存储动态分配方法的示意图。
需要说明的是,附图用于说明本发明,而非限制本发明。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。
具体实施方式
为了使本发明的内容更加清楚和易懂,下面结合具体实施例和附图对本发明的内容进行详细描述。
局部存储将IO服务节点上的存储资源(介质可以是SSD、HDD或者阵列等)划分出来,设置一个目录用于存储局部数据。这样每个IO服务节点管理自己的局部存储空间,计算节点可以直接从IO服务节点上获取局部数据。
局部存储将存储资源从后端集中式的元数据服务中解放出来,每块空间独立管理,并将存储资源直接映射到计算节点,缩短了计算节点到存储设备之间的访问路径。局部存储使得每个计算节点提供一个私有化的存储空间,为存储本地化的数据提供加速。
为了解决计算资源与局部资源固定关系的分配模式,设计了一种新的计算节点与局部服务对应的关系模式,这种新模式是基于作业名称的唯一标识project-id,采用的方式是根据唯一标识project-id通过哈希算法计算得出提供局部服务的第一个IO服务节点编号。那么,进程编号(具体地,进程编号是排列号)为0的计算节点的局部服务节点就是这第一个IO服务节点,依照这个编号,根据执行作业进程的排列号(也称为“排列值”、“排位分”;指的是在多进程作业中,每个进程在作业里的序号,一般是从0开始编号)对应到相应的IO转发节点,并依次往后轮转,直到所有IO服务节点轮询完成,再从起始IO服务节点开始,获取局部存储资源。其中,资源划分的方式,根据作业的唯一标识project-id找到第一个服务的IO服务节点,比如说有512个进程,一共有300个服务节点,根据哈希(Hash)算法,排列号为0的服务节点是编号200,那个排列号为1的服务节点就是201,以此类推,排列号为100的服务节点就是300,排列为101的服务节点就是(200+101对300求余)1,以此轮转。
准备工作需要在IO服务节点上进行分区,并指定目录为局部数据专用区(只需要操作一次);完成准备工作后,就可以支持局部存储的挂载。
图1示意性地示出了根据本发明优选实施例的基于作业计算资源的局部存储动态分配方法的示意图。
如图1所示,根据本发明优选实施例的基于作业计算资源的局部存储动态分配方法包括:
第一步骤S1:用户提交作业(即,高性能计算机上运行的应用程序),使用参数指明需要使用的局部资源,所述参数为基于作业名称的唯一标识project-id(触发行为);
第二步骤S2:作业管理器将挂载局部请求的作业名称的相应唯一标识project-id以及相应进程的进程排列号传递给局部管理器;
优选地,在第二步骤S2中,在作业管理器将挂载局部请求的作业名称的相应唯一标识project-id以及相应进程的进程排列号传递给局部管理器之前,作业管理器对这个基于作业名称的唯一标识project-id的唯一性进行确定。
第三步骤S3:局部管理器根据唯一标识project-id通过哈希算法得到提供局部服务的第一个IO服务节点编号;
第四步骤S4:依据第一个IO服务节点编号,每个进程排列号都依次加上该编号,如果超出IO服务节点的最大值(具体地,IO服务节点的最大值就是系统中IO服务节点的数量),则进行求余操作(由此使得每一个排列号能对应到系统中的IO服务节点),以使得每个排列号获得一个对应服务的IO服务节点;
第五步骤S5:依据第四步骤S4的结果,使得每个进程对应的计算节点挂载上对应服务的IO服务节点的局部数据输出服务;
具体地,作业的唯一标识project-id下的每个排列号都运行在一个计算节点上,通过这唯一标识project-id和排列号通过第四步骤S4的规则得到一个IO服务节点的编号,计算节点将对应编号的IO服务节点的服务挂载到计算节点的挂载目录,这样计算节点可以像使用本地磁盘一样使用IO服务节点上提供的服务。
第六步骤S6:检查对应的每个进程排列号,确定是否在该挂载目录下存在每个进程的排列号目录;如果没有排列号目录,则创建排列号目录;如果存在排列号目录,则无需创建排列号目录。
在具体实现时,例如,挂载操作的挂载点使用的媒介(在本系统中就是IO服务节点上的局部数据专用区作为存储的媒介)被安装到系统上的某一个位置;而这个位置就是挂载点。
第七步骤S7:将每个计算节点下的局部目录下的排列号目录绑定到一个固定目录(例如/tmp/local目录,或者是其他固定目录名),使得每个进程对应的计算节点上的固定目录是仅自己可见的局部目录;
第八步骤S8:进行作业的执行;而且优选地并且在作业完成、作业人工或者意外停止时,作业管理器将卸载局部服务。
在第一步骤S1时,用户需要注意提交的project-id的唯一性和延续性,唯一性是指这个名称仅仅是这个作业使用,延续性是指同一个作业上次使用的project-id,下次重新提交时,需要保持相同;这样在步骤6的时候,根据project-id和排列号得到的编号会是一样的,这样可以保证同一个作业局部数据仍然可以继续被使用。
在第二步骤S2时,作业管理器需要对基于作业名称的唯一标识project-id进行判断,是否在系统中有同名作业在运行,如果有,将需要禁止提交,否则两个作业会使用同一个局部空间。
在现有技术中,常用的局部服务模式是计算节点与输出的局部服务对应关系固化(计算节点至始至终使用的局部服务都是同一个IO服务),而在HPC的科学计算过程中,作业可能因为资源调用以及计算节点故障等原因,作业需要重新来过,常用的局部服务模式下,只要计算资源发生变化,之前的局部存储资源进行迁移,才能使用之前的局部数据结果。本发明使得计算资源与局部服务资源之间关系不再固化,同一个作业,同一个排列号的进程始终访问的是同一个局部存储资源,能透明自动支持计算资源与局部存储资源之间的对应关系,作业可以方便的进行保留恢复。
此外,需要说明的是,除非特别指出,否则说明书中的术语“第一”、“第二”、“第三”等描述仅仅用于区分说明书中的各个组件、元素、步骤等,而不是用于表示各个组件、元素、步骤之间的逻辑关系或者顺序关系等。
可以理解的是,虽然本发明已以较佳实施例披露如上,然而上述实施例并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (5)
1.一种基于作业计算资源的局部存储动态分配方法,其特征在于包括:
第一步骤:用户提交作业,使用参数指明需要使用的局部资源,所述参数为基于作业名称的唯一标识;
第二步骤:作业管理器将挂载局部请求的作业名称的相应唯一标识以及相应进程的进程排列号传递给局部管理器;
第三步骤:局部管理器根据唯一标识通过哈希算法得到提供局部服务的第一个IO服务节点编号;
第四步骤:依据第一个IO服务节点编号,每个进程排列号都依次加上该编号,如果超出IO服务节点的最大值,则进行求余操作,以使得每个排列号获得一个对应服务的IO服务节点;
第五步骤:使得每个进程对应的计算节点挂载上对应服务的IO服务节点的局部数据输出服务;
第六步骤:检查对应的每个进程排列号,确定是否在该挂载目录下存在每个进程的排列号目录;如果没有排列号目录,则创建排列号目录;
第七步骤:将每个计算节点下的局部目录下的排列号目录绑定到一个固定目录,使得每个进程对应的计算节点上的固定目录是仅自己可见的局部目录;
第八步骤:进行作业的执行。
2.根据权利要求1所述的基于作业计算资源的局部存储动态分配方法,其特征在于还包括:在作业完成、作业人工或者意外停止时,作业管理器将卸载局部服务。
3.根据权利要求1或2所述的基于作业计算资源的局部存储动态分配方法,其特征在于,在第二步骤中,在作业管理器将挂载局部请求的作业名称的相应唯一标识以及相应进程的进程排列号传递给局部管理器之前,作业管理器对这个基于作业名称的唯一标识的唯一性进行确定。
4.根据权利要求1或2所述的基于作业计算资源的局部存储动态分配方法,其特征在于,作业是高性能计算机上运行的应用程序。
5.根据权利要求1或2所述的基于作业计算资源的局部存储动态分配方法,其特征在于,IO服务节点的最大值是系统中IO服务节点的数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510827194.7A CN105279029B (zh) | 2015-11-24 | 2015-11-24 | 一种基于作业计算资源的局部存储动态分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510827194.7A CN105279029B (zh) | 2015-11-24 | 2015-11-24 | 一种基于作业计算资源的局部存储动态分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105279029A true CN105279029A (zh) | 2016-01-27 |
CN105279029B CN105279029B (zh) | 2018-07-06 |
Family
ID=55148080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510827194.7A Active CN105279029B (zh) | 2015-11-24 | 2015-11-24 | 一种基于作业计算资源的局部存储动态分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105279029B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105959711A (zh) * | 2016-04-21 | 2016-09-21 | 乐视控股(北京)有限公司 | 一种直播流媒体的上传方法及装置 |
CN111049902A (zh) * | 2019-09-16 | 2020-04-21 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据存储方法、装置、存储介质和设备 |
CN111597038A (zh) * | 2020-01-08 | 2020-08-28 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种超级计算机i/o转发结点轮询映射方法 |
CN112306383A (zh) * | 2019-08-02 | 2021-02-02 | 华为技术有限公司 | 执行作业的方法、计算节点、管理节点及计算设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6067545A (en) * | 1997-08-01 | 2000-05-23 | Hewlett-Packard Company | Resource rebalancing in networked computer systems |
CN101882091A (zh) * | 2010-06-22 | 2010-11-10 | 北京北大众志微系统科技有限责任公司 | 线程局部存储实现方法和装置 |
CN102156632A (zh) * | 2011-04-06 | 2011-08-17 | 北京北大众志微系统科技有限责任公司 | 数据访问方法和装置 |
-
2015
- 2015-11-24 CN CN201510827194.7A patent/CN105279029B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6067545A (en) * | 1997-08-01 | 2000-05-23 | Hewlett-Packard Company | Resource rebalancing in networked computer systems |
CN101882091A (zh) * | 2010-06-22 | 2010-11-10 | 北京北大众志微系统科技有限责任公司 | 线程局部存储实现方法和装置 |
CN102156632A (zh) * | 2011-04-06 | 2011-08-17 | 北京北大众志微系统科技有限责任公司 | 数据访问方法和装置 |
Non-Patent Citations (1)
Title |
---|
张浩: "基于结构化对等网络的高性能计算平台关键技术研究", 《中国博士学位论文全文数据库》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105959711A (zh) * | 2016-04-21 | 2016-09-21 | 乐视控股(北京)有限公司 | 一种直播流媒体的上传方法及装置 |
CN112306383A (zh) * | 2019-08-02 | 2021-02-02 | 华为技术有限公司 | 执行作业的方法、计算节点、管理节点及计算设备 |
CN111049902A (zh) * | 2019-09-16 | 2020-04-21 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据存储方法、装置、存储介质和设备 |
CN111049902B (zh) * | 2019-09-16 | 2021-08-13 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据存储方法、装置、存储介质和设备 |
CN111597038A (zh) * | 2020-01-08 | 2020-08-28 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种超级计算机i/o转发结点轮询映射方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105279029B (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10990561B2 (en) | Parameter server and method for sharing distributed deep learning parameter using the same | |
Almeida et al. | ChainReaction: a causal+ consistent datastore based on chain replication | |
EP3058690B1 (en) | System and method for creating a distributed transaction manager supporting repeatable read isolation level in a mpp database | |
Anjos et al. | MRA++: Scheduling and data placement on MapReduce for heterogeneous environments | |
US10157214B1 (en) | Process for data migration between document stores | |
US9348641B2 (en) | System and method for performing a transaction in a massively parallel processing database | |
US9092272B2 (en) | Preparing parallel tasks to use a synchronization register | |
US8880488B1 (en) | Efficient extent-based B-tree insertion | |
CN108810115B (zh) | 一种适用于分布式数据库的负载均衡方法、装置及服务器 | |
JP6450330B2 (ja) | 並列計算処理装置および並列計算処理方法 | |
US20190146847A1 (en) | Dynamic distributed resource management | |
CN105279029A (zh) | 一种基于作业计算资源的局部存储动态分配方法 | |
CN106802939B (zh) | 一种解决数据冲突的方法和系统 | |
CN105744001B (zh) | 分布式缓存系统扩容方法、数据访问方法及装置和系统 | |
US10515228B2 (en) | Commit and rollback of data streams provided by partially trusted entities | |
CN107391033B (zh) | 数据迁移方法及装置、计算设备、计算机存储介质 | |
US11307900B2 (en) | Adjustment of the number of central processing units to meet performance requirements of an I/O resource | |
CN113742135A (zh) | 数据备份方法、装置及计算机可读存储介质 | |
US20150220363A1 (en) | Efficient Resource Utilization in Data Centers | |
US8341368B2 (en) | Automatic reallocation of structured external storage structures | |
CN104268089B (zh) | 一种信息更新的方法、装置及系统 | |
CN111444148B (zh) | 基于MapReduce的数据传输方法和装置 | |
CN104008100A (zh) | 集群环境并发处理方法 | |
CN112988884B (zh) | 大数据平台数据存储方法及装置 | |
US20150186269A1 (en) | Managing memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |