CN111506350A - 具有ooda循环分区机制的流式处理器 - Google Patents

具有ooda循环分区机制的流式处理器 Download PDF

Info

Publication number
CN111506350A
CN111506350A CN202010374970.3A CN202010374970A CN111506350A CN 111506350 A CN111506350 A CN 111506350A CN 202010374970 A CN202010374970 A CN 202010374970A CN 111506350 A CN111506350 A CN 111506350A
Authority
CN
China
Prior art keywords
partition
processor
compute
partitions
calculation unit
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
Application number
CN202010374970.3A
Other languages
English (en)
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.)
Western Institute Of Advanced Technology Institute Of Computing Chinese Academy Of Sciences
Original Assignee
Western Institute Of Advanced Technology Institute Of Computing Chinese Academy Of Sciences
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 Western Institute Of Advanced Technology Institute Of Computing Chinese Academy Of Sciences filed Critical Western Institute Of Advanced Technology Institute Of Computing Chinese Academy Of Sciences
Priority to CN202010374970.3A priority Critical patent/CN111506350A/zh
Publication of CN111506350A publication Critical patent/CN111506350A/zh
Priority to CN202011078515.5A priority patent/CN111984328B/zh
Pending legal-status Critical Current

Links

Images

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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Advance Control (AREA)

Abstract

本发明公开了一种具有OODA循环分区机制的流式处理器,包括四个独立计算分区,每个计算分区具有多个计算单元PE,多个所述计算单元PE分别为观察计算单元O1、调整计算单元O2、想定计算单元D3和行动计算单元A4;处理器每条指令分别占用四个所述计算分区的部分或全部资源,处理器的指令通过各个计算单元的分区控制器按照观察计算单元O1→调整计算单元O2→想定计算单元D3→行动计算单元A4→观察计算单元O1的执行顺序循环占用各个计算分区。该流式处理器在处理OODA多步骤作业任务时,只需要一条指令即可在四个不同的计算分区上完成处理,能够根据作业流的负载特征,设计处理器结构,以保证处理器以高效并行流水线方式执行作业流指令,提高处理器的处理效率。

Description

具有OODA循环分区机制的流式处理器
技术领域
本发明涉及一种具有OODA循环分区机制的流式处理器。
背景技术
随着具有前后依赖关系的工作流逐渐成为主要计算负载,针对处理器的结构设计逐渐向“流式”化处理指令的设计思路延伸。
然而,现有处理器结构设计往往以相同计算单元,来构建处理器上的各个独立计算核心(即:“核”)。此外,现有处理器结构所包含的各个计算分区,很难能够根据作业流的负载特征,设计处理器结构,难以保证以高效并行流水线方式执行作业流指令。
OODA环(OODA Loop)理论最早由美国空军上校John Boyd于1966年提出,是用于描述军事指挥决策过程的主要模型框架。OODA环依次由:观察(Observe),调整(Orient),想定(Decide),行动(Act),在内共四步以循环方式执行军事决策。OODA环理论完成决策或复杂问题的思维过程,整是人脑理性思维的思维定式。
发明内容
本发明的目的是提供一种具有OODA循环分区机制的流式处理器,以解决现有处理器结构所包含的各个计算分区,很难能够根据作业流的负载特征,设计处理器结构,难以保证以高效并行流水线方式执行作业流指令的问题。
为解决上述技术问题,本发明提供一种具有OODA循环分区机制的流式处理器,包括四个独立计算分区,每个计算分区具有多个计算单元PE,多个所述计算单元PE分别为观察计算单元O1、调整计算单元O2、想定计算单元D3和行动计算单元A4;处理器每条指令分别占用四个所述计算分区的部分或全部资源,处理器的指令通过各个计算单元的分区控制器按照观察计算单元O1→调整计算单元O2→想定计算单元D3→行动计算单元A4→观察计算单元O1的执行顺序循环占用各个计算分区。
进一步地,处理器每条指令占用各个分区资源的数量,由各个分区的调度器指定;运行指令时根据各个分区的调度器,为每条指令分配各个分区的计算资源。
进一步地,两两相邻的计算分区之间通过共享内存进行分区间的数据和指令传输。
进一步地,一条需要使用多个计算分区的指令,在完成一个计算分区的计算后,通过与下一顺序计算分区的共享内存,将已完成计算的分区所得到的中间过程数据传递给下一计算分区。
进一步地,当某一指令无需完全利用四个计算分区,则利用共享内存间的数据传输总线传输数据至下一计算分区。
本发明的有益效果为:该流式处理器在处理OODA个独立步骤的工作流计算指令时,只需要一条指令即可在四个不同的计算分区上完成处理,能够根据作业流的负载特征,设计处理器结构;可通过两两分区间共享处理器内存方式,以流水线方式处理工作流,实现“芯片级”多工作流并行执行,提高处理工作流的处理效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,在这些附图中使用相同的参考标号来表示相同或相似的部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明一个实施例的OODA循环分区机制的流式处理器分区结构示意图。
图2为本发明一个实施例的指令占用OODA全部分区的执行顺序举例示意图。
图3为本发明另一个实施例的指令占用OODA部分分区的执行顺序举例示意图。
具体实施方式
如图1所示的具有OODA循环分区机制的流式处理器,该流式处理器包括四个独立计算分区(Group),每个计算分区具有多个计算单元PE,多个所述计算单元PE为观察(Observe)计算单元O1、调整(Orient)计算单元O2、想定(Decide)计算单元D3和行动(Act)计算单元A4。
处理器每条指令分别占用四个所述计算分区的部分或全部资源,处理器的指令通过各个计算单元的分区控制器按照观察计算单元O1→调整计算单元O2→想定计算单元D3→行动计算单元A4→观察计算单元O1(即O1->O2->D3->A4->O1)的执行顺序循环占用各个计算分区。
其中,处理器每条指令占用各个分区资源的数量,由各个分区的调度器指定;运行指令时根据各个分区的调度器,为每条指令分配各个分区的计算资源。
两两相邻的计算分区之间通过共享内存进行分区间的数据和指令传输。如图1所示,观察计算单O1与调整计算单元O2之间、调整计算单元O2与想定计算单元D3之间、想定计算单元D3与行动计算单元A4之间以及行动计算单元A4与观察计算单O1之间,分别共享同一内存。即每个分区按照两个计算单元PE为一个核心(Core),同一个核心的两个计算单元共享相同的L1 cache和L2 cache。同属同一分区的计算核心共享一个L3 cache。
如图2所示,每条指令执行时,按照OODA各个计算分区的执行顺序,通过共享内存实现计算分区间的数据传输。一条需要使用多个计算分区的指令,在完成一个计算分区的计算后,通过与下一顺序计算分区的共享内存,将已完成计算的分区所得到的中间过程数据传递给下一计算分区。如图2中的虚线箭头指向方向传输数据。
该流式处理器在处理OODA个独立步骤的工作流计算指令时,只需要一条指令即可在四个不同的计算分区上完成处理,能够根据作业流的负载特征,设计处理器结构;可通过两两分区间共享处理器内存方式,以流水线方式处理工作流,实现“芯片级”多工作流并行执行,提高处理工作流的处理效率。
如图3所示,当某一指令无需完全利用四个计算分区,则利用共享内存间的数据传输总线(Bus)传输数据至下一计算分区。如图3中的虚线箭头方向传输数据。即除可用于执行OODA四个执行步骤的指令外,还可以按照当前指令集需要执行的计算需求,通过四个核心分区间两两共享处理器内存全联通Bus方式,减少执行分区间访存路径方式,因此该流失处理器除满足OODA基本指令集的指令外,满足OODA扩展指令集指令需求。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (5)

1.一种具有OODA循环分区机制的流式处理器,其特征在于,包括四个独立计算分区,每个计算分区具有多个计算单元PE处理元件,多个所述计算单元PE分别为观察计算单元O1、调整计算单元O2、想定计算单元D3和行动计算单元A4;处理器每条指令分别占用四个所述计算分区的部分或全部资源,处理器的指令通过各个计算单元的分区控制器按照观察计算单元O1→调整计算单元O2→想定计算单元D3→行动计算单元A4→观察计算单元O1的执行顺序循环占用各个计算分区。
2.根据权利要求1所述的具有OODA循环分区机制的流式处理器,其特征在于,处理器每条指令占用各个分区资源的数量,由各个分区的调度器指定;运行指令时根据各个分区的调度器,为每条指令分配各个分区的计算资源。
3.根据权利要求2所述的具有OODA循环分区机制的流式处理器,其特征在于,两两相邻的计算分区之间通过共享内存进行分区间的数据和指令传输。
4.根据权利要求3所述的具有OODA循环分区机制的流式处理器,其特征在于,一条需要使用多个计算分区的指令,在完成一个计算分区的计算后,通过与下一顺序计算分区的共享内存,将已完成计算的分区所得到的中间过程数据传递给下一计算分区。
5.根据权利要求3或4所述的具有OODA循环分区机制的流式处理器,其特征在于,当某一指令无需完全利用四个计算分区,则利用共享内存间的数据传输总线传输数据至下一计算分区。
CN202010374970.3A 2020-04-30 2020-04-30 具有ooda循环分区机制的流式处理器 Pending CN111506350A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010374970.3A CN111506350A (zh) 2020-04-30 2020-04-30 具有ooda循环分区机制的流式处理器
CN202011078515.5A CN111984328B (zh) 2020-04-30 2020-10-10 具有ooda循环分区机制的流式处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010374970.3A CN111506350A (zh) 2020-04-30 2020-04-30 具有ooda循环分区机制的流式处理器

Publications (1)

Publication Number Publication Date
CN111506350A true CN111506350A (zh) 2020-08-07

Family

ID=71864401

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010374970.3A Pending CN111506350A (zh) 2020-04-30 2020-04-30 具有ooda循环分区机制的流式处理器
CN202011078515.5A Active CN111984328B (zh) 2020-04-30 2020-10-10 具有ooda循环分区机制的流式处理器

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202011078515.5A Active CN111984328B (zh) 2020-04-30 2020-10-10 具有ooda循环分区机制的流式处理器

Country Status (1)

Country Link
CN (2) CN111506350A (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9588773B2 (en) * 2013-01-07 2017-03-07 Wave Computing, Inc. Software based application specific integrated circuit
WO2015008379A1 (ja) * 2013-07-19 2015-01-22 株式会社日立製作所 データ処理装置およびデータ処理方法
US20160179550A1 (en) * 2014-12-23 2016-06-23 Intel Corporation Fast vector dynamic memory conflict detection
CN106325983A (zh) * 2015-06-29 2017-01-11 北京中科院软件中心有限公司 一种内存占用小、支持并发的微程模型及调度方法
US10073783B2 (en) * 2016-11-23 2018-09-11 Advanced Micro Devices, Inc. Dual mode local data store
CN107273195B (zh) * 2017-05-24 2020-06-02 上海艾融软件股份有限公司 一种大数据的批处理方法、装置及计算机系统
CN110069441A (zh) * 2019-03-21 2019-07-30 中国科学院计算技术研究所 一种用于流计算的fpga网络及流计算系统与方法

Also Published As

Publication number Publication date
CN111984328A (zh) 2020-11-24
CN111984328B (zh) 2023-01-20

Similar Documents

Publication Publication Date Title
US11789895B2 (en) On-chip heterogeneous AI processor with distributed tasks queues allowing for parallel task execution
US11782870B2 (en) Configurable heterogeneous AI processor with distributed task queues allowing parallel task execution
Moseley et al. On scheduling in map-reduce and flow-shops
WO2015106533A1 (zh) 基于协处理器的作业调度处理方法及装置
EP1730628A1 (en) Resource management in a multicore architecture
CN111158790B (zh) 面向云端深度学习推理的fpga虚拟化方法
CN113835866B (zh) 多线程任务调度优化方法
US20200371835A1 (en) Method And Apparatus For Scheduling Matrix Operations In Digital Processing Systems
Vaidehi et al. Multicore applications in real time systems
EP2759927B1 (en) Apparatus and method for sharing function logic between functional units, and reconfigurable processor thereof
CN111258655A (zh) 融合计算方法及可读存储介质
JP2014503898A (ja) 処理装置の同期動作のための方法およびシステム
CN111984328B (zh) 具有ooda循环分区机制的流式处理器
US9760969B2 (en) Graphic processing system and method thereof
CN116795503A (zh) 任务调度方法、任务调度装置、图形处理器及电子设备
CN102184090A (zh) 一种动态可重构处理器及其固定数的调用方法
CN105468451A (zh) 一种基于高通量测序数据的计算机集群的作业调度系统
CN111858073B (zh) 具有ooda多分区可替换机制的处理器
Singla et al. Task Scheduling Algorithms for Grid Computing with Static Jobs: A Review
CN114866612B (zh) 一种电力微服务卸载方法及装置
CN112256435B (zh) 用于图形处理器的工作组的分配方法以及图形处理器
CN114358269B (zh) 神经网络处理组件及多神经网络处理方法
US11915041B1 (en) Method and system for sequencing artificial intelligence (AI) jobs for execution at AI accelerators
CN117369876A (zh) 一种基于多核和资源复用的向量处理器
CN117539595A (zh) 一种协同调度方法和相关设备

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200807

WD01 Invention patent application deemed withdrawn after publication