CN102033783A - 分布式处理系统 - Google Patents

分布式处理系统 Download PDF

Info

Publication number
CN102033783A
CN102033783A CN201010507197XA CN201010507197A CN102033783A CN 102033783 A CN102033783 A CN 102033783A CN 201010507197X A CN201010507197X A CN 201010507197XA CN 201010507197 A CN201010507197 A CN 201010507197A CN 102033783 A CN102033783 A CN 102033783A
Authority
CN
China
Prior art keywords
parallelism
degree
dps
processing system
distributed processing
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
CN201010507197XA
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.)
Olympus Corp
Original Assignee
Olympus Corp
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 Olympus Corp filed Critical Olympus Corp
Publication of CN102033783A publication Critical patent/CN102033783A/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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 And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明的分布式处理系统具有:能并行处理的处理元件,控制单元,以及向控制单元请求执行应用程序的客户机,分布式处理系统用于执行应用程序,处理元件至少在应用程序的执行时具有:1个以上的处理块,其对使处理元件执行的1个以上的任务分别进行处理;处理块控制部,其根据从控制单元接收到的控制并行度的指标来运算并行度;分割部,其通过处理块控制部根据并行度对输入到处理块的处理数据进行分割;以及集成部,其通过处理块控制部根据并行度对从处理块输出的处理数据进行集成。

Description

分布式处理系统
技术领域
本发明涉及分布式处理系统。
背景技术
在现有的并行处理系统中,有这样的系统:将用户要求的应用程序作为程序或布线信息输入到系统内,进行并行化。由于用高级语言等描述的程序可与是与要处理的系统进行逐步处理、还是进行并行处理无关地来进行描述,因而在进行并行化的情况下,做法是,自动提取逐步执行程序的可并行化部分来进行数据分割和程序分割,然后决定计算模块间的通信的要与不要。作为这样的并行程序的生成方法,例如可列举日本特开平8-328872号公报。
上述以往的并行处理系统中的自动并行化大多是,从用户所输入的程序等中提取可并行化部分,将其分配给计算模块,或者变换为布线信息。而且,如操作系统那样,还存在这样的系统:以程序为单位将处理分配给不同的处理器核心等计算模块,用户完全不参与并行化。这些系统只考虑到优化执行时的性能来进行并行化,没有提供由用户灵活控制并行化的指标。
发明内容
本发明是鉴于上述而作成的,本发明的目的是提供这样一种分布式处理系统:为了实现用户要求的服务,作为在由提供1个以上的特定功能的计算模块构成的数据流型的模块网络中定义的系统内进行并行执行的指标,不仅规定并行度或整体性能,而且规定消耗电力或处理时间,根据这些指标规定最佳并行度。该分布式处理系统中的并行化是在计算模块内部被虚拟提供的。
本发明的另一目的是提供一种这样的分布式处理系统:根据动态定义的并行度,使计算模块内部的处理块动态增减。而且,本发明的目的在于,即使用户未直接指定并行度,也能通过在应用程序执行时将关注指标规定为策略,动态构建对用户自身来说最佳的应用程序执行环境。
为了解决上述课题,达到目的,根据本发明的分布式处理系统具有:能并行处理的处理元件;控制单元;以及向所述控制单元请求执行应用程序的客户机,所述分布式处理系统用于执行所述应用程序,其特征在于,所述处理元件至少在所述应用程序的执行时具有:1个以上的处理块,其处理使所述处理元件执行的1个以上任务中的各个任务;处理块控制部,其根据从所述控制单元接收到的控制并行度的指标来运算并行度;分割部,其通过所述处理块控制部,根据所述并行度对输入到所述处理块的处理数据进行分割;以及集成部,其通过所述处理块控制部,根据所述并行度对从所述处理块输出的处理数据进行集成。
在根据本发明的分布式处理系统中,优选的是,处理元件预先具有多个处理块。
在根据本发明的分布式处理系统中,优选的是,处理元件在连接到了控制单元时登记PE信息,所述PE信息包含自身的功能信息、结构信息、最大并行度、以及表示并行度与控制并行度的指标的特性的概况信息。
在根据本发明的分布式处理系统中,优选的是,客户机指定与应用程序执行相关的基准。
在根据本发明的分布式处理系统中,优选的是,控制单元根据PE信息和/或与应用程序的执行相关的基准,决定控制并行度的指标的候选并提示,客户机通过从指标的候选中选择指标来决定控制并行度的指标。
在根据本发明的分布式处理系统中,优选的是,控制单元根据PE信息和/或与应用程序的执行相关的基准,决定控制并行度的指标。
在根据本发明的分布式处理系统中,优选的是,控制并行度的指标包括各处理元件的并行度的上限和下限。
在根据本发明的分布式处理系统中,优选的是,当并行度的上限值和下限值相互不同时,处理块控制部根据除了上限和下限以外的控制并行度的指标,决定并行度。
在根据本发明的分布式处理系统中,优选的是,当并行度的上限值和下限值相互一致时,处理块控制部以一致的并行度进行处理。
在根据本发明的分布式处理系统中,优选的是,处理块包括专用处理块、通用处理块、以及动态可重构处理块中的至少一方,专用处理块执行预定功能,通用处理块根据所输入的程序信息而变更功能,动态可重构处理块根据所输入的重构信息来重构硬件。
在根据本发明的分布式处理系统中,优选的是,处理块是由软件构成的专用处理块,处理元件预先具有专用处理块,处理元件具有专用处理块保持部,该专用处理块保持部能够卸载、复制或者删除专用处理块,并能保持被卸载和/或复制了的专用处理块。
在根据本发明的分布式处理系统中,优选的是,专用处理块保持部根据并行度来复制所保持的专用处理块。
在根据本发明的分布式处理系统中,优选的是,专用处理块保持部加载所保持的专用处理块,成为能进行处理的状态。
在根据本发明的分布式处理系统中,优选的是,处理块是由硬件构成的专用处理块,通过连接/切断把专用处理块的输入与分割部连接、并把输出与集成部连接的路径,进行预定功能的执行和并行度的控制。
在根据本发明的分布式处理系统中,优选的是,处理块是由软件构成的通用处理块,处理元件预先具有由软件构成的通用处理块,处理元件具有通用处理块保持部,该通用处理块保持部能够卸载、复制或者删除由软件构成的通用处理块,并能保持被卸载和/或复制了的通用处理块。
在根据本发明的分布式处理系统中,优选的是,通用处理块保持部根据并行度来复制所保持的通用处理块。
在根据本发明的分布式处理系统中,优选的是,通用处理块保持部加载所保持的通用处理块,成为能加载程序信息的状态。
在根据本发明的分布式处理系统中,优选的是,处理元件具有加载部,该加载部根据要执行的任务而将所连接的库内包含的程序信息从外部直接加载到通用处理块内。
在根据本发明的分布式处理系统中,优选的是,处理元件具有库保持部,该库保持部能够卸载、复制或者删除被加载到通用处理块内的包含于库内的程序信息,并能保持被卸载和/或复制了的程序信息。
在根据本发明的分布式处理系统中,优选的是,加载部将程序信息加载到库保持部内,库保持部保持经由加载部从外部接收到的程序信息。
在根据本发明的分布式处理系统中,优选的是,库保持部根据并行度来复制所保持的程序信息。
在根据本发明的分布式处理系统中,优选的是,库保持部将所保持的程序信息加载到通用处理块内。
在根据本发明的分布式处理系统中,优选的是,处理块是动态可重构处理块,处理元件具有加载部,该加载部根据要执行的任务而将所连接的库内所包含的重构信息从外部直接加载到动态可重构处理块内。
在根据本发明的分布式处理系统中,优选的是,处理元件具有库保持部,该库保持部能够卸载、复制或者删除被加载到动态可重构处理块内的包含于库内的重构信息,并能保持被卸载和/或复制了的重构信息。
在根据本发明的分布式处理系统中,优选的是,加载部将重构信息加载到库保持部内,库保持部保持经由加载部从外部接收到的重构信息。
在根据本发明的分布式处理系统中,优选的是,库保持部根据并行度来复制所保持的重构信息。
在根据本发明的分布式处理系统中,优选的是,库保持部将所保持的重构信息加载到动态可重构处理块内。
在根据本发明的分布式处理系统中,优选的是,通过连接/切断把动态可重构处理块的输入与分割部连接、并把输出与集成部连接的路径,进行通过重构信息实现的功能的执行和并行度的控制。
在根据本发明的分布式处理系统中,优选的是,控制并行度的指标包括并行度、优先级、质量保证型、功耗量、处理时间以及输出吞吐量中的任一个以上。
在根据本发明的分布式处理系统中,优选的是,客户机针对1个以上的任务分别指定优先级作为控制并行度的指标,处理块根据所指定的优先级动态决定与任务的执行相关的并行度。
在根据本发明的分布式处理系统中,优选的是,当不能根据客户机所指定的与应用程序的执行相关的基准来决定控制并行度的指标的候选时,控制单元提示脱离了基准的替代指标。
在根据本发明的分布式处理系统中,优选的是,控制单元规定控制并行度的指标的候选的组合,客户机经由用户接口将指标的候选提示给用户,在控制单元所规定的控制并行度的指标的候选的组合范围内,限制用户接口上的输入组合。
在根据本发明的分布式处理系统中,优选的是,处理元件针对专用处理块、通用处理块、程序信息以及重构信息,能卸载已加载的全部内容。
在根据本发明的分布式处理系统中,优选的是,与应用程序的执行相关的基准包括质量保证型、功耗量、处理时间以及输出吞吐量中的任一个以上。
附图说明
图1是示出本发明的实施方式涉及的分布式处理系统的概略结构的图。
图2是示出本发明的实施方式涉及的应用程序的处理流程的流程图。
图3是示出使图2所示的服务和构成服务的任务对应的服务任务对应表。
图4是分别示出构成本发明的实施方式涉及的执行转移信息的信息例和各结构信息的数据例的表。
图5是示出与图4所示的执行转移信息的结构对应的系统的模型例的图。
图6是示出本发明的实施方式涉及的服务策略的结构例的表。
图7是示出本发明的实施方式涉及的任务策略的结构例的表。
图8是示出实施例1涉及的应用程序的处理流程的流程图。
图9是示出实施例1中的执行顺序的图。
图10是示出实施例1中的PE登记信息例的图。
图11是示出实施例1中的概要例的图。
图12是示出实施例1中的PE1的PE登记信息例的表。
图13是示出实施例1中的PE4(VPE)的PE登记信息例的表。
图14是示出实施例1中的任务策略的选项的提示例的表。
图15是示出实施例1中的客户机指定后的任务策略例的表。
图16是示出实施例2中的执行顺序的图。
图17是示出实施例2中的PE1的PE登记信息例的表。
图18是示出实施例2中的PE4的PE登记信息例的表。
图19是示出实施例2中的客户机指定的服务策略例的表。
图20是示出在实施例2中根据服务策略所决定的任务策略例的表。
图21是示出实施例3中的执行顺序的图。
图22是示出在实施例3中客户机所登记的服务策略例的表。
图23是示出在实施例4中CU提示替代方案的情况下的执行顺序的图。
图24是示出在实施例4中在客户机上提示的替代方案的GUI窗口例的图。
图25是示出在实施例5中在客户机上进行输入限制的情况下的执行顺序的图。
图26是示出在实施例5中的客户机上的GUI窗口中的输入限制例的图。
图27是示出实施例6中的指定了优先级的任务策略例的表。
图28是示出在实施例6中考虑了到2个任务为止的优先级的任务间执行时的并行度调整流程的流程图。
图29是示出在实施例6中PE4以并行度1来执行任务的状态的图。
图30是示出在实施例7中将处理块设定为通用的PE的结构例的图。
图31是示出实施例7中的PE的初始状态的图。
图32是示出实施例7中的执行顺序的图。
图33是示出实施例7中的具有通用处理块的PE的PE登记信息例的表。
图34是示出在实施例7中将库加载到GP-PB内的状态的图。
图35是示出在实施例7中复制了GP-PB和库的集合的状态的图。
图36是在实施例7中分别加载并复制了GP-PB和库的状态的一系列图中、示出复制前的状态的图。
图37是在实施例7中分别加载并复制了GP-PB和库的状态的一系列图中、示出复制了GP-PB后的状态的图。
图38是在实施例7中分别加载并复制了GP-PB和库的状态的一系列图中、示出复制并加载了库后的状态的图。
图39是在实施例7中仅加载并复制了库的状态的一系列图中、示出复制前的状态的图。
图40是示出在实施例7中仅加载并复制了库的状态的一系列图中、示出加载了库的状态的图。
图41是示出在实施例7中仅加载并复制了库的状态的一系列图中、示出复制了所加载的库的状态的图。
图42是示出在实施例7中仅加载并复制了库的状态的一系列图中、示出删除了库和处理块的状态的图。
图43是示出在实施例7中包含GP-PB和库的PE的PE登记信息例的表。
图44是示出在实施例7中卸载并完全删除GP-PB的状态或者再加载了GP-PB的状态以及保持部的结构的图。
图45是示出专用处理块PB的复制状态的一系列图中、示出专用处理块保持部复制处理块、作为其他的处理块加载并能处理的状态的图。
图46是示出专用处理块PB的复制状态的一系列图中、处理块全部卸载、保持、或者再加载并能处理的状态的图。
图47是示出专用处理块PB的复制状态的一系列图中、示出专用处理块保持部删除了全部处理块的状态的图。
图48是示出实施例8中的向硬件安装块的动态切换例的图。
图49是示出在实施例8中释放了全部开关的状态例的图。
图50是示出在实施例8中搭载了动态可重构处理器作为处理块的结构例的一系列图中、示出向动态可重构处理块的动态切换例的图。
图51是示出在实施例8中搭载了动态可重构处理器作为处理块的结构例的一系列图中、表示CU将从数据库服务器所取得的重构信息经由加载部加载到动态可重构处理块内的状态或者加载到库保持部并进行了复制的状态的图。
图52是示出在实施例8中搭载了动态可重构处理器作为处理块的结构例的一系列图中、库保持部复制并加载了重构信息的图。
图53是示出在实施例8中搭载了动态可重构处理器作为处理块的结构例的一系列图中、表示库的卸载和再加载的状态的图。
图54是示出在实施例8中搭载了动态可重构处理器作为处理块的结构例的一系列图中、表示库保持部删除了重构信息的状态的图。
图55是示出PE中的并行度决定流程的流程图。
具体实施方式
以下,根据附图详细说明本发明涉及的分布式处理系统的实施方式。另外,本发明不受以下实施方式的限定。
在以下说明中,作为本实施方式涉及的分布式处理系统执行的应用程序(服务),采取JPEG解码处理,然而本发明也能应用于JPEG解码处理以外的处理。
图1是示出本发明的实施方式涉及的分布式处理系统的概略结构的图。
本实施方式的分布式处理系统具有能并行处理的计算模块即VPE30(并行处理虚拟化PE)。作为针对外部设备的PE(处理元件)21、22、23的输入输出接口,VPE30具有单一输入流和单一输出流中的任一方或双方。并且,客户机10向CU(控制单元)40请求执行应用程序。
VPE30在内部具有控制部31、分割部32、集成部33以及1个以上的处理块(PB)34、35、36、37。
在图1中示出处理块为4个的例子,然而如后所述,可任意设定处理块的数量。
控制部(处理块控制部)根据从CU提供的策略(控制并行度的指标)运算并行度。控制部通过根据运算出的并行度控制数据流的分割部或集成部,来分割输入流(向各处理块输入的处理数据),或者集成输出流(从各处理块输出的处理数据)。
下面,参照图2说明应用程序的执行例。图2是示出本实施方式的应用程序的处理流程的流程图。
如图2所示,JPEG解码处理能分割为以下6个连续的处理:JPEG文件分析(步骤S101)、熵解码(步骤S102),逆量化(步骤S103),IDCT(步骤S104),上采样(步骤S105),以及颜色信号的变换(步骤S106)。
这里,将如JPEG解码处理那样由用户进行处理请求的应用程序称为服务,将构成JPEG解码处理的熵解码那样的子处理称为任务。换句话说,任务是构成应用程序的1个以上的处理单位。
服务和任务被唯一分配服务ID和任务ID用于识别各自的处理内容。设JPEG解码处理的服务ID为SV-823,设构成JPEG解码处理的各任务的任务ID为TK-101至TK-106。
当客户机10请求执行作为服务的JPEG解码处理时,控制单元40例如根据图3所示的服务任务对应表,分解为TK-101至TK-106的任务串。这里,图3是使图2所示的服务和构成服务的任务对应的表。
任务被分配给可执行的各PE。分配有任务的PE包含PE21、22、23、VPE30。
各PE间的路径的输入输出是唯一决定的,针对输入输出对决定路径ID。控制单元40生成与该处理路径的结构相关的信息(执行转移信息)。图4示出执行转移信息例。图4是分别示出构成执行转移信息的信息例和各结构信息的数据例的表。
例如,根据图4所示的执行转移信息,可如图5所示构成进行JPEG解码的处理路径。图5是示出与图4所示的执行转移信息的结构对应的系统的模型例的图。
之后,进行处理所需要的计算资源的分配和处理路径的建立。
本实施方式的执行转移信息包含任务策略。策略是与服务执行整体和包括并行处理虚拟化PE(VPE)在内的PE的任务处理相关的执行时的制约。策略有制约服务执行整体的服务策略(与应用程序的执行相关的基准)和制约各PE中的任务处理的任务策略(控制并行度的指标)。例如,也能使用任务策略来针对每个任务直接指定并行处理的多重度(并行度)。而且,也能使用服务策略来将服务整体的处理时间指定为性能指标,为了在处理时间以内进行处理而由CU进行处理路径的最优化,能自动决定各PE中的任务执行的并行度,自动生成任务策略。在任一种情况下最终都决定用于规定各PE中的任务执行的任务策略,并通知给各PE。
这里,说明在服务策略和任务策略中可使用的参数例。表1是说明构成策略的参数的表。图6是示出本实施方式涉及的服务策略的结构例的表。图7是示出本实施方式涉及的任务策略的结构例的表。在表1中,在各策略中可指定的参数用圆圈表示。
【表1】
Figure BSA00000307651400101
作为服务策略例,如图6所示,可列举质量保证型、功耗量的上限和下限、处理时间的上限和下限、输出吞吐量的上限和下限。并且,作为任务策略例,如图7所示,可列举质量保证型、功耗量的上限和下限、处理时间的上限和下限、输出吞吐量的上限和下限、并行度的上限和下限、优先级。
在客户机请求执行服务之前将服务策略与用于识别客户机的ID一起登记在CU内。此时在想要确定想应用服务策略的服务的情况下,与服务ID成组登记在CU内。在不是这样的情况下,针对从该客户机请求的全部服务应用所登记的服务策略,生成包含任务策略的执行转移信息。
不管是否登记了服务策略,都在生成执行转移信息时生成任务策略。既能针对任务策略的各参数设置选项以使客户机选择,也能未经客户机许可而使用由CU判断为最佳的任务策略。
【实施例】
以下,说明上述实施方式涉及的分布式处理系统的实施例。在以下说明中,以成为特征的结构、作用、效果为中心进行描述,已描述的结构、作用、效果有时省略。存在这样的情况:在VPE的前后所配置的PE的数量根据各实施例的内容,与图1所示的例子不同。
并且,在各实施例中,原则上以基于软件的安装为前提,然而也能进行基于硬件的PE安装,在后面描述概要。
(实施例1)
实施例1涉及在客户机指定任务策略的情况下的处理。图8是示出实施例1涉及的应用程序的处理流程的流程图,如下所述,各步骤对应于图2的各步骤。这里,针对CU所生成的任务策略,客户机按各PE分别指定并行度,将IDCT(任务ID=TK-104)的并行度指定为2。
首先,图2的JPEG文件分析(步骤S101)对应于并行度1的PE(PE1)中的处理(步骤S201),熵解码(步骤S102)对应于并行度1的PE(PE2)中的处理(步骤S202),逆量化(步骤S103)对应于并行度1的PE(PE3)中的处理(步骤S203)。
然后,IDCT(步骤S104)对应于针对并行度2的VPE(PE4)的处理数据的输入和分割(步骤S204)、VPE内的2个处理块(PB)中的处理(步骤S205、S206)、以及2个处理块中的处理数据的集成和输出(步骤S207)。
而且,上采样(步骤S105)对应于并行度1的PE(PE5)中的处理(步骤S208),颜色信号的变换(步骤S106)对应于并行度1的PE(PE6)中的处理(步骤S209),与图2的步骤S101至S106一样,能分割为步骤S201至S209的连续的处理。
下面,说明实施例1涉及的顺序。图9是示出实施例1中的执行顺序的图。
首先,在顺序300中,PE1在起动时将图10所示的PE登记信息发送到控制单元。图10是示出实施例1中的PE登记信息例的图。并且,表2是说明图10所示的PE登记信息的各数据字段的表。图11是示出图10所示的概况信息例的图。图12是示出图10所示的PE1的PE登记信息例的表。在图11中,实线A表示针对功耗量的并行度的上限值的变化,虚线B表示针对功耗量的并行度的下限值的变化。
【表2】
Figure BSA00000307651400131
这里,PE1可使用最大并行度1提供FID是FN-101的功能(JPEG文件分析),即,不能并行化。
然后,在顺序301中,作为PE4的VPE在起动时,与PE1一样将图13所示的PE登记信息发送到控制单元。图13是示出实施例1中的PE4的PE登记信息例的表。
PE4(VPE)可使用最大并行度2提供FID是FN-104的功能(IDCT)。尽管未图示,然而其他PE也一样在起动时发送PE登记信息,进行登记。
在顺序302中,作为服务执行请求,客户机指定服务ID=SV-823来请求CU执行JPEG解码。
在顺序303中,CU根据各PE的登记信息生成执行转移信息。也可以逐步监视各PE的登记信息中动态变化的信息,反映该结果来生成执行转移信息。
其结果,假定生成了包含与图4所示相同的路径信息的执行转移信息,针对任务策略的各值,根据PE的登记状态决定值的候选。作为该候选,示出图14所示的并行度的上限值和下限值。图14是示出实施例1中的任务策略的选项的提示例的表。这里,针对功耗量等其他参数,假定决定了值的候选。
在顺序304中,CU将包含上述任务策略的执行转移信息发送到客户机。在顺序305中,针对表示范围的部分,客户机选择任意值(任务策略)。此时可选择的策略仅是并行度的上限和下限。关于其他策略,假定是客户机不能指定的PE固有的策略。在该值的组合不适当或不可能的情况下,在GUI上检查(实施例5),或者,通过CU检查并返回错误。
这里,在顺序305中,假定客户机从选择候选中如图15所示决定了各参数。即,使并行度的上限和下限为相同值,使PE1的并行度为1,使PE4的并行度为2。这里,图15是示出实施例1中的客户机指定后的任务策略例的表。
在顺序306中,客户机将包含所选择的任务策略的执行转移信息发送到CU。
然后,CU将包含任务策略的执行转移信息发送到构成执行转移信息的各PE,请求确保计算资源。在顺序307中,向PE1发送执行转移信息并请求确保计算资源。
CU在向各PE发送前,检查参数的值或组合,在值或组合不适当或不可能的情况下,返回错误,结束服务处理。
在顺序308中,PE1在接收到执行转移信息时,确认所分配的任务,确保任务执行所需要的存储器等计算资源。然后,进行策略的应用,根据需要进行PE1的内部结构变更。在实施例1中,PE1确认并行度的上限和下限都是1,将并行度决定为1。在PE1的内部没有处理块的情况下,新生成过程或线程等,或者加载程序信息。在硬件安装的情况下,根据需要执行切换等动态重构。
在顺序309中,PE1确保计算资源,当应用了策略时,向CU通知计算资源的确保已完成。
在顺序310中,与PE1一样,PE4也从CU接收计算资源确保请求。
在顺序311中,PE4确认并行度的上限和下限都是2,将并行度决定为2。在PE4的内部没有2个处理块的情况下,新生成过程或线程等,或者加载程序信息。只要是不需要的处理块,就可以删除。在硬件安装的情况下,根据需要执行切换通向处理块的路径等动态重构。
在顺序312中,PE4确保计算资源,当应用了策略时,向CU通知计算资源的确保已完成。
PE1、PE4以外的PE也一样进行计算资源的确保。
CU在针对执行转移信息内包含的全部PE确认了计算资源的确保完成的情况下,请求各PE建立各PE间的处理路径(顺序313)。各PE与在处理路径上邻接的PE建立处理路径。之后,向客户机请求与PE的连接,向客户机通知可以开始服务处理。
在顺序314中,在建立了与PE的处理路径的情况下,从客户机发送数据。各PE沿着所建立的处理路径进行数据流处理。即,从客户机向PE1发送数据,在PE1进行了数据处理之后,发送到PE2。然后,PE2将处理结果转交给PE3、PE4,在PE6输出结果。
在顺序315中,PE1接收来自客户机的数据,读出JPEG文件,进行文件头的分析等。PE1将所读出的图像信息发送到PE2。
在顺序316中,在PE2中进行了熵解码之后,在从PE2接收到数据的PE3中执行逆量化,PE4接收来自PE3的数据。
在顺序317中,PE4并行进行IDCT处理。例如假定处理是以MCU为单位进行,当根据图像的坐标位置赋予连续的唯一决定的编号时,在分割部进行分割以利用不同的处理块并行处理偶数编号的MCU和奇数编号的MCU,在发送到下一个PE5之前在集成部进行同步处理并再次集成。
在顺序318中,在PE5中执行了上采样之后,在PE6中进行颜色信号的变换,从PE6向客户机返回结果,结束服务处理。
在顺序319中,进行处理路径或计算资源的释放,执行完成处理。
在顺序320中,CU将服务执行完成通知发送到客户机,完成服务执行。
在实施例2~7中只要未特别说明,假定针对服务执行所需要的全部PE都适当地进行在顺序307至顺序309、以及顺序310至顺序312中所说明的计算资源确保。并且,存在这样的情况:从顺序313的处理路径建立到顺序320的服务执行完成在全部实施例中是相同的,采用“继续服务处理”等的表达,省略详细说明。
(实施例2)
实施例2涉及在客户机以最佳效果型指定服务策略的情况下的处理。
图16是示出实施例2中的执行顺序的图。
在顺序400中,PE1在起动时将图17所示的PE登记信息发送到CU,通知其能以并行度2执行任务。这里,图17是示出实施例2中的PE1的PE登记信息例的表。
在顺序401中,与PE1一样,PE4(VPE)将PE登记信息(图18)发送到CU,通知其能以并行度4执行任务。PE1、PE4以外的PE也在起动时将登记信息发送到CU,并登记自身的信息。这里,图18是示出实施例2中的PE4的PE登记信息例的表。
在顺序402中,客户机将应用于服务的策略与自身的客户机ID一起事先登记到CU。该策略可以应用于全部服务,也可以指定服务ID,仅应用于特定服务。
在实施例2中,假定不指定服务ID,针对从根据客户机ID 123456所指定的客户机请求的全部服务,将图19所示的服务策略应用于系统整体。这里,图19是示出实施例2中的客户机指定的服务策略例的表。
在顺序403中,作为服务执行请求,客户机指定服务ID=SV-823来请求CU执行JPEG解码。
在顺序404中,CU在受理了服务执行请求时,判断是否能应用服务策略,是否能决定任务策略。在实施例2中,由于将服务策略中的质量保证型设定为最佳效果型,因而即使不满足功耗量等的条件,也能自动决定任务策略,推进任务的执行。
在顺序405中,CU根据PE的登记信息决定任务策略,并生成执行转移信息。也可以逐步监视PE的登记信息中动态变化的信息,反映该结果来生成执行转移信息。其结果,CU生成与图4所示相同的执行转移信息。这里,将针对各PE的策略信息的参数决定为图20所示的内容,以满足从客户机所指定的策略。图20是示出在实施例2中根据服务策略所决定的任务策略例的表。
在顺序406中,CU将包含所生成的任务策略的执行转移信息发送到构成执行转移信息的各PE,请求确保计算资源。
在顺序407中,各PE在接收到执行转移信息时,确认所分配的任务,确保任务的执行所需要的存储器等计算资源。然后,进行任务策略的应用,根据需要进行PE内部结构变更。
在实施例2中,在没有与并行度相同数量的处理块的情况下,新生成过程或线程等,或者加载程序信息。在硬件安装的情况下,根据需要执行切换等动态重构。关于图20所示的任务4,由于并行度的上限值和下限值不同,因而在VPE内部动态决定并行度以满足功耗量等其他参数值,控制数据处理。另外,PE中的并行度是例如在以下实施例中说明的流程中决定的。
在顺序408中,CU从各PE接收计算资源确保完成的通知,建立处理路径,之后继续服务处理。
(实施例3)
实施例3涉及在客户机以保证型指定服务策略的情况下,客户机所指定的服务策略不能应用时的处理。
图21是示出实施例3中的执行顺序的图。图22是示出在实施例3中客户机所登记的服务策略例的表。
在顺序500中,客户机将图22所示的服务策略登记在系统内。另外,假定在顺序500之前,PE登记已完成。
在顺序501中,客户机制定所请求的服务的ID,请求CU执行服务。
在顺序502中,CU判断是否可应用事先由客户机所登记的服务策略。在实施例3中,判断为不能应用该服务策略。
在顺序503中,CU将错误返回到客户机,结束服务处理。
在实施例3中,由于质量保证型被设定为保证型,因而在不能保证质量的情况下,由于有悖于客户机的意图,因而中止执行,返回错误。
以下的实施例4和实施例5涉及在图21的顺序502中判断为不能应用服务策略时分布式处理系统采取的应对。当不能应用服务策略时,除了返回错误以外,系统还可采取以下的应对。
(1)替代服务策略的提示(实施例4)
(2)在客户机GUI上的任务策略的输入限制或者输入检查(实施例5)
以下,依次说明实施例4和实施例5。
(实施例4)
实施例4涉及当判断为服务策略不能应用时的分布式处理系统的应对中的替代服务策略的提示。
图23是示出在实施例4中CU提示替代方案的情况下的执行顺序的图。
首先,在顺序600中,假定PE的登记已完成。客户机将与图21的顺序500相同的服务策略登记在系统内。
在顺序601中,客户机制定所请求的服务的ID,请求CU执行服务。
在顺序602中,CU判断是否可应用事先由客户机所登记的服务策略。在实施例4中,CU判断为服务策略不能应用。
在顺序603中,CU生成成为替代的服务策略。CU将所生成的服务策略提示给客户机(顺序604)。图24示出针对客户机在GUI上的替代方案提示图。图24是示出在实施例4中在客户机上提示的替代方案的GUI(Graphical User Interface,图形用户界面)窗口例的图。
在图24所示的GUI例中,采用可针对由服务ID SV-823表示的服务编辑服务策略的各参数的结构。在实施例4中示出,为了保证系统整体的功耗量上限和输出吞吐量上限,降低处理时间的上限,将10秒作为处理时间上限的替代方案,而不是所指定的1秒。
在顺序605中,客户机在GUI窗口上的第1列选择替代方案的可否。在实施例4中,客户机接受替代方案的使用。
在顺序606中,客户机将选择结果发送到CU,客户机判断选择结果(顺序607)。
在顺序607中CU接受了选择结果的情况下,CU决定任务策略并生成执行转移信息(顺序608)。然后,在顺序609中,CU将执行转移信息与计算资源确保请求一起发送到各PE。
另一方面,在顺序607中CU未接受选择结果的情况下,CU将错误返回到客户机,结束服务执行。
(实施例5)
实施例5涉及当判断为服务策略不能应用时的分布式处理系统的应对中的客户机GUI上的任务策略的输入限制或输入检查。
图25是示出在实施例5中在客户机上进行输入限制的情况下的执行顺序的图。
在顺序700中,假定PE的登记完成。客户机指定所请求的服务的ID,请求CU执行服务。
在顺序701中,CU生成包含任务策略候选的执行转移信息。
在顺序702中,CU将包含任务策略的参数选项的执行转移信息发送到客户机。将任务策略的参数的可能组合与执行转移信息一起发送。
在顺序703中,客户机在选择任务策略时,可在图26所示的GUI上所示的可能值的范围内设定任务策略的值。在该情况下,GUI根据在顺序702所生成的参数的可能组合进行判断,当设定了超过可能值的范围的值时,在GUI上返回错误,输入被限制。并且,实时检查先前设定的值,可能值逐渐变化。通过在GUI上限制或检查策略的设定值的输入,可省去在CU中检查策略的过程。这里,图26是示出在实施例5中的客户机上的GUI窗口中的输入限制例的图。
在顺序704中,在确定了任务策略之后,客户机将任务策略通知给CU。
在顺序705中,CU使用所确定的任务策略来构成执行转移信息,开始确保服务执行所需要的计算资源。
(实施例6)
实施例6涉及针对各任务指定优先级作为策略的处理。
由于优先级不能应用于服务,因而在来自客户机的服务执行请求后在CU中生成执行转移信息,然后客户机针对各任务指定优先级,或者指定某个PE来事先登记优先级。在将PE1、PE4的最大并行度分别设定为2、4来登记的情况下(与实施例2相同),请求JPEG编码作为服务。此时针对CU所生成的执行转移信息,假定客户机如图27所示指定优先级。图27是示出实施例6中的指定了优先级的任务策略例的表。
这里,在没有与优先级同时执行的任务的情况下所应用的各任务的单独执行时的并行度例如按以下定义。
(1)优先级高:以最大并行度执行。
(2)优先级中:以并行度上限执行。不过,如果没有指定,则以最大并行度执行。
(3)优先级低:以并行度下限执行。不过,如果没有指定,则以并行度1执行。
图28是示出在实施例6中考虑了到2个任务为止的优先级的任务间执行时的并行度调整流程的流程图。
在图28中,示出调整在某PE上同时并行执行到2个任务为止的任务时的执行时并行度的例子。这里,设自身任务(调整对象的任务)为A,设在PE上先执行的任务为任务B。这里,对调整3个以上的任务的并行度的情况不作描述,然而在进行比较和执行时的并行度调整方面,与2个任务间的并行度的调整相同。
在步骤S800中判断比自身任务A先执行的任务是否存在于同一PE内。在不存在于同一PE内的情况下(在步骤S800中“否”),进到步骤S808,以上述单独执行时的并行度执行任务,结束任务的执行。
另一方面,在比自身任务A先执行的任务存在于同一PE内的情况下(在步骤S800中“是”),进到步骤S801,判断任务A执行时的并行度和任务B执行时的并行度之和是否超过PE的最大并行度。在和不超过最大并行度的情况下(在步骤S801中“否”),进到步骤S809,同时执行任务A和任务B并结束。
与此相对,在和超过最大并行度的情况下(在步骤S801中“是”),接下来进到步骤S802,判断自身任务A的优先级是否小于先执行的任务B的优先级。在自身任务A的优先级小的情况下(在步骤S802中“是”),进到步骤S803,设L为任务A,设H为任务B。
在自身任务A的优先级等于任务B的优先级、或者大于任务B的优先级的情况下(在步骤S802中“否”),进到步骤S810,设L为任务B,设H为任务A。
在步骤S803、S810的任一情况下,在处理后进到步骤S804,判断由L表示的任务的执行时并行度是否大于由H表示PE的最大并行度的任务的执行时并行度。
在大于由H表示PE的最大并行度的任务的执行时并行度的情况下(在步骤S804中“是”),在步骤S811中,将由L表示的任务的执行时并行度置换为PE的最大并行度与由H表示的任务的执行时并行度之差,在步骤S812中同时执行任务A和任务B,并结束。
在步骤S804中“否”的情况下,进到步骤S805。在步骤S805中,暂停由L表示的任务,在接下来的步骤S806中,判断由H表示的任务的执行是否结束。
在由H表示的任务的执行未结束的情况下(在步骤S806中“否”),回到步骤S805,继续暂停。在由H表示的任务的执行结束的情况下(在步骤S806中“是”),以单独执行时的并行度再次开始由L表示的任务的执行,并结束执行。
任务ID“TK-104”的任务以优先级“低”被分配给PE4(VPE)。由于没有并行度下限的指定,因而即使没有其他执行的任务,也以并行度1执行(图29的实线)。这里,图29是示出在实施例6中PE4以并行度1执行任务的状态的图。
(实施例7)
实施例7涉及自复制处理块的情况,并包含将处理块设定为通用的情况。在实施例7中,说明在同一PE内不同时存在具有不同功能的处理块的例子。并且,列举这样的情况为例:不管是专用还是通用,都不从外部加载处理块,可从外部加载的仅是包含程序信息和重构信息在内的库信息。
在实施例1~6中,不管安装是软件按照还是硬件按照,全部处理块都是提供特定用途功能的专用处理块,然而也可以将通过加载库来提供与特定用途的通常处理块同等功能的通用处理块加载到PE内。将该通用处理块称为GP-PB。在以下说明中,库的加载意味着加载库的程序信息。
图30是示出在实施例7中将处理块设定为通用的PE的结构例的图。在图30中表示,在将提供与专用处理块提供的功能同等功能的库300下载到GP-PB301内来使用的情况下,可同等使用专用处理块。控制部303包含:库保持部304,通用处理块保持部305,以及加载部306。加载部306从外部将包含软件信息和重构信息的库加载到通用处理块内。库保持部304从通用处理块卸载或复制库,保持这些库、或者从加载部所加载的库。还进行所保持的库的复制、向通用处理块的加载或者通用处理块上的不需要库的删除。通用处理块保持部305卸载或复制用软件安装的处理块,保持这些处理块。还进行所保持的通用处理块的复制、用于成为可向通用处理块加载程序信息的状态的加载或者不需要的通用处理块的删除。GP-PB自身无论通过软件还是通过硬件都能安装,然而首先假定通过软件按照来继续说明。
在以下说明中,针对3种情况示出例子。
(1)以集合形式复制GP-PB和库的情况
(2)分别复制GP-PB和库的情况
(3)仅复制库的情况
(1)以集合形式复制GP-PB和库的情况(图31~图35)
在该情况下,在初始状态中,不存在具有用于将JPEG编码处理作为服务来提供的专用处理块的PE。因此,将库动态下载到具有GP-PB的PE(VPE)内。具有GP-PB的PE的初始状态为图31的结构。这里,图31是示出实施例7中的PE(VPE)的初始状态的图。
图32是示出实施例7中的执行顺序的图。
在顺序900中,具有GP-PB的PE将功能ID(FID)设为FN-999登记在CU内。登记信息例如如图33所示。这里将最大并行度设定为4。并且,图33是示出实施例7中的具有通用处理块的PE的PE登记信息例的表。
在顺序901中,作为服务执行请求,客户机指定服务ID=SV-823来请求CU执行JPEG解码。
在顺序902中,CU根据PE的登记信息生成包含任务策略候选的执行转移信息。期待将TK-104的任务分配给具有GP-PB的PE。即,通过将库下载到GP-PB内,期待发挥与具有TK-104的功能的专用处理块同等的功能,将具有GP-PB的PE分配给执行转移信息。这里生成的执行转移信息与图4所示相同,而对于任务策略则生成与图14相同的候选。即使在使用具有通用处理块的PE的情况下,如果构成想要实现的服务的路径信息和任务策略相同,则执行转移信息也相同。
在顺序903中,CU将包含任务策略的候选的执行转移信息通知给客户机。
在顺序904中,客户机仅选择并行度,与图15一样将与任务ID:TK-104对应的任务4的并行度指定为2。
在顺序905中,客户机将包含所选择的任务策略的执行转移信息通知给CU。
在顺序906中,首先CU检查包含任务策略的执行转移信息。CU把握了加载到具有GP-PB的PE内的库的功能及其工作状态。CU根据包含任务策略的执行转移信息进行库的需要与否的判断。
在实施例7中,由于提供执行TK-104的任务所需要的FN-104的功能的库未被下载到具有GP-PB的PE内,因而判断为有必要动态发布提供FN-104的功能的库。
在顺序907中,CU从例如数据库服务器取得程序信息作为提供FN-104的功能的GP-PB用的库,并经由PE的加载部下载该程序信息(图34)。图34是示出在实施例7中将库加载到了GP-PB内的状态的图。
PE在顺序908中从CU接收计算资源确保请求,在顺序909中确认应执行的任务,决定执行时的并行度。
在该阶段中,对于并行度2,由于仅存在一个处理块,因而以集合形式复制GP-PB和库,重构成能以并行度2进行并行处理的内部结构(图35)。图35是示出在实施例7中复制了GP-PB和库的集合后的状态的图。更详细地说,主控制部在保留了GP-PB的实体的状态下,将GP-PB复制到通用处理块保持部内,同样在保留了库的实体的状态下,复制到库保持部内。而且,各保持部分别复制GP-PB和库。之后再加载所复制的GP-PB和库的集合,以便与分割部和连接部连接。
在顺序910中,当成为可执行任务的状态后,认为已完成计算资源确保,将完成通知返回到CU。
在顺序911中,继续进行服务处理。
(2)分别复制GP-PB和库的情况(图36至图38)
图36至图38是示出在实施例7中在PE(VPE)内分别加载并复制了GP-PB和库的状态的一系列图,图36示出复制前的状态的图,图37示出复制了GP-PB的状态的图,图38示出复制并加载了库的状态的图。
在该情况下,在初始状态中,提供FN-500的功能的库已被加载到GP-PB内(图36)。当想要在GP-PB内以并行度2执行TK-104的任务时,PE删除提供FN-500的功能的库,然后在通用处理块保持部复制GP-PB,加载GP-PB并成为可加载库的状态(图37)。之后,CU将提供从数据库服务器所取得的FN-104的功能的库经由加载部加载到库保持部内,然后复制,库保持部分别加载到2个GP-PB内(图38),来实现并行处理。另外,即使在提供FN-500的功能的过程中,也能仅先行复制GP-PB。
(3)仅复制库的情况(图39~图42)
图39至图42是示出在实施例7中在PE(VPE)内仅加载并复制了库的状态的一系列图,图39是示出复制前的状态的图,图40是示出加载了库的状态的图,图41是示出复制了所加载的库的状态的图,图42是示出删除了库和处理块的状态的图。
该情况是想要在具有GP-PB的PE(VPE)上以并行度2执行TK-104的任务的情况,当在PE内已有2个GP-PB时(图39),将在图32的S907从CU所发布的库保存在库保持部内,复制库保持部所保持的库(图40),之后将库(FN-104)加载到各GP-PB内(图41)。例如在由于本任务的优先级低且使并行度下降到1而删除库和GP-PB的情况下,库保持部和通用处理块保持部分别删除库和GP-PB(图42)。
如图41所示,在已使用库和GP-PB的集合提供了PE的情况下,将GP-PB和库的2个功能ID登记在CU内(图43)。这里,图43是示出在实施例7中包含GP-PB和库的PE的PE登记信息例的表。
如在(1)、(2)所说明的那样,GP-PB全部都可根据需要而复制。并且,如在(1)所述,GP-PB既能以与库以集合的形式来复制,又能分别单独复制GP-PB和库((2)、(3))。对于库还能删除并从外部新加载具有别的功能的库。无论哪种情况,都能通过复制、删除处理块,来自由地动态操作并行度。
另外,可从保持部卸载GP-PB和库。即使卸载全部的GP-PB和库也没有问题。并且,可将GP-PB和库的任一方保持在控制部中,或将其组合保持在保持部内(图44)。关于保持在保持部内的内容,可在任意的定时再加载1个以上的GP-PB和库。能从外部加载多种库并保持,然而某PE一次可提供的功能仅能为一种。这里,图44是示出在实施例7中卸载并完全删除了GP-PB的状态或者再加载了GP-PB的状态以及保持部的结构的图。
在实施例7中,示出全部以GP-PB和库的组来提供特定功能的处理块。然而,由于GP-PB和库的组与专用处理块PB在功能上是同等的,因而上述实施例也能应用于软件安装的专用处理块。即,可复制、或卸载、或删除提供某特定功能的专用处理块(图45至图47)。并且,能将专用处理块全体保持在保持部内。这里,图45至图47是示出专用处理块PB的复制和卸载状态的一系列图,图45是示出专用处理块保持部复制处理块、作为别的处理块加载并能进行处理的状态的图,图46是示出处理块全部卸载、保持、或者再加载并能进行处理的状态的图,图47是示出专用处理块保持部删除了全部处理块的状态的图。
(实施例8)
实施例8涉及基于硬件的PE安装。
在实施例1~7中,基于软件来安装PE,能达到最大并行度之前能自由增减处理块。最大并行度依赖于存储器容量,然而在块相对于存储器容量而言规模不大的情况下,实质上可以认为无限制。
与此相对,PE的安装还能基于硬件来进行。不过,由于在硬件的情况下,使用预先作为电路所制作的块,因而最大并行度被规定为所制作的块的数量。处理块可以与分割部或集成部始终连接,然而也可以图48所示通过构成至各处理块的开关,来动态构成路径。图48是示出实施例8中的向硬件安装块的动态切换例的图。
并且,如图49所示,在不使用的情况下,可以使处理块在0至最大并行度的范围内增减,通过释放全部开关,还能抑制消耗电力。图49是示出在实施例8中释放了全部开关的状态例的图。
而且,如图50至图54所示,在使用动态重构处理器(DRP)作为处理块的情况下,可视为基于硬件安装的通用处理块(GP-PB)。不过,作为硬件安装块,通过动态切换进行输入输出的连接切断。DRP是不能复制的。假定将重构信息作为库来复制并加载到DRP内或卸载,并假定加载到各DRP内的重构信息全部相同。保持在库保持部内的重构信息能作为库从外部加载,可以保持多个重构信息。通过动态加载库,可构建能重构内部结构的处理块。在该情况下,库成为针对动态重构处理器的布线信息或者切换信息等重构信息。这里,图50至图54是示出在实施例8中搭载了动态可重构处理器作为处理块的结构例的一系列图,图50是示出向动态可重构处理块的动态切换例的图,图51是表示CU将从数据库服务器所取得的重构信息经由加载部加载了到动态可重构处理块内的状态或者加载到库保持部并进行了复制的状态的图,图52是表示库保持部复制重构信息并加载了的图,图53是表示库的卸载和再加载的状态的图,图54是表示库保持部删除了重构信息的状态的图。哪一种都能发挥与基于软件安装的通用处理块同等的功能。
这里,参照图55说明PE中的并行度决定流程。图55是示出PE中的并行度决定流程的流程图。当被提供了任务策略的各参数时,PE根据图55的流程决定执行时的并行度。这里说明的并行度决定流程可应用于实施例1、2、4~8。
首先,在步骤S1000中,调查有无设定(指定)服务策略的并行度的上限,在设定了上限的情况下(在步骤S1000中“是”),进到步骤S1020。在未设定上限的情况下(在步骤S1000中“否”),进到步骤S1010。在步骤S1010中,将并行度的上限设定为PE的最大并行度,进到步骤S1020。
在步骤S1020中,调查有无设定(指定)服务策略的并行度的下限,在设定了下限的情况下(在步骤S1020中“是”),进到步骤S1040。在未设定下限的情况下(在步骤S1020中“否”),进到步骤S1030。在步骤S1030中,将并行度的下限设定为1,进到步骤S1040。
在步骤S1040中,判断并行度的上限是否大于下限。在上限大的情况下(在步骤S1040中“是”),进到步骤S1060。在上限等于下限或者小于下限的情况下(在步骤S1040中“否”),进到步骤S1050。
在步骤S1050中,判断并行度的上限是否等于下限。在并行度的上限等于下限的情况下(在步骤S1050中“是”),由于无需选择并行度,因而进到步骤S1070。在并行度的上限和下限不相等的情况下(在步骤S1050中“否”),进到步骤S1150,向CU发送错误通知。
在步骤S1060中,调查是否设定了功耗量、处理时间、输出吞吐量等并行度和优先级以外的任务策略的参数,在都已经设定的情况下(在步骤S1060中“是”),进到步骤S1080。在哪个参数都未设定的情况下(在步骤S1060中“否”),进到步骤S1070。
在步骤S1070中,将并行度的上限值设定为并行度,进到步骤S1130。
在步骤S1080中,根据功耗量的概况信息计算相应的并行度的上限和下限,决定并行度的范围A,进到步骤S1090。
在步骤S1090中,与步骤S1080一样,根据处理时间的概况信息计算相应的并行度的上限和下限,决定并行度的范围B,进到步骤S1100。
在步骤S1100中,与步骤S1080和S1090一样,根据输出吞吐量的概况信息计算相应的并行度的上限和下限,决定并行度的范围C,进到步骤S1110。
在步骤S1110中,判断是否可从并行度的范围A、B、C中提取出共同的范围D。在能提取共同的范围D的情况下(在步骤S1110中“是”),进到步骤S1120。在不能提取共同的范围D的情况下(在步骤S1110中“否”),进到步骤S1150。例如,在并行度的范围A是1、2、3、范围B是2、3、范围C是2、3、4的情况下,共同的范围D为2、3。
在步骤S1120中,从并行度的上限和下限表示的范围、和共同的范围D中进一步提取共同的范围,将最大并行度决定为要使用的并行度,进到步骤S1130。例如,在共同的范围D是2、3、且并行度的上限值是4、下限值是2的情况下,要使用的并行度为3。
在步骤S1130中,调查是否有优先级的指定。在有指定的情况下(在步骤S1130中“是”),进到步骤S1140,在没有指定的情况下(在步骤S1130中“否”),结束处理。
在步骤S1140中,例如按照图28的流程,根据优先级调整并行度,结束处理。
并且,在步骤S1150中,由于不存在可决定的并行度,因而向CU返回错误,结束处理。
并且尽管未图示,然而例如使用任务策略规定输出吞吐量的下限和功耗量的上限,在质量保证型是最佳效果型的情况下,在不能保证由任务策略所规定的值的情况下,控制部动态调整并行度,以使输出吞吐量和功耗量的折衷为最佳。在质量保证型是保证型的情况下,调整并行度,以保证由任务策略所规定的值。
如上所述,本发明涉及的分布式处理系统对期待规定最佳并行度的分布式处理系统是有用的。
本发明涉及的分布式处理系统可取得能够提供这样的分布式处理系统的效果:为了实现用户要求的服务,在由提供1个以上的特定功能的计算模块构成的数据流型的模块网络中定义的系统中,作为在模块内部虚拟进行并行执行的指标,不仅规定并行度或整体性能,而且规定消耗电力或处理时间,根据这些指标规定最佳并行度。
而且,根据本发明,可提供这样的分布式处理系统:可根据动态定义的并行度,使计算模块内部的处理块动态增减。
并且,在本发明中,即使用户未直接指定并行度,也能通过将在应用程序执行时所关注的指标规定为策略,来动态构建对用户自身来说最佳的应用程序执行环境。

Claims (34)

1.一种分布式处理系统,该分布式处理系统具有:能进行并行处理的处理元件;控制单元;以及向所述控制单元请求执行应用程序的客户机,所述分布式处理系统用于执行所述应用程序,其特征在于,所述处理元件至少在所述应用程序的执行时具有:
1个以上的处理块,其处理使所述处理元件执行的1个以上任务中的各个任务;
处理块控制部,其根据从所述控制单元接收到的控制并行度的指标来运算并行度;
分割部,其通过所述处理块控制部,根据所述并行度对输入到所述处理块的处理数据进行分割;以及
集成部,其通过所述处理块控制部,根据所述并行度对从所述处理块输出的处理数据进行集成。
2.根据权利要求1所述的分布式处理系统,其中,所述处理元件预先具有多个所述处理块。
3.根据权利要求1所述的分布式处理系统,其中,所述处理元件在连接到了所述控制单元时登记PE信息,所述PE信息包含自身的功能信息、结构信息、最大并行度、以及表示并行度与控制并行度的指标的特性的概况信息。
4.根据权利要求1所述的分布式处理系统,其中,所述客户机指定与应用程序的执行相关的基准。
5.根据权利要求4所述的分布式处理系统,其中,所述控制单元根据所述PE信息和/或与所述应用程序的执行相关的基准,决定控制所述并行度的指标的候选并提示,
所述客户机通过从所述指标的候选中选择指标来决定控制所述并行度的指标。
6.根据权利要求4所述的分布式处理系统,其中,所述控制单元根据所述PE信息和/或与所述应用程序的执行相关的基准,决定控制所述并行度的指标。
7.根据权利要求1所述的分布式处理系统,其中,控制所述并行度的指标包括各所述处理元件的并行度的上限和下限。
8.根据权利要求7所述的分布式处理系统,其中,当所述并行度的上限值和下限值相互不同时,所述处理块控制部根据除了所述上限和所述下限以外的控制并行度的指标,来决定所述并行度。
9.根据权利要求7所述的分布式处理系统,其中,当所述并行度的上限值和下限值相互一致时,所述处理块控制部以所述一致的并行度进行处理。
10.根据权利要求1所述的分布式处理系统,其中,所述处理块包含专用处理块、通用处理块、以及动态可重构处理块中的至少一方,所述专用处理块执行预定功能,所述通用处理块根据所输入的程序信息而变更功能,所述动态可重构处理块根据所输入的重构信息来重构硬件。
11.根据权利要求10所述的分布式处理系统,其中,所述处理块是由软件构成的所述专用处理块,
所述处理元件预先具有所述专用处理块,
所述处理元件具有专用处理块保持部,该专用处理块保持部能够卸载、复制或者删除所述专用处理块,并能保持被卸载和/或复制的所述专用处理块。
12.根据权利要求11所述的分布式处理系统,其中,所述专用处理块保持部根据所述并行度来复制所保持的专用处理块。
13.根据权利要求11所述的分布式处理系统,其中,所述专用处理块保持部加载所保持的所述专用处理块,成为能进行处理的状态。
14.根据权利要求10所述的分布式处理系统,其中,所述处理块是由硬件构成的所述专用处理块,
通过连接/切断把所述专用处理块的输入与所述分割部连接、并把输出与所述集成部连接的路径,进行预定功能的执行和所述并行度的控制。
15.根据权利要求10所述的分布式处理系统,其中,所述处理块是由软件构成的所述通用处理块,
所述处理元件预先具有所述由软件构成的通用处理块,
所述处理元件具有通用处理块保持部,该通用处理块保持部能够卸载、复制或者删除所述由软件构成的通用处理块,并能保持被卸载和/或复制的所述通用处理块。
16.根据权利要求15所述的分布式处理系统,其中,所述通用处理块保持部根据所述并行度来复制所保持的通用处理块。
17.根据权利要求15所述的分布式处理系统,其中,所述通用处理块保持部加载所保持的所述通用处理块,成为能加载所述程序信息的状态。
18.根据权利要求15所述的分布式处理系统,其中,所述处理元件具有加载部,该加载部根据所述要执行的任务而将所连接的库内包含的程序信息从外部直接加载到所述通用处理块内。
19.根据权利要求18所述的分布式处理系统,其中,所述处理元件具有库保持部,该库保持部能够卸载、复制或者删除被加载到所述通用处理块内的包含于所述库内的程序信息,并能保持被卸载和/或复制的所述程序信息。
20.根据权利要求19所述的分布式处理系统,其中,所述加载部将所述程序信息加载到所述库保持部内,
所述库保持部保持经由加载部从外部接收到的所述程序信息。
21.根据权利要求19所述的分布式处理系统,其中,所述库保持部根据所述并行度来复制所保持的程序信息。
22.根据权利要求19所述的分布式处理系统,其中,所述库保持部将所保持的程序信息加载到所述通用处理块内。
23.根据权利要求10所述的分布式处理系统,其中,所述处理块是所述动态可重构处理块,
所述处理元件具有加载部,该加载部根据所述要执行的任务而将所连接的库内所包含的重构信息从外部直接加载到所述动态可重构处理块内。
24.根据权利要求23所述的分布式处理系统,其中,所述处理元件具有库保持部,该库保持部能够卸载、复制或者删除被加载到所述动态可重构处理块内的包含于所述库内的重构信息,并能保持被卸载和/或复制的所述重构信息。
25.根据权利要求24所述的分布式处理系统,其中,所述加载部将所述重构信息加载到所述库保持部内,
所述库保持部保持经由加载部从外部接收到的所述重构信息。
26.根据权利要求24所述的分布式处理系统,其中,所述库保持部根据所述并行度来复制所保持的重构信息。
27.根据权利要求24所述的分布式处理系统,其中,所述库保持部将所保持的重构信息加载到所述动态可重构处理块内。
28.根据权利要求23所述的分布式处理系统,其中,通过连接/切断将所述动态可重构处理块的输入与所述分割部连接、并将输出与所述集成部连接的路径,进行通过所述重构信息实现的功能的执行和所述并行度的控制。
29.根据权利要求1所述的分布式处理系统,其中,所述控制并行度的指标包括并行度、优先级、质量保证型、功耗量、处理时间以及输出吞吐量中的任意一个以上。
30.根据权利要求1所述的分布式处理系统,其中,所述客户机针对所述1个以上的任务分别指定优先级作为所述控制并行度的指标,
所述处理块根据所指定的优先级动态地决定与所述任务的执行相关的并行度。
31.根据权利要求4所述的分布式处理系统,其中,当不能根据所述客户机指定的与应用程序的执行相关的基准来决定所述控制并行度的指标的候选时,所述控制单元提示脱离了所述基准的替代指标。
32.根据权利要求1所述的分布式处理系统,其中,所述控制单元规定所述控制并行度的指标的候选的组合,
所述客户机经由用户接口将所述指标的候选提示给用户,在所述控制单元所规定的所述控制并行度的指标的候选的组合的范围内,限制用户接口上的输入组合。
33.根据权利要求11所述的分布式处理系统,其中,所述处理元件针对所述专用处理块、通用处理块、所述程序信息以及所述重构信息,能卸载已加载的全部内容。
34.根据权利要求4所述的分布式处理系统,其中,与所述应用程序的执行相关的基准包括质量保证型、功耗量、处理时间以及输出吞吐量中的任意一个以上。
CN201010507197XA 2009-10-01 2010-09-29 分布式处理系统 Pending CN102033783A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009229252A JP2011076513A (ja) 2009-10-01 2009-10-01 分散処理システム
JP2009-229252 2009-10-01

Publications (1)

Publication Number Publication Date
CN102033783A true CN102033783A (zh) 2011-04-27

Family

ID=43824149

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010507197XA Pending CN102033783A (zh) 2009-10-01 2010-09-29 分布式处理系统

Country Status (3)

Country Link
US (1) US20110083136A1 (zh)
JP (1) JP2011076513A (zh)
CN (1) CN102033783A (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102207892B (zh) * 2011-05-27 2013-03-27 清华大学 一种动态可重构处理器内子单元间进行同步的方法
JP2015508528A (ja) * 2011-12-28 2015-03-19 インテル・コーポレーション パイプライン化された画像処理シーケンサ
EP3084622A4 (en) * 2013-12-20 2018-02-28 Intel Corporation Execution offloading
JP2015191282A (ja) * 2014-03-27 2015-11-02 富士通株式会社 ジョブスケジュールプログラム、ジョブスケジュール方法、及びジョブスケジュール装置
US10944814B1 (en) * 2017-12-04 2021-03-09 Amazon Technologies, Inc. Independent resource scheduling for distributed data processing programs

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050278680A1 (en) * 2004-06-15 2005-12-15 University Of North Carolina At Charlotte Methodology for scheduling, partitioning and mapping computational tasks onto scalable, high performance, hybrid FPGA networks
US20080021987A1 (en) * 2006-07-21 2008-01-24 Sony Computer Entertainment Inc. Sub-task processor distribution scheduling

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6609131B1 (en) * 1999-09-27 2003-08-19 Oracle International Corporation Parallel partition-wise joins

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050278680A1 (en) * 2004-06-15 2005-12-15 University Of North Carolina At Charlotte Methodology for scheduling, partitioning and mapping computational tasks onto scalable, high performance, hybrid FPGA networks
US20080021987A1 (en) * 2006-07-21 2008-01-24 Sony Computer Entertainment Inc. Sub-task processor distribution scheduling

Also Published As

Publication number Publication date
JP2011076513A (ja) 2011-04-14
US20110083136A1 (en) 2011-04-07

Similar Documents

Publication Publication Date Title
Zhou et al. Incorporating partitioning and parallel plans into the SCOPE optimizer
JP4387174B2 (ja) 複数の優先順位グループに関連付けられたプロセスを複数のリソース間に分散する方法
Hou et al. Process partitioning for distributed embedded systems
CN102033783A (zh) 分布式处理系统
CN111427681A (zh) 边缘计算中基于资源监控的实时任务匹配调度系统和方法
CN1866217A (zh) 确定源服务器在目标服务器中的最佳分布的系统和方法
JPH06214843A (ja) データベース管理システムおよび問合せの処理方法
US7454749B2 (en) Scalable parallel processing on shared memory computers
Collins et al. Flexible filters: load balancing through backpressure for stream programs
CN100508501C (zh) 基于开放网格服务体系结构的网格工作流虚拟服务调度法
Pimpley et al. Towards Optimal Resource Allocation for Big Data Analytics.
CN101193262A (zh) 视讯会议系统备选mcu选择方法
CN116974994A (zh) 一种基于集群的高效能文件协作系统
CN104933110B (zh) 一种基于MapReduce的数据预取方法
Zhang et al. Txallo: Dynamic transaction allocation in sharded blockchain systems
CN110868461B (zh) 一种Gaia集群中面向节点间异构带宽的数据分发方法
CN114035919A (zh) 基于配电网分层分布特征的任务调度系统及方法
US20030177166A1 (en) Scalable scheduling in parallel processors
Shi et al. Multi-Objective Biogeography-Based Method to Optimize Virtual Machine Consolidation.
CN116980423B (zh) 模型调度方法、装置、计算系统、设备及可读存储介质
CN112862385A (zh) 集散货分拣方法、装置及存储介质
Gans et al. Optimal dynamic scheduling of a general class of parallel-processing queueing systems
CN113641407B (zh) 一种基于cpu和gpu的混合并行智能优化方法
CN115391045A (zh) 一种基于机器学习辅助的负载均衡方法及系统
Zhang et al. ITIF: Integrated Transformers Inference Framework for Multiple Tenants on GPU

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110427