CN117251259A - 数据处理方法、装置、设备和系统 - Google Patents
数据处理方法、装置、设备和系统 Download PDFInfo
- Publication number
- CN117251259A CN117251259A CN202211001039.6A CN202211001039A CN117251259A CN 117251259 A CN117251259 A CN 117251259A CN 202211001039 A CN202211001039 A CN 202211001039A CN 117251259 A CN117251259 A CN 117251259A
- Authority
- CN
- China
- Prior art keywords
- supernode
- job
- processed
- data
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 127
- 238000000034 method Methods 0.000 claims abstract description 108
- 238000004891 communication Methods 0.000 claims abstract description 37
- 238000005516 engineering process Methods 0.000 claims abstract description 18
- 230000008569 process Effects 0.000 claims description 67
- 230000002776 aggregation Effects 0.000 claims description 10
- 238000004220 aggregation Methods 0.000 claims description 10
- 230000001360 synchronised effect Effects 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 8
- 238000005265 energy consumption Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 8
- 230000011218 segmentation Effects 0.000 description 7
- 239000007787 solid Substances 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000002688 persistence Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 230000001427 coherent effect Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229960000074 biopharmaceutical Drugs 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
Abstract
公开了数据处理方法、装置、设备和系统,涉及数据处理领域。方法包括调度器获取到待处理作业,根据待处理作业的资源需求控制至少一个超节点,基于超节点的全局内存池处理待处理作业。其中,待处理作业为与分布式应用相关的处理请求。如此,由于全局内存池为由超节点内节点的存储介质经过统一编址构成的超节点内节点共享的资源。超节点内通过高速互连技术进行连接的节点共享访问该全局内存池,对待处理作业进行处理,从而避免超节点内的节点间基于MPI进行通信,简化了节点运行的应用的编程模型,有效地减少了节点间的I/O通信,充分发挥超节点的性能。从而有效地缩短了数据处理时长以及降低系统能耗,提升系统性能。
Description
本申请要求于2022年06月10日提交国家知识产权局、申请号为202210655939.6申请名称为“一种秘钥处理方法、装置和安全系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及数据处理领域,尤其涉及一种数据处理方法、装置、设备和系统。
背景技术
目前,将分布式应用(如:大数据、数据库)的作业划分为多个任务,由多个计算节点进行通信执行多个任务。随着分布式集群中计算节点的数量大量增加,计算节点间会产生大量的输入/输出(Input/Output,I/O)通信,导致数据处理时长较长以及系统能耗较高,系统性能成为了瓶颈。
发明内容
本申请提供了数据处理方法、装置、设备和系统,由此缩短数据处理时长,降低系统能耗。
第一方面,提供了一种数据处理方法。方法包括:调度器获取到待处理作业,根据待处理作业的资源需求控制至少一个超节点,基于超节点的全局内存池处理待处理作业。其中,待处理作业为与分布式应用相关的处理请求。
如此,由于全局内存池为由超节点内节点的存储介质经过统一编址构成的超节点内节点共享的资源。超节点内通过高速互连技术进行连接的节点共享访问该全局内存池,对待处理作业进行处理,从而避免超节点内的节点间基于信息传递接口(Message PassingInterface,MPI)进行通信,简化了节点运行的应用的编程模型,有效地减少了节点间的I/O通信,充分发挥超节点的性能。从而有效地缩短了数据处理时长以及降低系统能耗,提升系统性能。
其中,高速互连技术包括计算快速链接(Compute Express Link,CXL)和无限带宽技术(infiniband,IB)中至少一种。节点间的时延小于1微秒,带宽可达几百每秒吉字节(Gigabyte second,GB/S)。
在一种可能的实现方式中,基于超节点的全局内存池处理待处理作业,包括:超节点中多个节点运行基于单节点编程模型编写的分布式应用基于全局内存池处理待处理作业。
例如,超节点中多个节点运行基于单节点编程模型编写的分布式应用基于全局内存池处理作业,包括:超节点中多个节点运行基于单节点编程模型编写的分布式应用,基于内存同步访问技术访问全局内存池处理待处理作业。
在另一种可能的实现方式中,控制至少一个超节点基于超节点的全局内存池处理待处理作业,包括:控制两个以上超节点基于超节点的全局内存池处理待处理作业,两个以上超节点基于信息传递接口进行通信。从而,以便于超节点之间进行通信。
在另一种可能的实现方式中,调度器根据待处理作业的资源需求控制至少一个超节点,包括:基于聚合策略、系统资源和资源需求确定处理待处理作业的至少一个超节点。调度器尽可能将作业调度到一个超节点内,由超节点内节点对作业进行分布式处理。避免了超节点内的节点基于MPI通信进行跨节点的数据切分,数据切分不均匀导致数据处理时长延迟的问题。从而缩短了数据处理时长以及降低系统能耗,提升系统性能。
在另一种可能的实现方式中,资源需求用于指示处理待处理作业所需的进程数和超节点数量。从而,以便于调度器根据处理待处理作业的所需的进程数确定超节点的数量,尽可能将作业调度到一个超节点内,由超节点内节点对作业进行分布式处理,缩短了数据处理时长以及降低系统能耗,提升系统性能。以及调度器根据超节点数量确定处理待处理作业的超节点。
其中,资源包括计算资源和存储资源。以便于超节点内节点基于计算资源处理待处理作业,基于存储资源存储处理待处理作业过程中的数据。
在另一种可能的实现方式中,全局内存池的存储介质包括动态随机存取存储器(Dynamic Random Access Memory,DRAM)和存储级内存(storage-class-memory,SCM)。如此,在系统中引入包含多种存储介质的全局内存池,使得存储数据的存储介质具有更多的可能性,选择匹配的存储介质存储数据,实现能够快速地对系统进行读写操作,提升了数据传输速度,缩短了数据处理时长。
在另一种可能的实现方式中,方法还包括:超节点中计算节点根据预取策略从超节点中存储节点预取数据,存储到超节点的计算节点的本地存储空间。从而,以便于计算节点能够快速地获取到数据,缩短了数据处理时长。
在另一种可能的实现方式中,方法还包括:超节点中计算节点根据数据冷热特性,在远端存储空间与本地存储空间之间进行数据的内存操作。冷数据是指访问频次较低的数据。将冷数据从本地存储空间搬移到远端存储空间,释放本地存储空间,提升数据的读写速率,以及本地存储空间的利用率。热数据是指访问频次较高的数据。将热数据从远端存储空间搬移到本地存储空间,使计算节点尽快地获取到所需的数据,缩短了数据处理时长,减少频繁读写数据所占用的计算资源。本地存储空间和远端存储空间可以是全局内存池中的存储空间。
第二方面,提供了一种调度装置,所述装置包括用于执行第一方面或第一方面任一种可能设计中的调度器执行的方法的各个模块。
第三方面,提供了一种数据处理装置,所述装置包括用于执行第一方面或第一方面任一种可能设计中的超节点中节点执行的方法的各个模块。
第四方面,提供一种调度器,该调度器包括至少一个处理器和存储器,存储器用于存储一组计算机指令;当处理器作为第一方面或第一方面任一种可能实现方式中的调度器执行所述一组计算机指令时,执行第一方面或第一方面任一种可能实现方式中的数据处理方法的操作步骤。
第五方面,提供一种计算设备,该计算设备包括通过高速互连技术进行连接的节点和如第四方面所述的调度器,所述调度器用于执行第一方面或第一方面任一种可能实现方式中的数据处理方法的操作步骤。
第六方面,提供一种系统,该系统包括多个超节点和调度器,调度器用于根据待处理作业的资源需求控制至少一个超节点,基于超节点的全局内存池处理待处理作业,全局内存池为由超节点内节点的存储介质经过统一编址构成的超节点内节点共享的资源,超节点内的节点通过高速互连技术进行连接,待处理作业为与分布式应用相关的处理请求;超节点中多个节点用于运行基于单节点编程模型编写的分布式应用基于全局内存池处理待处理作业;两个以上超节点用于基于信息传递接口进行通信。
第七方面,提供一种计算机可读存储介质,包括:计算机软件指令;当计算机软件指令在计算设备中运行时,使得计算设备执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。
第八方面,提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算设备执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本申请实施例提供的一种数据处理系统的架构示意图;
图2为本申请实施例提供的一种宏机柜互连的示意图;
图3为本申请实施例提供的一种全局内存池的部署场景示意图;
图4为本申请实施例提供的一种三层结构的存储系统示意图;
图5为本申请实施例提供的一种数据处理方法的过程示意图;
图6为本申请实施例提供的另一种数据处理方法的过程示意图;
图7为本申请实施例提供的一种数据处理的过程示意图;
图8为本申请实施例提供的一种调度装置的结构示意图;
图9为本申请实施例提供的一种数据处理装置的结构示意图;
图10为本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
为了便于描述,首先对本申请涉及的术语进行简单介绍。
超节点(Super Node),指通过高带宽、低时延的片间互连总线和交换机将多个节点互连成一个高性能集群。超节点的规模大于缓存一致非统一内存寻址(Cache-CoherentNon Uniform Memory Access,CC-NUMA)架构下的节点规模,超节点内节点的互连带宽大于以太网络互连带宽。
编程模型(Programming Model),指对应用进行程序设计的架构。比如,HPC领域的共享存储并行编程(Open Multi-Processing,OpenMP)+MPI模型。
高性能计算(High Performance Computing,HPC)集群,指一个计算机集群系统。HPC集群包含利用各种互联技术连接在一起的多个计算机。互联技术例如可以是无限带宽技术(infiniband,IB)、基于聚合以太网的远程直接内存访问(Remote Direct MemoryAccess over Converged Ethernet,RoCE)或传输控制协议(Transmission ControlProtocol,TCP)。HPC提供了超高浮点计算能力,可用于解决计算密集型和海量数据处理等业务的计算需求。连接在一起的多个计算机的综合计算能力可以来处理大型计算问题。例如,科学研究、气象预报、金融、仿真实验、生物制药、基因测序和图像处理等行业涉及的利用HPC集群来解决的大型计算问题和计算需求。利用HPC集群处理大型计算问题可以有效地缩短处理数据的计算时间,以及提高计算精度。
聚合调度(Affinity Scheduling),指调度器将作业尽量调度到较少且距离较近的节点,实现作业获得计算资源聚合的目的。
信息传递接口(Message Passing Interface,MPI),指集群中计算节点间通信常用的并行通信协议。可理解的,计算节点的进程间利用MPI进行数据交换。
内存操作指令,可以称为内存语义或内存操作函数。内存操作指令包括内存分配(malloc)、内存设置(memset)、内存复制(memcpy)、内存移动(memmove)、内存释放(memoryrelease)和内存比较(memcmp)中至少一种。
内存分配用于支持应用程序运行分配一段内存。
内存设置用于设置全局内存池的数据模式,例如初始化。
内存复制用于将源地址(source)指示的存储空间存储的数据复制到目的地址(destination)指示的存储空间。
内存移动用于将源地址(source)指示的存储空间存储的数据复制到目的地址(destination)指示的存储空间,并删除源地址(source)指示的存储空间存储的数据。
内存比较用于比较两个存储空间存储的数据是否相等。
内存释放用于释放内存中存储的数据,以提高系统内存资源的利用率,进而提升系统性能。
为了解决超节点中节点处理作业的方式产生大量的I/O通信,无法充分发挥超节点的性能,导致数据处理时长较长以及系统能耗较高的问题,本申请提供一种基于超节点全局内存池的数据处理方法,即对超节点的存储介质经过统一编址构成全局内存池,超节点内节点共享访问该全局内存池对作业进行处理,从而避免超节点内的节点间基于MPI进行通信,简化了节点运行的应用的编程模型,有效地减少了节点间的I/O通信,充分发挥超节点的性能。另外,避免了超节点内的节点基于MPI通信进行跨节点的数据切分,数据切分不均匀导致数据处理时长延迟的问题。而且,调度器尽可能将作业调度到一个超节点内,由超节点内节点对作业进行分布式处理。从而,有效地缩短了数据处理时长以及降低系统能耗,提升系统性能。
图1为本申请实施例提供的一种数据处理系统的架构示意图。如图1所示,数据处理系统100是一种提供高性能计算的实体。数据处理系统100包括多个超节点110。
超节点110包括多个节点111。节点111可以是处理器、服务器、台式计算机、存储阵列的控制器和存储器等。处理器可以是中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、数据处理单元(data processing unit,DPU)、神经处理单元(neural processing unit,NPU)和嵌入式神经网络处理器(neural-networkprocessing unit,NPU)等用于数据处理的XPU。例如,超节点110可以包括计算节点和存储节点。
超节点110中多个节点111基于具有高带宽、低时延的高速互连技术连接。示例地,如图1所示,节点111基于高速互连技术通过交换机112进行连接。节点111之间的带宽可达900吉字节/秒(Gigabyte/second,GB/S)或1太字节/秒(Terabyte/second,TB/S)。时延为1微秒(microsecond,μs)。
多个超节点110通过数据中心网络120进行连接。数据中心网络120包括多个核心交换机121和多个汇聚交换机122。数据中心网络120可以组成一个规模域。多个超节点110可以组成一个性能域。
两个以上超节点110可以组成宏机柜。数据处理系统100包括的多个超节点110可以组成多个宏机柜。宏机柜之间也可以基于数据中心网络120连接。示例地,如图2所示,计算机柜A和计算机柜B包括多个超节点,计算机柜A和计算机柜B之间通过网卡互联。计算机柜A和计算机柜B之间基于控制面网络进行控制面数据传输。计算机柜A和计算机柜B之间基于数据面网络进行数据面数据传输。计算机柜A和计算机柜B之间的控制面传输速率可以为56G*8,计算机柜A和计算机柜B之间的数据面传输速率可以为56G*32。
另外,上述超节点内节点的高速互连也作为控制面之外用于传输数据的网络平面,基于该网络平面可以构建全局内存池,实现跨超节点内节点(简称:跨节点)的内存语义访问。
如图1所示,数据处理系统100还包括调度器130。调度器130用于根据作业的资源需求控制至少一个超节点110,指示至少一个超节点110基于超节点110的全局内存池113处理作业。
超节点110内节点111运行基于单节点编程模型编写的分布式应用基于全局内存池113处理作业。例如,在HPC领域,超节点110内节点111运行基于OpenMP模型114编写的分布式应用基于全局内存池113处理业务请求。超节点110之间基于MPI进行通信。
在一些实施例中,调度器130基于聚合策略尽量将作业调度到单一宏机柜或者超节点内部完成。尽量避免超节点间基于MPI进行通信,简化节点运行的应用的编程模型,有效地减少了节点间的I/O通信,充分发挥超节点的性能。调度器和计算节点可以是独立的物理设备,则调度器也可称为控制节点、控制设备或命名节点。计算节点可以称为计算设备或数据节点。
在另一些实施例中,调度器130可以接收用户操作客户端发送的处理请求,对处理请求指示的作业进行调度。客户端可以是指计算机,也可称为工作站(workstation)。
该数据处理系统100支持运行大数据、数据库、高性能计算、人工智能、分布式存储和云原生等应用。本申请实施例中业务数据包括大数据、数据库、高性能计算、人工智能(Artificial Intelligence,AI)、分布式存储和云原生等应用的数据。
本申请提供的全局内存池可以包括超节点中计算节点的存储介质和存储节点的存储介质。计算节点的存储介质包括计算节点内的本地存储介质和计算节点连接的扩展存储介质中至少一种。存储节点的存储介质包括存储节点内的本地存储介质和存储节点连接的扩展存储介质中至少一种。
例如,全局内存池包括计算节点内的本地存储介质和存储节点内的本地存储介质。
又如,全局内存池包括计算节点内的本地存储介质、计算节点连接的扩展存储介质,以及存储节点内的本地存储介质和存储节点连接的扩展存储介质中任意一种。
又如,全局内存池包括计算节点内的本地存储介质、计算节点连接的扩展存储介质、存储节点内的本地存储介质和存储节点连接的扩展存储介质。
示例地,如图3所示,为本申请实施例提供的一种全局内存池的部署场景示意图。全局内存池300包括N个计算节点中每个计算节点内的存储介质310、N个计算节点中每个计算节点连接的扩展存储介质320、M个存储节点中每个存储节点内的存储介质330和M个存储节点中每个存储节点连接的扩展存储介质340。
应理解,全局内存池的存储容量可以包括计算节点的存储介质中的部分存储容量和存储节点的存储介质中的部分存储容量。全局内存池是经过统一编址的超节点内计算节点和存储节点均可以访问的存储介质。全局内存池的存储容量可以通过大内存、分布式数据结构、数据缓存、元数据等内存接口供计算节点或存储节点使用。计算节点运行应用程序可以使用这些内存接口对全局内存池进行内存操作。如此,基于超节点内高速互连的节点构建的经过统一编址构成全局内存池,超节点内节点共享访问该全局内存池对作业进行处理,从而避免超节点中的节点间基于MPI进行通信,简化了节点运行的应用的编程模型,有效地减少了节点间的I/O通信,充分发挥超节点的性能。另外,避免了节点间基于MPI通信进行跨节点的数据切分,数据切分不均匀导致数据处理时长延迟的问题。
上述是以计算节点内的存储介质和存储节点内的存储介质构建全局内存池为例进行说明。全局内存池的部署方式可以灵活多变,本申请实施例不予限定。例如,全局内存池由存储节点的存储介质构建。又如,全局内存池由计算节点的存储介质构建。使用单独的存储节点的存储介质或计算节点的存储介质构建全局内存池可以减少存储侧的存储资源的占用,以及提供更灵活的扩展方案。
存储器是用于存储程序和各种数据的记忆器件。存储器的容量越大,存取速度越慢。反之,存储器的容量越小,存取速度越快。存取速度是指对存储器写入数据或读取数据时的数据传输速度。存取速度也可以称为读写速度。依据存储容量和存取速度可以将存储器划分为不同层级。
示例地,图4为本申请实施例提供的一种三层结构的存储系统示意图。从第一层至第三层,存储容量逐级增加,存取速度逐级降低,成本逐级减少。如图4所示,第一层级包含位于中央处理器(central processing unit,CPU)内的寄存器411、一级缓存412、二级缓存413和三级缓存414。第二层级包含的存储器可以作为计算机系统的主存储器。例如,动态随机存取存储器(Dynamic Random Access Memory,DRAM)421,双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)422,存储级内存(storage-class-memory,SCM)423。主存储器可以简称为主存或内存,即与CPU交换信息的存储器。第三层级包含的存储器可以作为计算机系统的辅助存储器。例如,网络存储器431,固态驱动器(Solid State Disk或Solid State Drive,SSD)432,硬盘驱动器(Hard Disk Drive,HDD)433。辅助存储器可以简称为辅存或外存。相对主存,外存的存储容量大,存取速度慢。可见,距离CPU越近的存储器,容量越小、存取速度越快、带宽越大、延迟越低。因此,第三层级包含的存储器存储CPU不经常访问的数据,提高数据的可靠性。第二层级包含的存储器可以作为缓存设备,用于存储CPU经常访问的数据,显著地改善系统的访问性能。
依据存储介质的类型划分,本申请实施例提供的全局内存池的存储介质包括DRAM、SSD和SCM。
在一些实施例中,可以根据存储介质的类型设置全局内存池,即利用一种类型的存储介质构建一种内存池,不同类型的存储介质构建不同类型的全局内存池,使全局内存池应用于不同的场景,计算节点根据应用的访问特征选择存储介质,增强了用户对系统控制权限,提升了用户的系统体验又扩展了系统适用的应用场景。例如,将计算节点中的DRAM和存储节点中的DRAM进行统一编址构成DRAM内存池。DRAM内存池用于对访问性能要求高,数据容量适中,无数据持久化诉求的应用场景。又如,将计算节点中的SCM和存储节点中的SCM进行统一编址构成SCM内存池。SCM内存池则用于对访问性能不敏感,数据容量大,对数据持久化有诉求的应用场景。
不同的存储介质具有不同的存储介质特征。存储介质特征包括写时延、读时延、总存储容量、可用存储容量、存取速度、CPU消耗、能耗比和可靠性中至少一个。写时延是指节点将数据写入存储介质的时延。读时延是指节点从存储介质读取数据的时延。存储容量是指存储介质的可存储数据的总存储容量。可用存储容量是指总存储容量减去已使用的存储容量的剩余存储容量。存取速度是指节点对存储介质进行读写操作的速度。CPU消耗是指节点向存储介质写入数据或从存储介质读取数据使用节点的CPU的占用率。能耗比是指单位时间内所消耗的能量(如电能)。可靠性是指存储介质存储数据的持久程度。
接下来,结合附图对本申请实施例提供的数据处理方法的实施方式进行详细描述。
图5为本申请实施例提供的一种数据处理方法的流程示意图。在这里以调度器130和超节点110为例进行说明。如图5所示,该方法包括以下步骤。
步骤510、调度器130获取待处理的作业。
客户端响应用户操作,向调度器130发送与分布式应用相关的处理请求的作业。调度器130可以通过数据中心网络120接收客户端发送的作业。作业可以包括作业标识和业务数据。作业标识用于唯一指示一个作业。业务数据可以是计算节点进行数据分布式处理的数据或指示待处理数据的标识数据。
用户操作可以是指用户操作用户界面提交分布式应用业务的操作。例如,用户操作可以是指用户操作大数据用户界面提交大数据业务的操作。大数据业务包括数据分析业务、数据查询业务和数据修改业务等。例如,大数据业务是指分析客户的个人数据和购买行为数据来描绘用户画像对客户进行分类,使得可以向特定客户推荐针对性的产品或优惠产品,提升客户满意度,稳固客户关系等。又如,大数据业务是指分析产品的历史销售量预测未来的销售量,发现销售量下降原因或销售量上升原因,推荐提升销售量的建设性建议。
步骤520、调度器130确定系统中的资源满足待处理的作业的资源需求。
调度器130可以监控系统中超节点的资源,资源包括计算资源和存储资源,以便于调度器130基于系统资源调度作业。系统中超节点可以周期性地向调度器130上报可用资源。
用户提交的作业还指示资源需求。调度器130基于聚合策略、资源需求和系统资源确定处理作业的至少一个超节点。如果系统中一个超节点的资源满足资源需求,将作业调度到该一个超节点上。如果系统中一个超节点的资源不满足资源需求,将作业调度到两个超节点上。如果系统中的超节点的资源均不满足资源需求,则导致用户提交的作业失败,调度器130可以向客户端发送提交失败响应。
示例地,资源需求指示了处理作业所需的进程数。调度器130从多个超节点中确定满足进程数的超节点。如果系统中一个超节点的可用进程数满足所需的进程数,将作业调度到该一个超节点上。如果系统中一个超节点的可用进程数不满足所需的进程数,两个超节点的可用进程数满足所需的进程数,将作业调度到两个超节点上。
在一些实施例中,资源需求还可以指示超节点数量。调度器130根据资源需求指示的超节点数量从系统中确定至少一个超节点。另外,该至少一个超节点的可用进程数满足所需的进程数,将作业调度到该至少一个超节点。
聚合策略包括推荐策略和强制策略。推荐策略指如果调度器无法确定到满足资源需求的超节点,则自动寻找其他超节点。强制策略指如果调度器无法确定到满足资源需求的超节点,则指示调度失败。不同的应用可以配置不同的策略。
如此,由超节点内高速互连的节点构成的全局内存池化,可提供高性能的分布式应用运行环境,并可通过单节点编程模型实现简化的编程模型。因此在作业调度的过程中,调度器通过资源拓扑感知和聚合策略,将作业尽可能地调度到超节点内部运行,充分利用超节点内部的性能和简化的编程模型。如果超节点内部的资源无法满足要求时,将资源调度到多个超节点运行,超节点间通过MPI实现消息交换。
步骤530、调度器130控制至少一个超节点基于超节点的全局内存池处理待处理的作业。
调度器130向至少一个超节点110发送执行指示,指示至少一个超节点110基于超节点的全局内存池处理作业。超节点中多个节点运行基于单节点编程模型编写的分布式应用基于全局内存池处理作业。两个以上超节点中每个超节点基于全局内存池处理作业,超节点之间基于信息传递接口进行通信。
步骤540、超节点110获取处理请求数据。
超节点110可以接收调度器130发送的与分布式应用相关的处理请求的作业,将处理请求转换为符合内存操作指令操作规则的处理请求数据,以便于超节点110中节点111根据内存操作指令对全局内存池进行处理请求数据的内存操作。
步骤550、超节点110中节点111基于全局内存池对作业进行处理。
超节点中多个节点运行基于单节点编程模型编写的分布式应用,基于内存同步访问技术访问全局内存池处理待处理的作业。例如,节点111通过load/store命令访问全局内存池,可以访问全局内存池中相对处理作业的节点的远端存储空间或者处理作业的节点的本地存储空间。节点运行的分布式应用不感知节点访问的是远端存储空间还是本地存储空间。
在一些实施例中,超节点110中节点111根据内存操作指令对全局内存池进行处理请求数据的内存操作。
处理请求数据用于指示对待处理数据进行的操作。例如,处理请求数据指示获取产品A的第一季度销售量。待处理数据可以包括全年销售量。步骤550所包括的具体操作过程如下步骤551至步骤553的阐述。
步骤551、节点111读取待处理数据和应用数据。
待处理数据和应用数据可以存储在全局内存池、存储节点的存储介质或计算节点的存储介质等存储空间中。节点111可以从全局内存池、存储节点的存储介质或计算节点的存储介质读取待处理数据和应用数据。例如,节点111从本地内存中读取应用数据,从全局内存池中读取待处理数据。待处理数据可以是根据处理请求数据的指示需要处理的对象。应用数据包括应用程序和应用配置数据。
步骤552、节点111根据应用数据启动应用程序,根据处理请求数据使用内存操作指令对待处理数据进行处理得到处理后数据。
例如,假设应用数据包括大数据应用程序,处理请求数据用于指示分析产品的历史销售量预测未来的销售量。节点111根据大数据应用数据启动大数据应用,获取待处理数据并对待处理数据进行处理。
节点111可以在获取处理请求数据之前,根据应用数据启动应用程序,也可以在获取处理请求数据之后,根据应用数据启动应用程序。
如此,超节点内部的全局内存池提供了统一的内存地址空间,可用于单节点编程模型,使用单节点编程模型实现利用超节点内部的资源进行多线程的应用并行编程与运行,由于超节点可以提供万级的处理器,因此绝大部分的并行应用可以在超节点内部完成编程和运行。基于内存操作指令的数据处理可以应用于数据处理的全生命周期,使用内存操作指令进行数据处理,基于全局内存池进行数据交换,有效地减少了节点间的I/O通信,充分发挥超节点的性能。从而有效地缩短了数据处理时长以及降低系统能耗,提升系统性能。
步骤553、节点111将处理后数据写入全局内存池中第一地址指示的存储空间。
节点111根据存储策略自动地从全局内存池中选择用于存储处理后数据的存储介质。存储策略包括应用的访问特征和全局内存池中存储介质特征等。第一地址指示的存储空间包括全局内存池的存储空间,例如计算节点的存储介质提供的存储空间和存储节点的存储介质提供的存储空间中一个。
在一些实施例中,节点111根据用户需求和存储介质特征确定将处理后数据写入全局内存池中第一地址指示的存储空间。用户需求用于指示与存储介质特征相关的需求。处理请求数据包括用户需求。存储介质特征包括写时延、读时延、总存储容量、可用存储容量、存取速度、CPU消耗、能耗比和可靠性中至少一个。
例如,节点111配置有多种类型存储介质的存储介质特征。用户需求指示存取速度范围或者一个具体的存取速度,节点111从全局内存池中确定满足用户需求的存储介质。比如用户需求指示内存的存取速度。节点111从全局内存池中选取符合内存的存取速度的存储介质,比如DRAM和SCM中至少一种。示例一,节点111根据用户需求和存储介质特征确定将处理后数据写入全局内存池中第一地址指示的计算节点的存储空间,第一地址指示的计算节点的存储空间满足用户需求指示的存取速度。从而将处理后数据存储到全局内存池中计算侧的本地内存,以便进行本地内存访问,有效地缩短了数据处理时长,提升了数据传输速度。
又如,节点111配置有存储介质和客户等级的关联关系。用户需求指示第一客户等级。节点111根据第一客户等级从关联关系中确定与第一客户等级关联的存储介质,确定与第一客户等级关联的存储介质用于存储处理后数据。示例二,节点111根据用户需求和存储介质特征确定将处理后数据写入全局内存池中第一地址指示的存储节点的存储空间,第一地址指示的计算节点的存储空间满足用户需求指示的第一客户等级。
如此,节点111从全局内存池中选择存储处理后数据的存储介质时,基于用户对存取速度或可靠性等存储介质特征的用户需求,动态地选取满足用户需求的存储介质,确保数据处理的性能和可靠性的场景需求。
在另一些实施例中,节点111配置有依据存储介质特征确定的多种类型存储介质的优先级,根据存储策略指示的多种类型存储介质的优先级,确定用于存储处理后数据的存储介质。其中,多种类型存储介质的优先级可以是依据存储介质的存取速度确定的。比如内存的存取速度高于硬盘的存取速度,硬盘的存取速度高于扩展存储介质的存取速度。多种类型存储介质的优先级可以是依据部署模式的优先级确定的。比如本地存储介质的优先级高于扩展存储介质的优先级。多种类型存储介质的优先级可以是依据多种类型存储介质特征综合确定的。多种类型存储介质的优先级是依据部署模式(如:本地存储介质和扩展存储介质)的优先级确定的。对于同一种部署模式下的存储介质的优先级可以依据存储介质的存取速度确定的。
可选地,节点111还可以从满足用户需求的多种类型存储介质中选取可用存储容量大于阈值的存储介质作为存储处理后数据的存储介质。
节点111根据多种类型存储介质的优先级,从最高优先级的存储介质开始,判断最高优先级的存储介质的可用存储容量是否大于阈值,若最高优先级的存储介质的可用存储容量大于阈值,表示最高优先级的存储介质有多余的存储空间存储处理后数据,则选取该最高优先级的存储介质存储处理后数据;若最高优先级的存储介质的可用存储容量小于或等于阈值,表示最高优先级的存储介质没有多余的存储空间存储处理后数据,则判断次高优先级的存储介质的可用存储容量是否大于阈值,依次遍历多种类型存储介质,最终从多种类型存储介质中确定存储处理后数据的存储介质。
需要说明的是,在实际应用中,可以根据业务需求、场景需求或用户需求等自行设置存储策略,上述对存储策略的阐述只是举例说明。例如,存储策略还可以是指数据本地化偏好,即优先将处理后数据存储到全局内存池中本地存储介质。又如,存储策略还可以是指按照应用对性能和成本的权衡选择性能优先、存储容量优先、成本优先等。
在节点111使用存储策略选取存储处理后数据的存储介质之前,即执行步骤553之前,可以预先配置存储策略和多种类型存储介质的配置信息。
本申请实施例提供的存储策略可以适用于上述数据处理系统100支持的至少一个应用,即大数据、数据库、高性能计算、人工智能、分布式存储和云原生。例如节点111可以在处理大数据业务或处理大数据业务中任务或处理系统全局的任务中,选取用于存储中间数据的存储介质时使用存储策略。
本申请实施例中节点111根据处理请求数据对全局内存池进行内存操作后,即将处理后数据写入全局内存池或从全局内存池读取数据后,表示本次处理请求结束。全局内存池提供了将数据异步写入到存储节点的持久化和容量层,以及从持久化和容量层预取和缓存的能力。随后,节点111还可以从全局内存池读取处理后数据。关于对全局内存池存储的数据的数据处理操作如下图6的阐述。图6为本申请实施例提供的另一种数据处理方法的流程示意图。
步骤610、节点111根据第一地址从全局内存池读取数据,对数据进行处理。
在计算节点执行任务需要全局内存池存储的数据时,计算节点可以从全局内存池读取相关数据。例如,节点111从调度器130获取第一地址,根据第一地址从全局内存池读取所需的处理后数据。
步骤620、节点111根据第一地址从全局内存池读取数据,将数据写入存储节点。
在全局内存池存储的数据需要持久化,即将全局内存池存储的数据搬移到存储节点时,计算节点可以从全局内存池读取相关数据,写入存储节点。存储节点根据内存操作指令将处理后数据写入存储节点的存储介质。可选地,计算节点还可以保存写入存储节点的数据。
在另一些实施例中,计算节点还可以执行步骤630,即根据内存操作指令从存储节点预取数据,存储到计算节点,例如,将预取数据存储到全局内存池中的本地存储空间。从而,以便于计算节点能够尽快地获取到数据,缩短了端到端的数据处理时长。
计算节点还可以执行步骤640,即根据数据冷热特性,基于内存操作指令在远端存储空间与本地存储空间之间进行数据的内存操作。远端存储空间与本地存储空间可以是全局内存池中的存储空间,也可以是存储节点中的存储空间。
热数据是指访问频次比较多的数据。如在线类数据。冷数据是指访问频次比较少的数据。如企业备份数据、业务与操作日志数据、话单与统计数据。热数据因为访问频次需求大,效率要求高,所以就近计算和部署冷数据访问频次低,效率要求慢,可以做集中化部署。
本申请实施例提供的基于超节点统一内存简化编程模型与聚合调度的系统与方法,充分发挥超节点的高速网络形成的超节点能力,基于超节点构建的统一内存语义的全局内存池,在超节点的全局内存池之上构建单节点编程模型,简化以往的节点内单节点编程模型和节点间MPI消息通信的编程模型。在集群整体层面,通过聚合调度使得大多数作业在超节点内基于简化编程模型完成,最大化的发挥内存语义数据交换的高效率,对于超大应用兼容MPI跨超节点的消息通信。从而既解决了超节点内部的简化编程与性能优势,又解决了组网规模提升后的大集群应对超大应用问题。
在实际应用中,超节点可达100P级别,即超节点包括100个处理器P级别,每P具有100级别的CPU核,所以万级线程以内的作业基本都可以在宏机柜内基于超节点的全局内存池、以OpenMP编程模型完成,而万级以内的作业往往占据超算中心90%以上,所以90%以上的作业都可以使用这种基于超节点的全局内存池的简化编程模型完成,大大简化了编程复杂度,再加上聚合策略,减少了系统的IO通信,提高整机的使用效率。
下面举例说明基于上述数据处理系统的数据处理的过程。如图7所示,以超算的OpenMP编程模型以及聚合调度为例,说明基于超节点的全局内存池的OpenMP编程模型,以及聚合策略的系统全生命周期流程的示意图。
1)提交作业阶段:①用户通过作业提交节点提交作业1,作业提交节点将作业提交请求发送至调度器。作业提交请求包括资源需求。例如,作业1的资源需求指示需要512个线程执行作业1。
2)调度阶段:②若超节点1可以提供512个线程,调度器根据作业1的资源需求,将该作业1调度到超节点1,并启动512个线程。例如,调度器确定超节点中4个节点,每个节点可以提供4个处理器,每个处理器包括32个处理器核,则4个节点可以提供4nodes*4P*32cores,则将该作业分配到该4个节点。
3)处理阶段:③超节点1构建了全局内存池,超节点1中的4个节点运行基于OpenMP编程模型编写的应用处理作业1,4个节点基于全局内存池交换数据,从而避免数据跨节点切分,缓解节点间不均匀引起的长尾问题,避免MPI消息通信。
又如,④用户通过作业提交节点提交作业2,作业提交节点将作业提交请求发送至调度器。作业提交请求包括资源需求。例如,作业2的资源需求指示需要16384个线程执行作业2。若超节点2和超节点3可以提供16384个线程,⑤调度器根据作业2的资源需求,将该作业2调度到超节点2和超节点3,并启动16384个线程。⑥超节点2和超节点3之间基于MPI进行消息交换,超节点2中的节点运行基于OpenMP编程模型编写的应用处理作业2,超节点3中的节点运行基于OpenMP编程模型编写的应用处理作业2。
可以理解的是,为了实现上述实施例中的功能,调度器包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
上文中结合图1至图7,详细描述了根据本实施例所提供的数据处理方法,下面将结合图8,描述根据本实施例所提供的调度装置和数据处理装置。
图8为本实施例提供的可能的调度装置的结构示意图。这些调度装置可以用于实现上述方法实施例中调度器的功能,因此也能实现上述方法实施例所具备的有益效果。在本实施例中,该调度装置可以是如图5所示的调度器130,还可以是应用于服务器的模块(如芯片)。
如图8所示,调度装置800包括通信模块810、调度模块820和存储模块830。调度装置800用于实现上述图5中所示的方法实施例中调度器130的功能。
通信模块810用于获取待处理作业,所述待处理作业为与分布式应用相关的处理请求。例如,通信模块810用于执行图5中步骤510。
调度模块820,用于根据所述待处理作业的资源需求控制至少一个超节点,基于所述超节点的全局内存池处理所述待处理作业,所述全局内存池为由所述超节点内节点的存储介质经过统一编址构成的所述超节点内节点共享的资源。例如,调度模块820用于执行图5中步骤520和步骤530。
存储模块830用于存储聚合策略,以便于调度模块820确定处理作业的至少一个超节点。
调度模块820具体用于基于聚合策略、系统资源和所述资源需求确定处理所述待处理作业的至少一个超节点。
图9为本实施例提供的可能的数据处理装置的结构示意图。这些数据处理装置可以用于实现上述方法实施例中超节点中节点的功能,因此也能实现上述方法实施例所具备的有益效果。在本实施例中,该数据处理装置可以是如图5所示的超节点110中节点111,还可以是应用于服务器的模块(如芯片)。
如图9所示,数据处理装置900包括通信模块910、数据处理模块920和存储模块930。数据处理装置900用于实现上述图5中所示的方法实施例中超节点110中节点111的功能。
通信模块910用于获取调度器发送的待处理作业。例如,通信模块910用于执行图5中步骤540。
数据处理模块920,用于运行基于单节点编程模型编写的分布式应用基于全局内存池处理所述待处理作业。例如,数据处理模块920用于执行图5中步骤550。
存储模块930用于存储策略,以便于数据处理模块920确定存储数据的存储位置。
数据处理模块920具体用于基于内存同步访问技术访问所述全局内存池处理所述待处理作业。
数据处理模块920还用于根据预取策略从超节点中存储节点预取数据,存储到所述超节点的计算节点。
数据处理模块920还用于根据数据冷热特性,在远端存储空间与本地存储空间之间进行数据的内存操作。
应理解的是,本申请实施例的调度装置800和数据处理装置900可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complexprogrammable logical device,CPLD),现场可编程门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现图5或图6所示的数据处理方法时,及其各个模块也可以为软件模块,调度装置800和数据处理装置900及其各个模块也可以为软件模块。
根据本申请实施例的调度装置800和数据处理装置900可对应于执行本申请实施例中描述的方法,并且调度装置800和数据处理装置900中的各个单元的上述和其它操作和/或功能分别为了实现图5或图6中的各个方法的相应流程,为了简洁,在此不再赘述。
图10为本实施例提供的一种计算设备1000的结构示意图。如图所示,计算设备1000包括处理器1010、总线1020、存储器1030、通信接口1040和内存单元1050(也可以称为主存(main memory)单元)。处理器1010、存储器1030、内存单元1050和通信接口1040通过总线1020相连。
应理解,在本实施例中,处理器1010可以是CPU,该处理器1010还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
处理器还可以是图形处理器(graphics processing unit,GPU)、神经网络处理器(neural network processing unit,NPU)、微处理器、ASIC、或一个或多个用于控制本申请方案程序执行的集成电路。
通信接口1040用于实现计算设备1000与外部设备或器件的通信。在本实施例中,计算设备1000用于实现图5所示的节点111的功能时,通信接口1040用于获取待处理作业,所述待处理作业为与分布式应用相关的处理请求,节点111基于超节点的全局内存池处理所述待处理作业。
总线1020可以包括一通路,用于在上述组件(如处理器1010、内存单元1050和存储器1030)之间传送信息。总线1020除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线1020。总线1020可以是快捷外围部件互连标准(Peripheral Component Interconnect Express,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等。总线1020可以分为地址总线、数据总线、控制总线等。
作为一个示例,计算设备1000可以包括多个处理器。处理器可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的计算单元。在本实施例中,计算设备1000用于实现图5所示的节点111的功能时,处理器1010可以基于超节点的全局内存池处理所述待处理作业。在本实施例中,计算设备1000用于实现图5所示的调度器130的功能时,处理器1010可以根据待处理作业的资源需求控制至少一个超节点。
值得说明的是,图10中仅以计算设备1000包括1个处理器1010和1个存储器1030为例,此处,处理器1010和存储器1030分别用于指示一类器件或设备,具体实施例中,可以根据业务需求确定每种类型的器件或设备的数量。
内存单元1050可以对应上述方法实施例中用于存储处理后数据等信息的全局内存池。内存单元1050可以是易失性存储器池或非易失性存储器池,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
存储器1030可以对应上述方法实施例中用于存储计算机指令、聚合策略、内存操作指令、存储策略等信息的存储介质,例如,磁盘,如机械硬盘或固态硬盘。
上述计算设备1000可以是一个通用设备或者是一个专用设备。例如,计算设备1000可以是边缘设备(例如,携带具有处理能力芯片的盒子)等。可选地,计算设备1000也可以是服务器或其他具有计算能力的设备。
应理解,根据本实施例的计算设备1000可对应于本实施例中的调度装置800和数据处理装置900,并可以对应于执行根据图5或图6中任一方法中的相应主体,并且调度装置800和数据处理装置900中的各个模块的上述和其它操作和/或功能分别为了实现图5或图6中的各个方法的相应流程,为了简洁,在此不再赘述。
本实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于计算设备中。当然,处理器和存储介质也可以作为分立组件存在于计算设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (23)
1.一种数据处理方法,其特征在于,包括:
调度器获取待处理作业,所述待处理作业为与分布式应用相关的处理请求;
所述调度器根据所述待处理作业的资源需求控制至少一个超节点,基于所述超节点的全局内存池处理所述待处理作业,所述全局内存池为由所述超节点内节点的存储介质经过统一编址构成的所述超节点内节点共享的资源,所述超节点内的节点通过高速互连技术进行连接。
2.根据权利要求1所述的方法,其特征在于,基于所述超节点的全局内存池处理所述待处理作业,包括:
所述超节点中多个节点运行基于单节点编程模型编写的分布式应用基于所述全局内存池处理所述待处理作业。
3.根据权利要求2所述的方法,其特征在于,所述超节点中多个节点运行基于单节点编程模型编写的分布式应用基于所述全局内存池处理所述作业,包括:
所述超节点中多个节点运行基于单节点编程模型编写的分布式应用,基于内存同步访问技术访问所述全局内存池处理所述待处理作业。
4.根据权利要求2或3所述的方法,其特征在于,控制至少一个超节点基于所述超节点的全局内存池处理所述待处理作业,包括:
控制两个以上超节点基于所述超节点的全局内存池处理所述待处理作业,所述两个以上超节点基于信息传递接口进行通信。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述调度器根据所述待处理作业的资源需求控制至少一个超节点,包括:
基于聚合策略、系统资源和所述资源需求确定处理所述待处理作业的至少一个超节点。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述资源需求用于指示处理所述待处理作业所需的进程数和超节点数量。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述资源包括计算资源和存储资源。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述全局内存池的存储介质包括动态随机存取存储器DRAM和存储级内存SCM。
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述方法还包括:
所述超节点中计算节点根据预取策略从超节点中存储节点预取数据,存储到所述超节点的计算节点。
10.根据权利要求1-8中任一项所述的方法,其特征在于,所述方法还包括:
所述超节点中计算节点根据数据冷热特性,在远端存储空间与本地存储空间之间进行数据的内存操作。
11.一种调度装置,其特征在于,包括:
通信模块,用于获取待处理作业,所述待处理作业为与分布式应用相关的处理请求;
调度模块,用于根据所述待处理作业的资源需求控制至少一个超节点,基于所述超节点的全局内存池处理所述待处理作业,所述全局内存池为由所述超节点内节点的存储介质经过统一编址构成的所述超节点内节点共享的资源,所述超节点内的节点通过高速互连技术进行连接。
12.根据权利要求11所述的装置,其特征在于,所述调度模块根据所述待处理作业的资源需求控制至少一个超节点时,具体用于:
基于聚合策略、系统资源和所述资源需求确定处理所述待处理作业的至少一个超节点。
13.根据权利要求11或12所述的装置,其特征在于,所述资源需求用于指示处理所述待处理作业所需的进程数和超节点数量。
14.根据权利要求11-13中任一项所述的装置,其特征在于,所述资源包括计算资源和存储资源。
15.根据权利要求11-14中任一项所述的装置,其特征在于,所述全局内存池的存储介质包括动态随机存取存储器DRAM和存储级内存SCM。
16.一种数据处理装置,其特征在于,包括:
通信模块,用于获取调度器发送的待处理作业;
数据处理模块,用于运行基于单节点编程模型编写的分布式应用基于全局内存池处理所述待处理作业。
17.根据权利要求16所述的装置,其特征在于,运行基于单节点编程模型编写的分布式应用基于所述全局内存池处理所述作业,包括:
基于内存同步访问技术访问所述全局内存池处理所述待处理作业。
18.根据权利要求16或17所述的装置,其特征在于,控制至少一个超节点基于所述超节点的全局内存池处理所述待处理作业,包括:
当所述调度器控制两个以上超节点基于所述超节点的全局内存池处理所述待处理作业,一个超节点基于信息传递接口与另一超节点进行通信。
19.根据权利要求16-18中任一项所述的装置,其特征在于,所述数据处理模块,还用于:
根据预取策略从超节点中存储节点预取数据,存储到所述超节点的计算节点。
20.根据权利要求16-18中任一项所述的装置,其特征在于,所述数据处理模块,还用于:
根据数据冷热特性,在远端存储空间与本地存储空间之间进行数据的内存操作。
21.一种调度器,其特征在于,所述调度包括存储器和至少一个处理器,所述存储器用于存储一组计算机指令;当所述处理器执行所述一组计算机指令时,执行上述权利要求1-10中任一项所述的方法的操作步骤。
22.一种计算设备,其特征在于,所述服务器包括通过高速互连技术进行连接的节点和如权利要求21所述的调度器,所述调度器用于执行上述权利要求1-10中任一项所述的方法的操作步骤。
23.一种系统,其特征在于,所述系统包括多个超节点和调度器,所述调度器用于根据待处理作业的资源需求控制至少一个超节点,基于所述超节点的全局内存池处理所述待处理作业,所述全局内存池为由所述超节点内节点的存储介质经过统一编址构成的所述超节点内节点共享的资源,所述超节点内的节点通过高速互连技术进行连接,所述待处理作业为与分布式应用相关的处理请求;
所述超节点中多个节点用于运行基于单节点编程模型编写的分布式应用基于所述全局内存池处理所述待处理作业;
所述两个以上超节点用于基于信息传递接口进行通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2023/099530 WO2023237115A1 (zh) | 2022-06-10 | 2023-06-09 | 数据处理方法、装置、设备和系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210655939 | 2022-06-10 | ||
CN2022106559396 | 2022-06-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117251259A true CN117251259A (zh) | 2023-12-19 |
Family
ID=89127018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211001039.6A Pending CN117251259A (zh) | 2022-06-10 | 2022-08-19 | 数据处理方法、装置、设备和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117251259A (zh) |
-
2022
- 2022-08-19 CN CN202211001039.6A patent/CN117251259A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8832174B2 (en) | System and method for dynamic task migration on multiprocessor system | |
RU2571366C2 (ru) | Виртуальная архитектура неоднородного доступа к памяти для виртуальных машин | |
Cho et al. | Natjam: Design and evaluation of eviction policies for supporting priorities and deadlines in mapreduce clusters | |
Mutlu | Main memory scaling: Challenges and solution directions | |
WO2021254135A1 (zh) | 任务执行方法及存储设备 | |
Tai et al. | Improving flash resource utilization at minimal management cost in virtualized flash-based storage systems | |
US20120297216A1 (en) | Dynamically selecting active polling or timed waits | |
US11556391B2 (en) | CPU utilization for service level I/O scheduling | |
US10768684B2 (en) | Reducing power by vacating subsets of CPUs and memory | |
Mutlu et al. | The main memory system: Challenges and opportunities | |
CN115981833A (zh) | 一种任务处理方法及装置 | |
US11157191B2 (en) | Intra-device notational data movement system | |
Jalaei et al. | VCSP: virtual CPU scheduling for post-copy live migration of virtual machines | |
CN117377943A (zh) | 存算一体化并行处理系统和方法 | |
US10628279B2 (en) | Memory management in multi-processor environments based on memory efficiency | |
WO2023193814A1 (zh) | 融合系统的数据处理方法、装置、设备和系统 | |
EP3602309B1 (en) | A memory allocation manager and method performed thereby for managing memory allocation | |
US11169720B1 (en) | System and method for creating on-demand virtual filesystem having virtual burst buffers created on the fly | |
CN117251259A (zh) | 数据处理方法、装置、设备和系统 | |
CN116932156A (zh) | 一种任务处理方法、装置及系统 | |
WO2023237115A1 (zh) | 数据处理方法、装置、设备和系统 | |
Rang et al. | Scalable data management on hybrid memory system for deep neural network applications | |
WO2024012153A1 (zh) | 一种数据处理方法及装置 | |
US20180336131A1 (en) | Optimizing Memory/Caching Relative to Application Profile | |
Song et al. | Memory management optimization strategy in Spark framework based on less contention |
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 |