WO2020119608A1 - 基于Spark Shuffle的远程直接内存访问系统及方法 - Google Patents

基于Spark Shuffle的远程直接内存访问系统及方法 Download PDF

Info

Publication number
WO2020119608A1
WO2020119608A1 PCT/CN2019/123754 CN2019123754W WO2020119608A1 WO 2020119608 A1 WO2020119608 A1 WO 2020119608A1 CN 2019123754 W CN2019123754 W CN 2019123754W WO 2020119608 A1 WO2020119608 A1 WO 2020119608A1
Authority
WO
WIPO (PCT)
Prior art keywords
transmission data
receiving
sending
manager
verification information
Prior art date
Application number
PCT/CN2019/123754
Other languages
English (en)
French (fr)
Inventor
方方
马学军
张剑
那勇
曾雨薇
Original Assignee
中国人民银行清算总中心
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 中国人民银行清算总中心 filed Critical 中国人民银行清算总中心
Priority to EP19894409.2A priority Critical patent/EP3896931B1/en
Publication of WO2020119608A1 publication Critical patent/WO2020119608A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Definitions

  • the invention relates to the technical field of remote memory direct access, in particular to a remote direct memory access system and method based on Spark Shuffle.
  • the main purpose of the embodiments of the present invention is to provide a remote direct memory access system based on Spark Shuffle, which includes: a sending end and a receiving end;
  • the sending end further includes a registrar, which is used to register the transmission task as a format that supports remote direct memory access; wherein, the transmission task stores the transmission data.
  • a registrar which is used to register the transmission task as a format that supports remote direct memory access; wherein, the transmission task stores the transmission data.
  • the sending manager is further used to check the status of the sender and the sending channel, and feed back a sending status reminder to the sender, so that the sender Obtain the transmission data through the transmission task according to the transmission status reminder.
  • the receiving end further includes a listener, the listener is used to monitor the receiving channel, and when monitoring that the transmission data enters the receiving channel, the receiver The receiver sends a reception reminder, so that the receiver calls the reception manager according to the reception reminder.
  • the verification result includes a verification pass or a verification failure; when the verification result is that the verification fails, the receiver sends a transmission failure reminder to the transmitter.
  • An embodiment of the present invention also provides an electronic device, including a memory, a processor, and a computer program stored on the memory and executable on the processor.
  • the processor executes the program, the Spark Shuffle-based remote direct Steps of memory access method.
  • An embodiment of the present invention also provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the steps of the Spark direct shuffle-based remote memory access method are implemented.
  • the remote direct memory access system of the present invention achieves bypassing the access control at the operating system level and directly accessing the memory data of the remote computer, thereby greatly increasing the data throughput between the nodes and shortening the data processing completion time.
  • Figure 1 is a schematic diagram of the process of the Shuffle stage
  • FIG. 2 is a schematic diagram of TCP Socket and RDMA data transmission
  • FIG. 3 is a schematic structural diagram of a remote direct memory access system based on Spark Shuffle according to an embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of an electronic device in an embodiment of this application.
  • the traditional TCP socket data transmission requires many steps: the data is first copied from the source application to the Sockets buffer of the current host, then copied to the TransportProtocolDriver, then to the NICDriver, and finally the NIC sends the data to the target host through the network NIC, the target host transmits the data to the application through the above steps, and the entire process is shown in Figure 2.
  • a large part of the transmission of network data is used for data copying. If the data to be transferred is large, then the time spent in this stage is likely to account for a large part of the entire job running time.
  • RDMA technology can directly save the data copy of different layers, so that the target host directly obtains data from the source host memory.
  • RDMA (Remote Direct Memory Access) technology stands for remote direct memory access.
  • FIG. 3 is a schematic structural diagram of a remote direct memory access system based on Spark Shuffle according to an embodiment of the present invention.
  • the system shown in the figure includes: a sending end and a receiving end;
  • the receiving end includes a receiver 20, a receiving channel 21, and a receiving manager 22; the receiver 20 obtains transmission data and verification information in the transmission channel 11 through remote direct memory access technology, and transfers the transmission data and all The verification information is stored in the reception channel 21, and the reception manager 22 is called; after the reception manager 22 is called, the transmission data is verified according to the verification information.
  • the transmitter 10 places the transmission data to be transmitted in the queue in the transmission channel 11 and calls the transmission manager 12.
  • the transmission manager 12 generates verification information according to the transmission data, and the verification information may specifically include information such as the total number of data and the data type.
  • the transmission manager 12 transmits the verification information to the transmission channel 11.
  • the receiver 20 at the receiving end obtains the transmission data and the verification information in the transmission channel 11 from the transmission channel 11 using remote direct memory access technology (RDMA).
  • RDMA remote direct memory access technology
  • the receiver 20 places the received transmission data and verification information in the queue of the reception channel 21, and calls the reception manager 22 to verify the transmission data.
  • the reception manager 22 checks the transmission data based on the content described in the verification information. For example, check the total number and type of transmitted data.
  • the transmission data processing process is RdmaShuffle's transmission manager 12 to check whether the status of the transmitter 10 and the transmission channel 11 is normal, and call the registrar to check whether the transmission job (job) is registered in a format that supports remote direct memory access (RdmaShuffle).
  • the sender 10 calls the sending manager 12, and the sender 10 receives the buffer data of the sparkmap task, that is, the transmission data, and stores it in the sending channel 11, and sends it to the peer network card by DiSNIAPI.
  • the receiving manager 22 is also used to view the status of the receiver 20 and the receiving channel 21, and feed back a receiving status reminder to the receiver 20, so that the receiver 20 Obtain the transmission data through the sending channel 11 according to the reception status reminder.
  • the verification information includes data details and summary information; after the receiving manager 22 is called, verifying the transmission data according to the verification information further includes: the receiving manager 22 Check the details of the transmission data according to the data details, and check the total number of the transmission data according to the summary information.
  • the verification information of the transmitted data includes data details.
  • the data details may include information such as data type, and the summary information includes the total number of data, for example, the total number of data.
  • the reception manager 22 is further configured to verify the transmission data, and then the reception manager 22 sends the verification result to the receiver.
  • the verification result includes whether the verification passes or fails; when the verification result is that the verification fails, the receiver 20 sends a transmission failure reminder to the transmitter 10.
  • the transmission failure reminder sent by the receiver 20 to the transmitter 10 may include the type of error that occurred.
  • remote direct memory access system of the present invention access control of the operating system level is bypassed and direct access to remote computer memory data is achieved, thereby greatly increasing the data throughput between nodes and shortening the data processing completion time.
  • An embodiment of the present invention also provides a remote direct memory access method based on Spark Shuffle, the method includes:
  • the access control at the operating system level is bypassed, and the remote computer memory data is directly accessed, thereby greatly increasing the data throughput between nodes and shortening the data processing completion time.
  • the electronic device can be implemented with reference to the embodiment for the method of remote direct memory access based on Spark Shuffle and the embodiment of the method for remote direct memory access based on Spark Shuffle, the content of which is incorporated in Therefore, the repetition is not repeated here.
  • FIG. 4 is a schematic block diagram of the system configuration of the electronic device 600 according to an embodiment of the present application.
  • the electronic device 600 may include a central processor 100 and a memory 140; the memory 140 is coupled to the central processor 100. It is worth noting that the figure is exemplary; other types of structures can also be used to supplement or replace the structure to achieve telecommunications functions or other functions.
  • the memory 140 may be, for example, one or more of a buffer, flash memory, hard drive, removable medium, volatile memory, non-volatile memory, or other suitable devices.
  • the above-mentioned information related to failure can be stored, and in addition, a program for executing the related information can be stored.
  • the central processing unit 100 can execute the program stored in the memory 140 to realize information storage or processing.
  • the input unit 120 provides input to the central processor 100.
  • the input unit 120 is, for example, a key or a touch input device.
  • the power supply 170 is used to provide power to the electronic device 600.
  • the display 160 is used for displaying display objects such as images and characters.
  • the display may be, for example, an LCD display, but it is not limited thereto.
  • the memory 140 may further include a data storage part 143 for storing data.
  • the driver storage portion 144 of the memory 140 may include various drivers of the electronic device for communication functions and/or for performing other functions of the electronic device (such as messaging applications, address book applications, etc.).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种基于Spark Shuffle的远程直接内存访问系统及方法。所述系统包括:发送端及接收端;所述发送端包括发送器、发送通道及发送管理器;所述发送器将获取到的传输数据存储至所述发送通道,并调用所述发送管理器;所述发送管理器被调用后,根据所述传输数据生成核对信息,并将所述核对信息存储至所述发送通道;所述接收端包括接收器、接收通道及接收管理器;所述接收器通过远程直接内存访问技术获取所述发送通道中的传输数据及核对信息,将所述传输数据及所述核对信息存储至所述接收通道,并调用所述接收管理器;所述接收管理器被调用后,根据所述核对信息对所述传输数据进行核验。

Description

基于Spark Shuffle的远程直接内存访问系统及方法 技术领域
本发明涉及远程内存直接访问技术领域,尤指一种基于Spark Shuffle的远程直接内存访问系统及方法。
背景技术
在MapReduce框架中,Shuffle是连接Map和Reduce之间的桥梁,Reduce要读取到Map的输出必须要经过Shuffle这个环节;而Reduce和Map过程通常不在一台节点,这意味着Shuffle阶段通常需要跨网络以及一些磁盘的读写操作,因此Shuffle的性能高低直接影响了整个程序的性能和吞吐量。
与MapReduce计算框架一样,Spark作业也有Shuffle阶段,通常以Shuffle来划分Stage;而Stage之间的数据交互是需要Shuffle来完成的。整个过程如图1所示。不管是MapReduce还是Spark作业,Shuffle操作是很消耗CPU、RAM、磁盘还有网络资源的;需要尽可能地避免Shuffle操作。
发明内容
为了解决目前Spark的Shuffle阶段消耗过大、数据通量低等问题,本发明实施例的主要目的在于提供一种基于Spark Shuffle的远程直接内存访问系统,所述系统包括:发送端及接收端;
所述发送端包括发送器、发送通道及发送管理器;所述发送器将获取到的传输数据存储至所述发送通道,并调用所述发送管理器;所述发送管理器被调用后,根据所述传输数据生成核对信息,并将所述核对信息存储至所述发送通道;
所述接收端包括接收器、接收通道及接收管理器;所述接收器通过远程直接内存访问技术获取所述发送通道中的传输数据及核对信息,将所述传输数据及所述核对信息存储至所述接收通道,并调用所述接收管理器;所述接收管理器被调用后,根据所述核对信息对所述传输数据进行核验。
可选的,在本发明一实施例中,所述发送端还包括注册器,所述注册器用于将传输任务注册为支持远程直接内存访问的格式;其中,所述传输任务中存储所述传输数据。
可选的,在本发明一实施例中,所述发送管理器还用于查看所述发送器及所述发送通道的状态,并向所述发送器反馈发送状态提醒,以使所述发送器根据所述发送状态提醒,通过所述传输任务获取所述传输数据。
可选的,在本发明一实施例中,所述接收端还包括监听器,所述监听器用于监听所述接收通道,当监听到所述传输数据进入所述接收通道时,向所述接收器发送接收提醒,以使所述接收器根据所述接收提醒调用所述接收管理器。
可选的,在本发明一实施例中,所述接收管理器还用于查看所述接收器及所述接收通道的状态,并向所述接收器反馈接收状态提醒,以使所述接收器根据所述接收状态提醒,通过所述发送通道获取所述传输数据。
可选的,在本发明一实施例中,所述核对信息包括数据明细及汇总信息;所述接收管理器被调用后,根据所述核对信息对所述传输数据进行核验进一步包括:所述接收管理器根据所述数据明细核对所述传输数据的明细,并根据所述汇总信息核对所述传输数据的总数。
可选的,在本发明一实施例中,所述接收管理器还用于对所述传输数据进行核验后,所述接收管理器向所述接收器发送核验结果。
可选的,在本发明一实施例中,所述核验结果包括核验通过或核验不通过;所述核验结果为核验不通过时,所述接收器向所述发送器发送传输失败提醒。
本发明实施例还提供一种基于Spark Shuffle的远程直接内存访问方法,所述方法包括:
存储获取到的传输数据,根据所述传输数据生成核对信息,并存储所述核对信息;
通过远程直接内存访问技术获取所述传输数据及所述核对信息,存储所述传输数据及所述核对信息,根据所述核对信息对所述传输数据进行核验。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实所述基于Spark Shuffle的远程直接内存访问方法的步骤。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述基于Spark Shuffle的远程直接内存访问方法的步骤。
本发明中的远程直接内存访问系统,实现了绕过操作系统级的访问控制,直接访问远程计算机内存数据,从而大幅提高节点间的数据通量,缩短数据处理完成时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为Shuffle阶段的流程示意图;
图2为TCP Socket与RDMA数据传输的示意图;
图3为本发明实施例一种基于Spark Shuffle的远程直接内存访问系统的结构示意图;
图4为本申请的实施例中的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
传统的TCP Socket数据传输需要经过很多步骤:数据先从源端应用程序拷贝到当前主机的Sockets缓存区,然后再拷贝到TransportProtocol Driver,然后到NIC Driver,最后NIC通过网络将数据发送到目标主机的NIC,目标主机又经过上面步骤将数据传输到应用程序,整个过程如图2所示。网络数据的传输很大一部分时间用于数据的拷贝。如果需要传输的数据很大,那么这个阶段用的时间很可能占整个作业运行时间的很大一部分。RDMA技术可以直接省掉不同层的数据拷贝,使得目标主机直接从源端主机内存获取数据。RDMA(Remote Direct Memory Access)技术全称远程直接内存访问,是一种直接内存访问技术,它将数据直接从一台计算机的内存传输到另一台计算机,无需双方操作系统的介入。这允许高通量、低延迟的网络通信,尤其适合在大规模并行计算机集群中使用。RDMA有以下几个特点:Zero-copy、直接硬件接口(Direct hardware interface),绕过内核和TCP/IP的IO、亚微秒延迟、Flow control and reliability is offloaded in hardware。
如图3所示为本发明实施例一种基于Spark Shuffle的远程直接内存访问系统的结构示意图,图中所示系统包括:发送端及接收端;
所述发送端包括发送器10、发送通道11及发送管理器12;所述发送器10将获取到的传输数据存储至所述发送通道11,并调用所述发送管理器12;所述发送管理器12被调用后,根据所述传输数据生成核对信息,并将所述核对信息存储至所述发送通道11;
所述接收端包括接收器20、接收通道21及接收管理器22;所述接收器20通过远程直接内存访问技术获取所述发送通道11中的传输数据及核对信息,将所述传输数据及所述核对信息存储至所述接收通道21,并调用所述接收管理器22;所述接收管理器22被调用后,根据所述核对信息对所述传输数据进行核验。
在本实施例中,发送器10将准备发送的传输数据放置于发送通道11中的队列里,并调用发送管理器12。发送管理器12根据传输数据生成核对信息,核对信息中具体可以包括例如数据总条数、数据类型等信息。发送管理器12将核对信息发送至发送通道11。接收端的接收器20从发送通道11利用远程直接内存访问技术(RDMA)获取发送通道11中的传输数据及核对信息。接收器20将接收到的传输数据及核对信息放置于接收通道21的队列中,并调用接收管理器22对传输数据进行核对。具体的,接收管理器22依据核对信息中记载的内容,对传输数据进行核对。例如对传输数据的总条数、类型等进行核对。
其中,发送管理器12及接收管理器22负责管理追踪发送器10、发送通道11、接收器20和接收通道21状态,负责维护通道启停等操作。同时提供etl处理模块,可以实现shuffle阶段对buffer中存储数据的预处理,包括数据核对等能力。发送器10负责接收sparkmap任务的buffer数据,并通过发送通道11发送至对端。接收器20负责处理接收通道21中的接收数据。发送通道11与接收通道21负责创建入栈队列,保存发送和接收数据。
作为本发明的一个实施例,所述发送端还包括注册器13,所述注册器13用于将传输任务注册为支持远程直接内存访问的格式;其中,所述传输任务中存储所述传输数据。
在本实施例中,所述发送管理器12还用于查看所述发送器及所述发送通道的状态,并向所述发送器反馈发送状态提醒,以使所述发送器根据所述发送状态提醒,通过所述传输任务获取所述传输数据。
其中,发送数据处理过程为RdmaShuffle的发送管理器12查看发送器10和发送通道11状态是否为正常,并调用注册器查看是否传输任务(job)注册为支持远程直接内存访问的格式(RdmaShuffle)。发送数据时,发送器10调用发送管理器12,由发送器 10接收sparkmap任务的buffer数据,即传输数据,并存储至发送通道11,由DiSNIAPI发送至对端网卡。
作为本发明的一个实施例,所述接收端还包括监听器23,所述监听器23用于监听所述接收通道21,当监听到所述传输数据进入所述接收通道21时,向所述接收器20发送接收提醒,以使所述接收器20根据所述接收提醒调用所述接收管理器22。
在本实施例中,监听器23监听接收通道21是否有数据到达,并启动接收器20处理接收通道21,接收器20调用接收管理器22进行etl数据检查,比如数据核对等内容,核对失败则返回处理错误结果。
作为本发明的一个实施例,所述接收管理器22还用于查看所述接收器20及所述接收通道21的状态,并向所述接收器20反馈接收状态提醒,以使所述接收器20根据所述接收状态提醒,通过所述发送通道11获取所述传输数据。
作为本发明的一个实施例,所述核对信息包括数据明细及汇总信息;所述接收管理器22被调用后,根据所述核对信息对所述传输数据进行核验进一步包括:所述接收管理器22根据所述数据明细核对所述传输数据的明细,并根据所述汇总信息核对所述传输数据的总数。其中,传输数据的核对信息中包括了数据明细,数据明细可以包括例如数据类型等信息,汇总信息中包括了数据的总数,例如可以为数据的总条数。
作为本发明的一个实施例,所述接收管理器22还用于对所述传输数据进行核验后,所述接收管理器22向所述接收器发送核验结果。
在本实施例中,所述核验结果包括核验通过或核验不通过;所述核验结果为核验不通过时,所述接收器20向所述发送器10发送传输失败提醒。其中,接收器20向发送器10发送的传输失败提醒中,可以包括发生的错误类型等。
通过本发明中的远程直接内存访问系统,实现了绕过操作系统级的访问控制,直接访问远程计算机内存数据,从而大幅提高节点间的数据通量,缩短数据处理完成时间。
本发明实施例还提供一种基于Spark Shuffle的远程直接内存访问方法,所述方法包括:
存储获取到的传输数据,根据所述传输数据生成核对信息,并存储所述核对信息;
通过远程直接内存访问技术获取所述传输数据及所述核对信息,存储所述传输数据及所述核对信息,根据所述核对信息对所述传输数据进行核验。
基于与上述一种基于Spark Shuffle的远程直接内存访问系统相同的申请构思,本发明还提供了上述一种基于Spark Shuffle的远程直接内存访问方法。由于该一种基于 Spark Shuffle的远程直接内存访问方法解决问题的原理与一种基于Spark Shuffle的远程直接内存访问系统相似,因此该一种基于Spark Shuffle的远程直接内存访问方法的实施可以参见一种基于Spark Shuffle的远程直接内存访问系统的实施,重复之处不再赘述。
通过本发明中的远程直接内存访问方法,实现了绕过操作系统级的访问控制,直接访问远程计算机内存数据,从而大幅提高节点间的数据通量,缩短数据处理完成时间。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实所述基于Spark Shuffle的远程直接内存访问方法的步骤。所述电子设备具体包括如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例用于基于Spark Shuffle的远程直接内存访问方法的实施例及用于基于Spark Shuffle的远程直接内存访问系统的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图4为本申请实施例的电子设备600的系统构成的示意框图。如图4所示,该电子设备600可以包括中央处理器100和存储器140;存储器140耦合到中央处理器100。值得注意的是,该图是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
如图4所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理器130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图4中所示的所有部件;此外,电子设备600还可以包括图4中没有示出的部件,可以参考现有技术。
如图4所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。
输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。
存储器140还可以包括数据存储部143,该数据存储部143用于存储数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述基于Spark Shuffle的远程直接内存访问方法的步骤。
基于与上述一种基于Spark Shuffle的远程直接内存访问系统相同的申请构思,本发明还提供了上述一种电子设备及一种计算机可读存储介质。由于该一种电子设备及一种计算机可读存储介质解决问题的原理与一种基于Spark Shuffle的远程直接内存访问系统相似,因此该一种电子设备及一种计算机可读存储介质的实施可以参见一种基于Spark Shuffle的远程直接内存访问系统的实施,重复之处不再赘述。
通过本发明中的电子设备及计算机可读存储介质,实现了绕过操作系统级的访问控制,直接访问远程计算机内存数据,从而大幅提高节点间的数据通量,缩短数据处理完成时间。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,比如ROM/RAM、磁碟、光盘等。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

  1. 一种基于Spark Shuffle的远程直接内存访问系统,其特征在于,所述系统包括:发送端及接收端;
    所述发送端包括发送器、发送通道及发送管理器;所述发送器将获取到的传输数据存储至所述发送通道,并调用所述发送管理器;所述发送管理器被调用后,根据所述传输数据生成核对信息,并将所述核对信息存储至所述发送通道;
    所述接收端包括接收器、接收通道及接收管理器;所述接收器通过远程直接内存访问技术获取所述发送通道中的传输数据及核对信息,将所述传输数据及所述核对信息存储至所述接收通道,并调用所述接收管理器;所述接收管理器被调用后,根据所述核对信息对所述传输数据进行核验。
  2. 根据权利要求1所述的系统,其特征在于,所述发送端还包括注册器,所述注册器用于将传输任务注册为支持远程直接内存访问的格式;其中,所述传输任务中存储所述传输数据。
  3. 根据权利要求2所述的系统,其特征在于,所述发送管理器还用于查看所述发送器及所述发送通道的状态,并向所述发送器反馈发送状态提醒,以使所述发送器根据所述发送状态提醒,通过所述传输任务获取所述传输数据。
  4. 根据权利要求1所述的系统,其特征在于,所述接收端还包括监听器,所述监听器用于监听所述接收通道,当监听到所述传输数据进入所述接收通道时,向所述接收器发送接收提醒,以使所述接收器根据所述接收提醒调用所述接收管理器。
  5. 根据权利要求1所述的系统,其特征在于,所述接收管理器还用于查看所述接收器及所述接收通道的状态,并向所述接收器反馈接收状态提醒,以使所述接收器根据所述接收状态提醒,通过所述发送通道获取所述传输数据。
  6. 根据权利要求1所述的系统,其特征在于,所述核对信息包括数据明细及汇总信息;
    所述接收管理器被调用后,根据所述核对信息对所述传输数据进行核验进一步包括:
    所述接收管理器根据所述数据明细核对所述传输数据的明细,并根据所述汇总信息核对所述传输数据的总数。
  7. 根据权利要求1所述的系统,其特征在于,所述接收管理器还用于对所述传输数据进行核验后,所述接收管理器向所述接收器发送核验结果。
  8. 根据权利要求7所述的系统,其特征在于,所述核验结果包括核验通过或核验不通过;所述核验结果为核验不通过时,所述接收器向所述发送器发送传输失败提醒。
  9. 一种基于Spark Shuffle的远程直接内存访问方法,其特征在于,所述方法包括:
    存储获取到的传输数据,根据所述传输数据生成核对信息,并存储所述核对信息;
    通过远程直接内存访问技术获取所述传输数据及所述核对信息,存储所述传输数据及所述核对信息,根据所述核对信息对所述传输数据进行核验。
  10. 一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求9所述基于Spark Shuffle的远程直接内存访问方法的步骤。
  11. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求9所述基于Spark Shuffle的远程直接内存访问方法的步骤。
PCT/CN2019/123754 2018-12-10 2019-12-06 基于Spark Shuffle的远程直接内存访问系统及方法 WO2020119608A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP19894409.2A EP3896931B1 (en) 2018-12-10 2019-12-06 Spark shuffle-based remote direct memory access system and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811501978.0A CN109861967A (zh) 2018-12-10 2018-12-10 基于Spark Shuffle的远程直接内存访问系统
CN201811501978.0 2018-12-10

Publications (1)

Publication Number Publication Date
WO2020119608A1 true WO2020119608A1 (zh) 2020-06-18

Family

ID=66890889

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/123754 WO2020119608A1 (zh) 2018-12-10 2019-12-06 基于Spark Shuffle的远程直接内存访问系统及方法

Country Status (3)

Country Link
EP (1) EP3896931B1 (zh)
CN (1) CN109861967A (zh)
WO (1) WO2020119608A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109861967A (zh) * 2018-12-10 2019-06-07 中国人民银行清算总中心 基于Spark Shuffle的远程直接内存访问系统
CN111258785B (zh) * 2020-01-20 2023-09-08 北京百度网讯科技有限公司 数据洗牌方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103227778A (zh) * 2013-03-26 2013-07-31 华为技术有限公司 内存访问方法、设备和系统
CN105630426A (zh) * 2016-01-07 2016-06-01 清华大学 基于rdma特性的远程数据获取方法及系统
US20170277655A1 (en) * 2016-03-25 2017-09-28 Microsoft Technology Licensing, Llc Memory sharing for working data using rdma
CN109861967A (zh) * 2018-12-10 2019-06-07 中国人民银行清算总中心 基于Spark Shuffle的远程直接内存访问系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596144B2 (en) * 2005-06-07 2009-09-29 Broadcom Corp. System-on-a-chip (SoC) device with integrated support for ethernet, TCP, iSCSI, RDMA, and network application acceleration
US7523378B2 (en) * 2005-09-23 2009-04-21 Intel Corporation Techniques to determine integrity of information
CN102404212A (zh) * 2011-11-17 2012-04-04 曙光信息产业(北京)有限公司 一种基于InfiniBand网络的跨平台RDMA通信方法
CN103248467B (zh) * 2013-05-14 2015-10-28 中国人民解放军国防科学技术大学 基于片内连接管理的rdma通信方法
US10375167B2 (en) * 2015-11-20 2019-08-06 Microsoft Technology Licensing, Llc Low latency RDMA-based distributed storage
CN107480080B (zh) * 2017-07-03 2021-03-23 深圳致星科技有限公司 一种基于rdma的零拷贝数据流
CN108631947B (zh) * 2018-05-21 2021-06-25 南京大学 一种基于纠删码的rdma网络数据传输方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103227778A (zh) * 2013-03-26 2013-07-31 华为技术有限公司 内存访问方法、设备和系统
CN105630426A (zh) * 2016-01-07 2016-06-01 清华大学 基于rdma特性的远程数据获取方法及系统
US20170277655A1 (en) * 2016-03-25 2017-09-28 Microsoft Technology Licensing, Llc Memory sharing for working data using rdma
CN109861967A (zh) * 2018-12-10 2019-06-07 中国人民银行清算总中心 基于Spark Shuffle的远程直接内存访问系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3896931A4 *

Also Published As

Publication number Publication date
EP3896931A4 (en) 2022-08-24
EP3896931B1 (en) 2024-04-17
CN109861967A (zh) 2019-06-07
EP3896931A1 (en) 2021-10-20

Similar Documents

Publication Publication Date Title
US10095639B2 (en) Multi-processor startup system
US11243595B2 (en) Method and apparatus for reducing continuous-wakeup delay of bluetooth loudspeaker, and bluetooth loudspeaker
US20070041383A1 (en) Third party node initiated remote direct memory access
WO2019179026A1 (zh) 电子装置、集群访问域名自动生成方法及存储介质
WO2021082969A1 (zh) 核间数据处理方法、系统、片上系统以及电子设备
US20170171301A1 (en) Method, device and system for load balancing configuration
WO2017088572A1 (zh) 一种处理数据的方法、装置及系统
US8681788B2 (en) Accelerating NDMP based virtual tape library operations
US7840706B1 (en) Wake-on-LAN design in a load balanced environment
WO2020042769A1 (zh) 图像信息的传输方法、装置、存储介质及电子设备
EP3779690A1 (en) Processor core scheduling method and apparatus, terminal, and storage medium
WO2022017475A1 (zh) 一种数据访问方法及相关设备
WO2020119608A1 (zh) 基于Spark Shuffle的远程直接内存访问系统及方法
CN109889468B (zh) 网络数据的传输方法、系统、装置、设备及存储介质
CN111949614A (zh) 银行系统文件转换方法及装置
US10313450B2 (en) Method for transparently connecting augmented network socket operations
WO2023202295A1 (zh) 内存管控方法、装置、存储介质及电子设备
US20230342086A1 (en) Data processing apparatus and method, and related device
US10645166B2 (en) Network interface card
WO2020223862A1 (zh) 挂载处理方法、装置、电子设备及计算机可读取存储介质
US20050138189A1 (en) Running a communication protocol state machine through a packet classifier
CN113452948B (zh) 会议终端的控制方法、装置、设备及存储介质
US20140040520A1 (en) Method and program for selective suspension of usb device
CN115048255A (zh) 一种自动化测试方法、装置,主机及存储介质
CN111274176B (zh) 一种信息处理方法、电子设备、系统及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19894409

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019894409

Country of ref document: EP

Effective date: 20210712