CN112565474B - 面向分布式共享spm的批量数据传输方法 - Google Patents
面向分布式共享spm的批量数据传输方法 Download PDFInfo
- Publication number
- CN112565474B CN112565474B CN201910910495.4A CN201910910495A CN112565474B CN 112565474 B CN112565474 B CN 112565474B CN 201910910495 A CN201910910495 A CN 201910910495A CN 112565474 B CN112565474 B CN 112565474B
- Authority
- CN
- China
- Prior art keywords
- spm
- transmission
- size
- address
- data transmission
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000000977 initiatory effect Effects 0.000 claims abstract description 4
- 230000007246 mechanism Effects 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2596—Translation of addresses of the same type other than IP, e.g. translation from MAC to MAC addresses
-
- 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
- H04L67/1097—Protocols 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种面向分布式共享SPM的批量数据传输方法,传输前读取SPM可用空间大小,若SPM的可用空间足够,执行下一步;将共享SPM起始目的地址转换为SPM局部地址,根据分布式共享SPM地址编址方法计算得到对应的物理SPM号和SPM内的局部地址;根据SPM局部地址计算对应物理SPM的可传输数据量,由所述SPM号对应线程发起批量数据传输,将批量数据从主存传输至物理SPM;数据传输完成后,更新下一轮传输的起始地址,以及剩余总传输数据量;将在下一轮传输的中计算;当spm_size_free_total<=0时,结束数据传输。本发明提升使用分布式SPM共享机制的计算机系统的可编程性和好用性。
Description
技术领域
本发明涉及一种面向分布式共享SPM的批量数据传输方法,属于高性能计算编译优化技术领域。
背景技术
SPM存储器具有功耗低、访问速度快、占用芯片面积少等特点,在高性能处理器、嵌入式处理器等对功耗有严格限制的处理器上广泛使用。在使用SPM的众核处理器上,实现多个核心SPM的分布式共享,能够极大的简化编程,提高众核系统的可编程性和好用性。但分布式共享SPM只是逻辑上的共享,共享SPM空间在物理上位于多个计算核心上,要实现共享SPM空间数据与主存数据之间的批量传输,要精确计算出共享SPM空间物理上在不同核心上的局部地址空间、局部数据长度等信息,这个过程极其复杂,对于程序设计人员来说是很大的负担。
发明内容
本发明的目的是提供一种面向分布式共享SPM的批量数据传输方法,该面向分布式共享SPM的批量数据传输方法实现了共享SPM数据的批量传输,使用分布式共享SPM机制的功能更加完备,提升使用分布式SPM共享机制的计算机系统的可编程性和好用性。
为达到上述目的,本发明采用的技术方案是:一种面向分布式共享SPM的批量数据传输方法,包括以下步骤:
S1、传输前读取SPM可用空间大小,判断SPM的可用空间是否足够,如果SPM的可用空间不足,则退出批量传输操作;如果SPM的可用空间足够,则执行下一步;
S2、将共享SPM起始目的地址转换为SPM局部地址,即根据分布式共享SPM地址编址方法计算得到对应的物理SPM号和在SPM内的局部地址;
S3、根据SPM局部地址计算对应物理SPM的可传输数据量,由所述SPM号对应线程发起批量数据传输,将批量数据从主存传输至物理SPM,传输的数据量spm_tran_len为spm_size_free_local和spm_size_free_total之间的最小值;
S4、数据传输完成后,更新下一轮传输的起始地址spm_addr_start=spm_addr_start+spm_tran_len,以及剩余总传输数据量spm_size_free_total=spm_size_free_total-spm_tran_len;将在下一轮的S2中计算;
S5、当spm_size_free_total<=0时,结束数据传输;否则,执行S2。
由于上述技术方案的运用,本发明与现有技术相比具有下列优点:
本发明面向分布式共享SPM的批量数据传输方法,其在运行时,根据共享地址空间分布方式,结合SPM共享空间批量数据传输的地址和数据传输长度,进行局部地址、局部数据长度、局部数据段所在线程id号的计算,然后通过每个核心调用相应的批量数据传输接口完成物理上落在本核心上的共享数据的传输,从而实现共享SPM数据的批量传输,使用分布式共享SPM机制的功能更加完备,提升使用分布式SPM共享机制的计算机系统的可编程性和好用性,简化用户编程,使共享SPM的功能更加完备。
附图说明
附图1为本发明面向分布式共享SPM的批量数据传输方法流程示意图。
具体实施方式
实施例:一种面向分布式共享SPM的批量数据传输方法,包括以下步骤,
S1、传输前读取SPM可用空间大小,判断SPM的可用空间是否足够,如果SPM的可用空间不足,则退出批量传输操作,如果SPM的可用空间足够,则执行下一步;
S2、将共享SPM起始目的地址转换为SPM局部地址,即根据分布式共享SPM地址编址方法计算得到对应的物理SPM号和在SPM内的局部地址;
S3、根据SPM局部地址计算对应物理SPM的可传输数据量,由所述SPM号对应线程发起批量数据传输,将批量数据从主存传输至物理SPM,传输的数据量spm_tran_len为spm_size_free_local(可用spm局存大小)和spm_size_free_total(剩余spm传输数据量大小)之间的最小值;
S4、数据传输完成后,更新下一轮传输的起始地址spm_addr_start(spm起始地址)=spm_addr_start+spm_tran_len,以及剩余总传输数据量spm_size_free_total=spm_size_free_total-spm_tran_len;将在下一轮的S2中计算;
S5、当spm_size_free_total<=0时,结束数据传输;否则,执行S2。
实施例进一步解释如下:
分布式共享SPM地址编址方法在本发明中没有具体要求,其SPM地址编址方法简单举例如下:每个物理SPM中将地址段addr_start~addr_end用于共享,地址长度len,则共享SPM地址可描述为0~(len*thread_num),其中thread_num为参与共享的线程数量,因此对于分布式共享SPM地址spm_addr,可以计算得到对应的物理SPM号为(spm_addr/len),在该SPM内的局部地址为(spm_addr%len)。
共享SPM数据的批量传输中,主要包括两个过程,一个是参数检查:检查SPM可用空间是否足够;二是将SPM地址转换为线程的实际物理地址,根据传输大小分段计算对应线程的剩余空间,依次传输。
使用本专利实现的共享SPM批量数据传输方法,能够实现用户透明的SPM数据传输,而无需了解SPM内在的分布式存储机制,在充分利用SPM空间的基础上提升系统的可编程性和好用性。
采用上述面向分布式共享SPM的批量数据传输方法时,其在运行时,根据共享地址空间分布方式,结合SPM共享空间批量数据传输的地址和数据传输长度,进行局部地址、局部数据长度、局部数据段所在线程id号的计算,然后通过每个核心调用相应的批量数据传输接口完成物理上落在本核心上的共享数据的传输,从而实现共享SPM数据的批量传输,使用分布式共享SPM机制的功能更加完备,提升使用分布式SPM共享机制的计算机系统的可编程性和好用性,简化用户编程,使共享SPM的功能更加完备。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
Claims (1)
1.一种面向分布式共享SPM的批量数据传输方法,其特征在于:包括以下步骤:
S1、传输前读取SPM可用空间大小,判断SPM的可用空间是否足够,如果SPM的可用空间不足,则退出批量传输操作;如果SPM的可用空间足够,则执行下一步;
S2、将共享SPM起始目的地址转换为对应的SPM局部地址,具体为根据分布式共享SPM地址编址方法计算得到对应的物理SPM号和在SPM内的局部地址;
S3、根据SPM局部地址计算对应物理SPM的可传输数据量,由所述SPM号对应线程发起批量数据传输,将批量数据从主存传输至物理SPM,传输的数据量spm_tran_len为spm_size_free_local和spm_size_free_total之间的最小值,其中,spm_size_free_local为可用spm局存大小,spm_size_free_total为剩余spm传输数据量大小;
S4、数据传输完成后,更新下一轮传输的起始地址spm_addr_start= spm_addr_start+spm_tran_len,以及剩余总传输数据量spm_size_free_total= spm_size_free_total-spm_tran_len;将在下一轮的S2中计算;
S5、当spm_size_free_total<=0时,结束数据传输;否则,执行S2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910910495.4A CN112565474B (zh) | 2019-09-25 | 2019-09-25 | 面向分布式共享spm的批量数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910910495.4A CN112565474B (zh) | 2019-09-25 | 2019-09-25 | 面向分布式共享spm的批量数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112565474A CN112565474A (zh) | 2021-03-26 |
CN112565474B true CN112565474B (zh) | 2024-02-06 |
Family
ID=75029121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910910495.4A Active CN112565474B (zh) | 2019-09-25 | 2019-09-25 | 面向分布式共享spm的批量数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112565474B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115080453A (zh) * | 2022-07-20 | 2022-09-20 | 井芯微电子技术(天津)有限公司 | 地址计算阵列管理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6081833A (en) * | 1995-07-06 | 2000-06-27 | Kabushiki Kaisha Toshiba | Memory space management method, data transfer method, and computer device for distributed computer system |
CN101290592A (zh) * | 2008-06-03 | 2008-10-22 | 浙江大学 | 一种mpsoc上多道程序共享spm的实现方法 |
CN102110196A (zh) * | 2009-12-25 | 2011-06-29 | 中国长城计算机深圳股份有限公司 | 并行运行多用户操作系统间的数据安全传输方法及系统 |
CN106790599A (zh) * | 2016-12-29 | 2017-05-31 | 中国人民解放军国防科学技术大学 | 一种基于多核无锁环形缓冲区的共生虚拟机通信方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101496340B1 (ko) * | 2008-10-31 | 2015-03-04 | 삼성전자주식회사 | 프로세서 및 메모리 제어 방법 |
US8271763B2 (en) * | 2009-09-25 | 2012-09-18 | Nvidia Corporation | Unified addressing and instructions for accessing parallel memory spaces |
-
2019
- 2019-09-25 CN CN201910910495.4A patent/CN112565474B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6081833A (en) * | 1995-07-06 | 2000-06-27 | Kabushiki Kaisha Toshiba | Memory space management method, data transfer method, and computer device for distributed computer system |
CN101290592A (zh) * | 2008-06-03 | 2008-10-22 | 浙江大学 | 一种mpsoc上多道程序共享spm的实现方法 |
CN102110196A (zh) * | 2009-12-25 | 2011-06-29 | 中国长城计算机深圳股份有限公司 | 并行运行多用户操作系统间的数据安全传输方法及系统 |
CN106790599A (zh) * | 2016-12-29 | 2017-05-31 | 中国人民解放军国防科学技术大学 | 一种基于多核无锁环形缓冲区的共生虚拟机通信方法 |
Non-Patent Citations (1)
Title |
---|
李文明.MACT:高通量众核处理器离散访存请求批量处理机制.《计算机研究与发展》.2015,第52卷(第6期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN112565474A (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6134453B2 (ja) | コマンドキューイング | |
US7802061B2 (en) | Command-based control of NAND flash memory | |
CN103744644B (zh) | 采用四核结构搭建的四核处理器系统及数据交换方法 | |
CN114580344B (zh) | 测试激励生成方法、验证方法、验证系统及相关设备 | |
CN103246625B (zh) | 一种数据与地址共用引脚自适应调整访存粒度的方法 | |
JP7216781B2 (ja) | データ記憶方法、データ記憶装置、データ読み取り方法及びデータ読み取り装置 | |
CN105556503B (zh) | 动态的存储器控制方法及其系统 | |
JP2009205698A5 (zh) | ||
CN104317770B (zh) | 用于众核处理系统的数据存储结构及数据访问方法 | |
RU2643499C2 (ru) | Управление памятью | |
US9263106B2 (en) | Efficient command mapping scheme for short data burst length memory devices | |
CN106557442A (zh) | 一种芯片系统 | |
CN115098412B (zh) | 外设访问控制器、数据访问装置及对应方法、介质和芯片 | |
CN106250348A (zh) | 一种基于gpu访存特性的异构多核架构缓存管理方法 | |
CN111666330A (zh) | 数据的读写方法和装置 | |
CN112565474B (zh) | 面向分布式共享spm的批量数据传输方法 | |
CN101504567A (zh) | 一种cpu、cpu指令系统及降低cpu功耗的方法 | |
CN104409099A (zh) | 基于FPGA的高速eMMC阵列控制器 | |
CN115981751B (zh) | 一种近存计算系统以及近存计算方法、装置、介质及设备 | |
CN111158753A (zh) | 具有数据预取功能的Flash控制器结构及其实现方法 | |
CN106293491A (zh) | 写请求的处理方法和内存控制器 | |
CN114911724A (zh) | 一种基于多bank的cache预取技术的访存结构 | |
CN111126584B (zh) | 数据回写系统 | |
CN102591820B (zh) | 一种idma总线桥装置 | |
CN109726149B (zh) | 一种axi总线访问nand flash的方法及装置 |
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 |