CN111240853B - 一种节点内大块数据双向传输方法及系统 - Google Patents

一种节点内大块数据双向传输方法及系统 Download PDF

Info

Publication number
CN111240853B
CN111240853B CN201911369661.0A CN201911369661A CN111240853B CN 111240853 B CN111240853 B CN 111240853B CN 201911369661 A CN201911369661 A CN 201911369661A CN 111240853 B CN111240853 B CN 111240853B
Authority
CN
China
Prior art keywords
data
item
description
mode
page
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
Application number
CN201911369661.0A
Other languages
English (en)
Other versions
CN111240853A (zh
Inventor
吴瑞强
沈海嘉
杨浩
范玉
沙方浩
张帆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Zhongke Shuguang Storage Technology Co ltd
Original Assignee
Tianjin Zhongke Shuguang Storage Technology Co ltd
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 Tianjin Zhongke Shuguang Storage Technology Co ltd filed Critical Tianjin Zhongke Shuguang Storage Technology Co ltd
Priority to CN201911369661.0A priority Critical patent/CN111240853B/zh
Publication of CN111240853A publication Critical patent/CN111240853A/zh
Application granted granted Critical
Publication of CN111240853B publication Critical patent/CN111240853B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种节点内大块数据双向传输的方法及系统,该方法包括建立内核态和用户态共享内存机制,在共享内存区划分相等数量且一一映射的描述项和页面项;建立大块数据存储单元页面编号交换机制,以基于所述描述项和页面项进行节点内大块数据双向传输;本发明方法实现了服务器存储节点内大块数据的零拷贝双向传输,从网络接收数据,到内核态或用户态多线程处理,再到网络发送的整个通路为零拷贝,且内核态和用户态多个进程间大块数据内存资源的零互斥操作;提高了节点数据传输的吞吐量,降低了节点CPU开销,保证了每个内核态和用户态进程的大块内存资源总数的一致性。

Description

一种节点内大块数据双向传输方法及系统
技术领域
本发明涉及计算机通信技术领域,具体而言,为一种节点内大块数据双向传输方法及系统。
背景技术
分布式块存储系统中每个数据存储节点需要处理海量数据的读取和写入,对节点内外的数据传输需要高效处理,节点内尽量压缩大块数据的拷贝次数和时间,同时节点内各个进程和处理单元需要并发处理业务,尽量减少资源竞争引起的性能下降问题,也要动态解决每个处理单元所需资源不足的问题。
基于服务器的存储区域网络大都采用Linux作为服务器操作系统,它是使用虚拟内存技术的多任务系统,分为内核态和用户态;其内核态进程和用户态进程有不同的地址空间,不能直接传输数据,因此,内核态进程和用户态进程进行数据传输需要专门的方法来实现。常见的内核态和用户态间通信方法有procfs、netlink、syscal、ioctl、relayfs、mmap()等。
其中netlink是基于socket的通信机制,适合内核态与用户态进程间小量数据的及时交互,不适合节点内大块数据的高效传输。syscal和ioctl是由用户态进程向内核态进程发起的通信,不能从内核态向用户态进程发起数据传输,procfs、relayfs是基于文件系统的通信机制,主要适用于内核态进程向用户态进程传输数据,它们都不适合双向传输数据。copy_from_user()和copy_to_user()可以实现内核态和用户态的双向数据传输,但需要拷贝数据,时间占用较大。mmap()可以实现内核态和用户态进程间的内存共享及大量数据双向传输,但需要互斥方法保证数据的正确性,互斥访问带来的资源竞争问题会引起性能的下降;如表1所示的:
表1
现有技术 存在问题
netlink 不适合节点内大块数据的高吞吐量传输
syscal/ioctl 不适合从内核态向用户态大块数据传输
Procfs/relayfs 不适合从用户态向内核态大块数据传输
copy_from_user()/copy_to_user() 拷贝数据的时间占用较大
mmap() 资源竞争引起的互斥访问使性能下降
有鉴于此,特提出本发明。
发明内容
针对现有技术中的缺陷,本发明提供一种节点内大块数据双向传输方法及系统,以实现服务器存储节点内大块数据的零拷贝双向传输,提高数据传输的可靠性。
为了实现上述目的,本发明的技术方案为:
一种节点内大块数据双向传输的方法,包括
建立内核态和用户态共享内存机制,在共享内存区划分相等数量且一一映射的描述项和页面项;
建立大块数据存储单元页面编号交换机制,以基于所述描述项和页面项进行节点内大块数据双向传输。
进一步的,上述的节点内大块数据双向传输的方法中,所述内核态和用户态共享内存机制包括:
内核态分配NUMA NODE个共享内存区,每个共享内存区逻辑上划分为用于分配管理的描述项区和用于大块实际数据传输的页面项区,且每个描述项与每个页面项做一一映射。
进一步的,上述的节点内大块数据双向传输的方法中,所述内核态和用户态共享内存机制中,包括:
对描述项和页面项独立编号,每个描述项中记录所映射的页面项编号;
其中描述项编号用于在内核态和用户态的各进程内分配管理;页面项编号用于在内核态和用户态的不同进程中通过该编号计算出实际大块数据存储单元的虚地址。
进一步的,上述的节点内大块数据双向传输的方法中,
所述内核态和用户态共享内存机制中,包括:
每个共享内存区的描述项区首地址和页面项区首地址mmap()映射到用户态进程虚地址。
进一步的,上述的节点内大块数据双向传输的方法中,所述大块数据存储单元页面编号交换机制,包括:
S4.内核态从网络接收数据时,向内核态描述项管理单元申请描述项,描述项管理单元从内核态描述项空闲列表上申请描述项,用此描述项对应的页面项存储单元接收网络数据,然后交给内核态业务处理进程;
S5.内核态业务处理进程对该描述项映射的页面项对应的实际数据进行处理,处理后将此描述项编号传给用户态业务处理进程;
S6.用户态业务处理进程向用户态描述项管理单元申请描述项,用户态描述项管理单元从用户态描述项空闲列表上申请描述项;用户态业务处理进程将用户态描述项映射的页面项编号和内核态描述项映射的页面项编号交换,交换后应答并返回给内核业务进程内核态描述项;内核业务处理进程释放此描述项到内核态描述项管理单元;
用户态业务处理进程对用户态描述项映射的页面项对应的数据块进行处理;用户态进程对数据完成处理后,将此块数据交由网络处理,完成数据输出到下一个存储节点进行处理;网络将此数据块输出后,释放此描述项到用户态描述项管理单元。
进一步的,上述的节点内大块数据双向传输的方法中,所述大块数据存储单元页面编号交换机制,包括:
从用户态网络接收数据,到用户态进程和内核态进程进行数据处理,直至内核态将数据用网络输出的反方向数据传输过程为步骤S4.、S5.、S6.的逆处理过程。
进一步的,上述的节点内大块数据双向传输的方法中,还包括:
当用户态描述项资源和内核态描述项资源不均衡时,动态的在进程间调配和流转。
本发明还提供了一种实施上述的节点内大块数据双向传输方法的系统。
本发明的有益效果在于:
本发明方法实现了服务器存储节点内大块数据的零拷贝双向传输,从网络接收数据,到内核态或用户态多线程处理,再到网络发送的整个通路为零拷贝,且内核态和用户态多个进程间大块数据内存资源的零互斥操作;提高了节点数据传输的吞吐量,降低了节点CPU开销,保证了每个内核态和用户态进程的大块内存资源总数的一致性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1为本发明方法中内核态和用户态共享内存机制的一个具体实施例示意图;
图2为本发明方法中大块数据存储单元页面编号交换机制的一个具体实施例示意图;
图3为本发明方法中基于内核态和用户态共享内存机制进行初始化的流程图;
图4为本发明方法中大块数据传输及页面项交换过程示意图;
图5为本发明方法中大块资源调配过程示意图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
如图1、2所示的,一种节点内大块数据双向传输的方法,包括
建立内核态和用户态共享内存机制,在共享内存区划分相等数量且一一映射的描述项和页面项;
建立大块数据存储单元页面编号交换机制,以基于所述描述项和页面项进行节点内大块数据双向传输。
本发明在节点内实现大块数据、双向、零拷贝、无竞争性的传输,它采用内核态和用户态共享内存机制,并通过大块数据存储单元页面编号交换机制实现。具体的,建立内核态和用户态共享内存机制包括:
S1.内核态分配NUMA NODE个共享内存区,每个共享内存区逻辑上划分为用于分配管理的描述项区和用于大块实际数据传输的页面项区,且每个描述项与每个页面项做一一映射。
内核态一次性分配此服务器的NUMA NODE(Non-Uniform Memory Access Node,非一致性内存访问节点)个共享内存区,每个共享内存区虚拟地址连续,每个共享内存区逻辑上划分为用于分配管理的描述项区和用于大块实际数据传输的页面项区,描述项个数与页面项个数相等,每个页面项大小为固定的大块数据大小,如8K Byte,将每个描述项与每个页面项做一一映射。
S2.对描述项和页面项独立编号,每个描述项中记录所映射的页面项编号。
每个描述项独立编号,根据编号可以分辨出此描述项所属的共享内存区,标记为Dn,如D10,D50;描述项用于在内核态和用户态的各进程内分配管理,也是内核态和用户态各进程传输的信息项。每个页面项也独立编号,根据编号可以分辨出此页面项所属的共享内存区,用于在内核态和用户态的不同进程中通过该编号计算出实际大块数据存储单元的虚地址,标记位Pn,如P20,P80。每个描述项中记录所映射的页面项编号。
本实施例中,所述描述项为可分配、调配的最小单元(类比运输车头),页面项为大块数据的存储空间(类比集装箱),页面项可用于交换,其存储空间大小为4Kbyte、8Kbyte等固定大小。
S3.每个共享内存区的描述项区首地址和页面项区首地址mmap()映射到用户态进程虚地址。
将每个共享内存区的描述项区首地址和页面项区首地址mmap()映射到用户态进程虚地址,这样内核态和用户态均可访问这些共享内存区;内核态和用户态每个进程拥有固定数量的描述项,并将自己所拥有的描述项统一分配管理起来。
如图3所示的,通过内核态和用户态共享内存机制管理内核态和用户态共享内存区时,先从内核态分配NUMA Node个共享内存区,每个内存区初始化描述项和内页面及其映射关系,然后将内核态描述项初始化,每个共享内存区mmap()映射到用户态,将用户态描述项管理初始化。
如图4所示的,本发明中所述大块数据存储单元页面编号交换机制包括:
S4.内核态从网络接收数据时(图4中的进程1),向内核态描述项管理单元申请描述项(进程2),描述项管理单元从内核态描述项空闲列表上申请描述项,用此描述项对应的页面项存储单元接收网络数据(进程3),然后交给内核态业务处理进程(进程4)。
S5.内核态业务处理进程对该描述项映射的页面项对应的实际数据进行处理(进程5),处理后将此描述项编号用netlink或伪字符设备等机制传给用户态业务处理进程(进程6)。
S6.用户态业务处理进程向用户态描述项管理单元申请描述项(进程7),用户态描述项管理单元从用户态描述项空闲列表上申请描述项(进程8)。用户态业务处理进程将用户态描述项映射的页面项编号和内核态描述项映射的页面项编号交换(进程9),交换后应答并返回给内核业务进程内核态描述项(进程10);其中,此时此描述项对应的页面项编号已经被交换成原用户态的页面项编号,内核业务处理进程释放此描述项到内核态描述项管理单元(进程11)。
用户态业务处理进程对用户态描述项映射的页面项对应的数据块进行处理(进程12),此时用户态描述项映射的页面编号为原内核态页面编号,此页面对应的存储单元里存放的是内核态从网络接收的数据。用户态进程对数据完成处理后,将此块数据交由网络处理(进程13),完成数据输出到下一个存储节点进行处理(进程14)。
网络将此数据块输出后,释放此描述项到用户态描述项管理单元(进程15),其中此描述项与分配时的描述项为同一个描述项,但此描述项对应的页面编号已经被交换成原内核态的页面项编号。
这样就完成了一次从内核态网络接收数据,节点内核态和用户态进程对数据处理,然后交由网络对数据进行输出的单向传输。整个传输过程没有对此大块数据进行拷贝,并且内核态及用户态各自的描述项和页面项资源数量没有变化,交换后内核态描述项可继续分配出去用于接收新的网络数据,没有互斥的竞争性访问问题。
从用户态网络接收数据,到用户态进程和内核态进程进行数据处理,直至内核态将数据用网络输出的反方向数据传输过程为S4.、S5.、S6.三步骤的逆处理过程,因此不再重复叙述。
在本发明方法的大块数据存储单元页面编号交换机制中,所有描述项动态分配给N个不同的内核态和用户态进程,每个进程从分配给自己的描述项空闲池中动态申请、使用,并归还到自己管理的描述项池,两个描述项间可以互相交换各自的页面项,也可以不交换。
S7.当用户态描述项资源和内核态描述项资源不均衡时,可以动态的在进程间调配和流转,此过程如图5示。
当户态描述项资源大于内核态描述项资源时,内核态描述项管理单元向用户态描述项管理单元请求N个描述项,若用户态可以流转描述项,则用户态减少描述项处理,同时内核态增加描述项处理;否则流转失败;
同理,当户态描述项资源小于内核态描述项资源时,用户态描述项管理单元向内核态描述项管理单元请求N个描述项,若内核态可以流转描述项,则内核态减少描述项处理,同时用户态增加描述项处理;否则流转失败。
本发明方法实现了服务器存储节点内大块数据的零拷贝双向传输,从网络接收数据,到内核态或用户态多线程处理,再到网络发送的整个通路为零拷贝,且内核态和用户态多个进程间大块数据内存资源的零互斥操作;提高了节点数据传输的吞吐量,降低了节点CPU开销,保证了每个内核态和用户态进程的大块内存资源总数的一致性。
实施例2
本发明还提供了一种实施所述的节点内大块数据双向传输方法的系统,其包括处理器和存储器,存储器中存储有程序,程序被处理器运行时,执行:
S1.内核态分配NUMA NODE个共享内存区,每个共享内存区逻辑上划分为用于分配管理的描述项区和用于大块实际数据传输的页面项区,且每个描述项与每个页面项做一一映射。
S2.对描述项和页面项独立编号,每个描述项中记录所映射的页面项编号。
每个描述项独立编号,根据编号可以分辨出此描述项所属的共享内存区,标记为Dn,如D10,D50;描述项用于在内核态和用户态的各进程内分配管理,也是内核态和用户态各进程传输的信息项。每个页面项也独立编号,根据编号可以分辨出此页面项所属的共享内存区,用于在内核态和用户态的不同进程中通过该编号计算出实际大块数据存储单元的虚地址,标记位Pn,如P20,P80。每个描述项中记录所映射的页面项编号。
本实施例中,所述描述项为可分配、调配的最小单元(类比运输车头),页面项为大块数据的存储空间(类比集装箱),页面项可用于交换,其存储空间大小为4Kbyte、8Kbyte等固定大小。
S3.每个共享内存区的描述项区首地址和页面项区首地址mmap()映射到用户态进程虚地址。
将每个共享内存区的描述项区首地址和页面项区首地址mmap()映射到用户态进程虚地址,这样内核态和用户态均可访问这些共享内存区;内核态和用户态每个进程拥有固定数量的描述项,并将自己所拥有的描述项统一分配管理起来。
如图3所示的,通过内核态和用户态共享内存机制管理内核态和用户态共享内存区时,先从内核态分配NUMA Node个共享内存区,每个内存区初始化描述项和内页面及其映射关系,然后将内核态描述项初始化,每个共享内存区mmap()映射到用户态,将用户态描述项管理初始化。
S4.如图4所示的,内核态从网络接收数据时(进程1),向内核态描述项管理单元申请描述项(进程2),描述项管理单元从内核态描述项空闲列表上申请描述项,用此描述项对应的页面项存储单元接收网络数据(进程3),然后交给内核态业务处理进程(进程4)。
S5.内核态业务处理进程对该描述项映射的页面项对应的实际数据进行处理(进程5),处理后将此描述项编号用netlink或伪字符设备等机制传给用户态业务处理进程(进程6)。
S6.用户态业务处理进程向用户态描述项管理单元申请描述项(进程7),用户态描述项管理单元从用户态描述项空闲列表上申请描述项(进程8)。用户态业务处理进程将用户态描述项映射的页面项编号和内核态描述项映射的页面项编号交换(进程9),交换后应答并返回给内核业务进程内核态描述项(进程10);其中,此时此描述项对应的页面项编号已经被交换成原用户态的页面项编号,内核业务处理进程释放此描述项到内核态描述项管理单元(进程11)。
用户态业务处理进程对用户态描述项映射的页面项对应的数据块进行处理(进程12),此时用户态描述项映射的页面编号为原内核态页面编号,此页面对应的存储单元里存放的是内核态从网络接收的数据。用户态进程对数据完成处理后,将此块数据交由网络处理(进程13),完成数据输出到下一个存储节点进行处理(进程14)。
网络将此数据块输出后,释放此描述项到用户态描述项管理单元(进程15),其中此描述项与分配时的描述项为同一个描述项,但此描述项对应的页面编号已经被交换成原内核态的页面项编号。
这样就完成了一次从内核态网络接收数据,节点内核态和用户态进程对数据处理,然后交由网络对数据进行输出的单向传输。整个传输过程没有对此大块数据进行拷贝,并且内核态及用户态各自的描述项和页面项资源数量没有变化,交换后内核态描述项可继续分配出去用于接收新的网络数据,没有互斥的竞争性访问问题。
从用户态网络接收数据,到用户态进程和内核态进程进行数据处理,直至内核态将数据用网络输出的反方向数据传输过程为S4.、S5.、S6.三步骤的逆处理过程,因此不再重复叙述。
S7.当用户态描述项资源和内核态描述项资源不均衡时,可以动态的在进程间调配和流转,此过程如图4示。
当户态描述项资源大于内核态描述项资源时,内核态描述项管理单元向用户态描述项管理单元请求N个描述项,若用户态可以流转描述项,则用户态减少描述项处理,同时内核态增加描述项处理;否则流转失败;
同理,当户态描述项资源小于内核态描述项资源时,用户态描述项管理单元向内核态描述项管理单元请求N个描述项,若内核态可以流转描述项,则内核态减少描述项处理,同时用户态增加描述项处理;否则流转失败。
本发明系统用于实施本发明上述方法,其程序的执行步骤原理可参考实施例1的相关描述,此处不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

Claims (7)

1.一种节点内大块数据双向传输的方法,其特征在于,包括
建立内核态和用户态共享内存机制,在共享内存区划分相等数量且一一映射的描述项和页面项;
建立大块数据存储单元页面编号交换机制,以基于所述描述项和页面项进行节点内大块数据双向传输,
其中,所述大块数据存储单元页面编号交换机制包括:
S4.内核态从网络接收数据时,向内核态描述项管理单元申请描述项,描述项管理单元从内核态描述项空闲列表上申请描述项,用此描述项对应的页面项存储单元接收网络数据,然后交给内核态业务处理进程;
S5.内核态业务处理进程对该描述项映射的页面项对应的实际数据进行处理,处理后将此描述项编号传给用户态业务处理进程;
S6.用户态业务处理进程向用户态描述项管理单元申请描述项,用户态描述项管理单元从用户态描述项空闲列表上申请描述项;用户态业务处理进程将用户态描述项映射的页面项编号和内核态描述项映射的页面项编号交换,交换后应答并返回给内核业务进程内核态描述项;内核业务处理进程释放此描述项到内核态描述项管理单元;
用户态业务处理进程对用户态描述项映射的页面项对应的数据块进行处理;用户态进程对数据完成处理后,将此块数据交由网络处理,完成数据输出到下一个存储节点进行处理;网络将此数据块输出后,释放此描述项到用户态描述项管理单元。
2.根据权利要求1所述的节点内大块数据双向传输的方法,其特征在于,所述内核态和用户态共享内存机制包括:
内核态分配NUMA NODE个共享内存区,每个共享内存区逻辑上划分为用于分配管理的描述项区和用于大块实际数据传输的页面项区,且每个描述项与每个页面项做一一映射。
3.根据权利要求2所述的节点内大块数据双向传输的方法,其特征在于,
所述内核态和用户态共享内存机制中,包括:
对描述项和页面项独立编号,每个描述项中记录所映射的页面项编号;
其中描述项编号用于在内核态和用户态的各进程内分配管理;页面项编号用于在内核态和用户态的不同进程中通过该编号计算出实际大块数据存储单元的虚地址。
4.根据权利要求3所述的节点内大块数据双向传输的方法,其特征在于,
所述内核态和用户态共享内存机制中,包括:
每个共享内存区的描述项区首地址和页面项区首地址mmap()映射到用户态进程虚地址。
5.根据权利要求1所述的节点内大块数据双向传输的方法,其特征在于,
所述大块数据存储单元页面编号交换机制,包括:
从用户态网络接收数据,到用户态进程和内核态进程进行数据处理,直至内核态将数据用网络输出的反方向数据传输过程为步骤S4.、S5.、S6.的逆处理过程。
6.根据权利要求5所述的节点内大块数据双向传输的方法,其特征在于,还包括:
当用户态描述项资源和内核态描述项资源不均衡时,动态的在进程间调配和流转。
7.一种实施权利要求1-6任一项所述的节点内大块数据双向传输方法的系统。
CN201911369661.0A 2019-12-26 2019-12-26 一种节点内大块数据双向传输方法及系统 Active CN111240853B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911369661.0A CN111240853B (zh) 2019-12-26 2019-12-26 一种节点内大块数据双向传输方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911369661.0A CN111240853B (zh) 2019-12-26 2019-12-26 一种节点内大块数据双向传输方法及系统

Publications (2)

Publication Number Publication Date
CN111240853A CN111240853A (zh) 2020-06-05
CN111240853B true CN111240853B (zh) 2023-10-10

Family

ID=70874098

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911369661.0A Active CN111240853B (zh) 2019-12-26 2019-12-26 一种节点内大块数据双向传输方法及系统

Country Status (1)

Country Link
CN (1) CN111240853B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948318B (zh) * 2021-03-09 2022-12-06 西安奥卡云数据科技有限公司 一种Linux操作系统下基于RDMA的数据传输方法及装置
CN115826885B (zh) * 2023-02-21 2023-05-09 浪潮电子信息产业股份有限公司 一种数据迁移方法、装置及电子设备和存储介质
CN116455612B (zh) * 2023-03-23 2023-11-28 京信数据科技有限公司 一种隐私计算中间数据流零拷贝装置及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107046508A (zh) * 2016-02-05 2017-08-15 华为技术有限公司 报文接收方法及网络设备
CN107577539A (zh) * 2016-07-05 2018-01-12 阿里巴巴集团控股有限公司 用于内核态和用户态通讯的共享内存结构及其应用
CN108062253A (zh) * 2017-12-11 2018-05-22 北京奇虎科技有限公司 一种内核态与用户态的通信方法、装置及终端
CN110149262A (zh) * 2019-04-02 2019-08-20 视联动力信息技术股份有限公司 一种信令报文的处理方法和装置、及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8452846B2 (en) * 2010-08-12 2013-05-28 Talari Networks Incorporated Adaptive private network asynchronous distributed shared memory services

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107046508A (zh) * 2016-02-05 2017-08-15 华为技术有限公司 报文接收方法及网络设备
CN107577539A (zh) * 2016-07-05 2018-01-12 阿里巴巴集团控股有限公司 用于内核态和用户态通讯的共享内存结构及其应用
CN108062253A (zh) * 2017-12-11 2018-05-22 北京奇虎科技有限公司 一种内核态与用户态的通信方法、装置及终端
CN110149262A (zh) * 2019-04-02 2019-08-20 视联动力信息技术股份有限公司 一种信令报文的处理方法和装置、及存储介质

Also Published As

Publication number Publication date
CN111240853A (zh) 2020-06-05

Similar Documents

Publication Publication Date Title
CN111240853B (zh) 一种节点内大块数据双向传输方法及系统
US7689783B2 (en) System and method for sharing memory by heterogeneous processors
CN101354682B (zh) 一种用于解决多处理器访问目录冲突的装置和方法
US8276154B2 (en) Hash partitioning streamed data
CN107291424A (zh) 基于闪存的加速器和包含其的计算设备
US20050038941A1 (en) Method and apparatus for accessing a memory
US20030131043A1 (en) Distributed allocation of system hardware resources for multiprocessor systems
EP0179401A2 (en) Dynamically allocated local/global storage system
US20020194433A1 (en) Shared cache memory replacement control method and apparatus
TWI547870B (zh) 用於在多節點環境中對i/o 存取排序的方法和系統
US9612750B2 (en) Autonomous memory subsystem architecture
US20180081567A1 (en) Buffer allocation and memory management using mapping table
TW201539190A (zh) 用於多節點系統中的記憶體分配的方法和裝置
US10824555B2 (en) Method and system for flash-aware heap memory management wherein responsive to a page fault, mapping a physical page (of a logical segment) that was previously reserved in response to another page fault for another page in the first logical segment
TW201543218A (zh) 具有多節點連接的多核網路處理器互連之晶片元件與方法
JP7205033B2 (ja) キャッシュの割当方法と装置、記憶媒体、電子装置
US8464017B2 (en) Apparatus and method for processing data in a massively parallel processor array system
US11410032B2 (en) Word2VEC processing system
US8543770B2 (en) Assigning memory to on-chip coherence domains
US10331570B2 (en) Real time memory address translation device
US8316207B2 (en) Assigning efficiently referenced globally unique identifiers in a multi-core environment
CN113138851B (zh) 一种数据管理方法、相关装置及系统
WO2001016761A2 (en) Efficient page allocation
US20060153185A1 (en) Method and apparatus for dynamically changing ring size in network processing
CN116795767A (zh) 一种基于CHI协议的多核Cache共享一致性协议构建方法

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