CN101652750B - 数据处理装置、分散处理系统、数据处理方法 - Google Patents

数据处理装置、分散处理系统、数据处理方法 Download PDF

Info

Publication number
CN101652750B
CN101652750B CN200780052409.6A CN200780052409A CN101652750B CN 101652750 B CN101652750 B CN 101652750B CN 200780052409 A CN200780052409 A CN 200780052409A CN 101652750 B CN101652750 B CN 101652750B
Authority
CN
China
Prior art keywords
task
mentioned
data
data processing
processing equipment
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
CN200780052409.6A
Other languages
English (en)
Other versions
CN101652750A (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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of CN101652750A publication Critical patent/CN101652750A/zh
Application granted granted Critical
Publication of CN101652750B publication Critical patent/CN101652750B/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/541Interprogram communication via adapters, e.g. between incompatible applications
    • 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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Abstract

终端(20)具有:任务信息取得部(55),取得关于处理数据的任务的信息;通信任务生成部(56),当任务所需的数据的取得目标是经由网络与执行任务的装置相连接的、不同于执行任务的装置的其他装置时,生成用于使取得目标的装置向执行任务的装置发送任务所需的数据的发送任务,并发送给取得目标的装置。

Description

数据处理装置、分散处理系统、数据处理方法
技术领域
本发明涉及分散处理技术,特别涉及使连接在网络中的多个数据处理装置分散地处理任务(task)的数据处理装置、分散处理系统、数据处理方法及数据处理程序。 
背景技术
已知有能将需要很多资源的大规模的计算分散到多个处理器进行处理的分散处理系统。 
发明内容
〔发明所要解决的课题〕 
然而,将在以单一处理器进行处理的设想下设计出的应用分割成多个模块,并使之分散到多个处理器中进行处理,一般来说并不容易。另外,在预先设想要分散给多个处理器进行处理地设计应用时,从数据的收发等问题到使哪个处理器处理哪个模块,都要考虑到地来进行设计,因而在灵活性和通用性上存在欠缺。 
本发明是鉴于这样的情况而设计的,其目的之一在于提供一种便利性更高的分散处理技术。 
〔用于解决课题的手段〕 
本发明的一个方案涉及数据处理装置。该数据处理装置包括:任务信息取得部,取得关于处理数据的任务的信息;通信任务生成部,当上述任务所需的数据的取得目标是经由网络与执行上述任务的装置相连接的、不同于执行上述任务的装置的其他装置时,生成用于使取得目标的装置向执行上述任务的装置发送上述任务所需的数据的发送任务,并发送给取得目标的装置。 
另外,将以上结构要素的任意组合、本发明的表现形式在方法、装置、系统等之间相互变换后的方案,作为本发明的实施方式也是有效的。 
〔发明效果〕 
通过本发明,能提供便利性更高的分散处理技术。 
附图说明
图1是表示第1实施方式的分散处理系统的结构的图。 
图2是表示分散处理管理装置的结构的图。 
图3是表示资源数据库的内部数据的例子的图。 
图4是表示记述了关于应用的信息的XML文档的例子的图。 
图5是表示图4所示的XML文档中所记述的任务间的关系的图。 
图6是表示终端的结构的图。 
图7是表示终端的硬件结构的图。 
图8是表示输入输出单元的功能性结构的图。 
图9是表示第2实施方式的分散处理管理装置的结构的图。 
图10是表示第2实施方式的终端的结构的图。 
图11是表示应用的例子的图。 
图12是用于说明在如图11所示那样分配了任务时,核心任务的输入数据被生成的样子的图。 
图13是表示图11所示的应用中所包含的任务的其他分配例子的图。 
图14是用于说明在如图13那样分配了任务时,核心任务的输入数据被生成的样子的图。 
〔标号说明〕 
10分散处理系统,12网络,20终端,21通信部,22MPU,24输入输出单元,26处理器,28本地存储器,30处理单元,32处理器,34本地存储器,42主存储器,46网络控制部,50控制部,51任务取得部,52任务执行部,53接收任务执行部,54发送任务执行部,55任务信息取得部,56通信任务生成部,60控制部,65过程管理部,66执行状况管理部,68任务队列,80分散处理管理装置,84资源数据库,90控制部,91处理能力信息取得部,92应用信息取得部,93任务分配部,94通信任务生成部,95任务发送部,96执行状况管理部,97任务信息通知部。 
具体实施方式
(第1实施方式) 
图1表示第1实施方式的分散处理系统10的结构。分散处理系统10包括分散处理管理装置80和多个终端20。这些装置是数据处理装置的一个例子,通过因特网或LAN等网络12连接起来。分散处理管理装置80在使应用分散到多个终端20进行处理时,管理多个终端20间的处理的执行。 
图2表示分散处理管理装置80的结构。分散处理管理装置80具有通信部82、控制部90、资源数据库84。控制部90包括处理能力信息取得部91、应用信息取得部92、任务分配部93、任务发送部95、执行状况管理部96。这些结构在硬件元件方面可以通过任意计算机的CPU、存储器、载入到存储器中的程序等来实现,但这里描述以它们的协作来实现的功能块。因此,本领域技术人员能够理解这些功能块可以仅由硬件或软件来实现,也可以由它们的组合以各种各样的形式来实现。 
处理能力信息取得部91经由网络12从多个终端20取得各个终端20的关于处理能力的信息。处理能力信息取得部91从各个终端20取得安装在该终端20中的处理器的种别、工作时钟频率、存储器的容量等。另外,处理能力信息取得部91在预定的定时(timing)从终端20取得该时刻的处理器运转率、存储器的使用量等信息。当终端20都具有相同的结构时,处理能力信息取得部91也可以取得未在执行任务的、即空闲的处理器32的数量来作为处理器的运转率。处理能力信息取得部91将所取得的信息登记到资源数据库84中。 
图3表示资源数据库84的内部数据的例子。资源数据库84中设有终端ID栏102、处理器频率栏104、处理器数量栏106、存储器栏108、处理器运转率栏110、存储器使用率栏112、分配日期时间栏114、分配中任务ID栏116、分配中任务量栏118、执行完任务量栏120。终端ID栏102存储终端20的ID。处理器频率栏104存储安装在终端20中的处理器的工作频率。处理器数量栏106存储安装在终端20中的处理器的数量。存储器栏108存储安装在终端20中的存储器的容量。处理器运转率栏110存储终端20的处理器的运转率。存储器使用率栏112存储终端20的存储器的使用率。分配日期时间栏114存储将任务分配给终端20的日期时间。分配中任务ID栏116存储已分配给终端20的任务的ID。分配中任务量栏118存储已分配给终端20的任务的量。执行完任务量栏120存储终端20已执行了的任务的量。 
应用信息取得部92取得包含有要使终端20处理的多个任务的应用的信息。在本 实施方式中,应用信息取得部92取得记述了应用中所包含的多个任务的执行顺序和关于任务间的数据收发的信息的XML文档,通过解析XML文档来取得关于应用的信息。 
任务分配部93基于处理能力信息取得部91所取得的各个终端20的关于处理能力的信息,来决定使哪个终端20处理记述在应用信息取得部92取得的XML文档中的应用所包含的多个任务。例如,在假定第1任务需要两个处理器、第2任务需要三个处理器时,如果该时刻存在有5个处理器能使用的终端20,则可以将全部任务分配给同一终端20。但当不存在能执行所有任务的终端20时,任务分配部93将任务分散地分配给多个终端20。此时,应用信息取得部92和任务分配部93承担作为取得任务的信息的任务信息取得部的功能。 
通信任务生成部94在将多个任务分配给了多个终端20时,如果需要在终端20间进行用于执行任务的数据的收发,则生成用于经由网络12在终端20间收发数据的通信任务,附加到要送往终端20的任务中。在被送往发送数据方终端20的任务中附加发送任务,该发送任务用于将任务所输出的输出数据发送给执行后续的任务的装置。在被送往接收数据方终端20的任务中附加接收任务,该接收任务用于将从任务所需数据的取得目标装置接收到的数据变换成与任务的输入接口相应的数据类型,生成输入数据。在这些通信任务中,根据任务所需数据的取得目标即发送方终端20、以及执行后续的任务的装置即接收方终端20的处理能力,预先设定通信参数。通信参数例如可以根据终端20的通信速度、缓冲器容量、连接终端20的网络的种别等来进行设定。另外,通信参数也可以根据任务所需数据的内容来设定。例如,在通信参数中可以包含用于选择发送方终端20应发送的数据的信息,以及用于从接收方终端20所接收到的数据中选择、变换、合并(merge)数据来生成输入数据的信息等。另外,通信参数中也可以包含关于输入输入数据的定时的信息等。关于任务所需数据的信息可以被记述在应用信息取得部92取得的XML文档中。 
任务发送部95将由任务分配部93分配的任务经由网络12发送给终端20。执行状况管理部96从已分配了任务的各终端20取得任务的执行状况,并记录在资源数据库84中,管理各终端20中的任务的执行状况。如果需要,任务发送部95向任务分配部93指示任务的再分配。 
图4表示记述了关于应用的信息的XML文档的例子。在图4所示的例子中,记 述有应用所包含的两个任务“senderInstance A”及“receiverInstance A”的信息。在记述了关于第2任务“receiverInstance A”的信息的部分中,在<stream>要素130内说明了要被输入到第2任务的数据。这里,在<channelIn1>要素中说明了应将记述在<channelOut1>要素中的数据输入给第2任务。在<channelOut1>要素中记述了数据的取得目标是从第1任务“senderInstance A”输出的数据。即,可知应将从第1任务输出的数据输入给第2数据。 
图5表示记述在图4所示的XML文档中的任务间的关系。以下为与通信任务生成部94所生成的通信任务相区别,将构成应用的任务称为核心任务。首先,第1核心任务142被执行,从第1核心任务142输出的数据被输入到第2核心任务154,第2核心任务154被执行。在该例子中,由于需要将从第1核心任务142输出的数据输入到第2核心任务154,所以在任务分配部93将第1核心任务142和第2核心任务154分配给不同的终端20时,通信任务生成部94在第1核心任务142中附加发送任务144,该发送任务144用于使从第1核心任务142输出的数据发送给被分配第2核心任务154的终端20。另外,在第2核心任务154中附加接收任务152,该接收任务152用于接收从被分配第1核心任务142的终端20发送出的数据,并生成第2核心任务154的输入数据。任务发送部95将被附加了通信任务的第1任务140和第2任务150发送到所分配的各个终端20。 
图6表示终端20的结构。终端20具有通信部21和控制部50。控制部50包括任务取得部51、任务执行部52、接收任务执行部53、以及发送任务执行部54。这些功能块也能仅由硬件或软件来实现,或者通过它们的组合以各种形式实现。 
任务取得部51经由网络12从分散处理管理装置80取得任务。任务执行部52执行所取得的任务。任务执行部52如后述的那样由多个安装在终端20中的处理器和设于各个处理器的本地存储器来实现。接收任务执行部53在所取得的任务中附加有接收任务时,执行接收任务,将基于从任务所需数据的取得目标装置接收到的数据而生成的输入数据传送给任务执行部52。接收任务执行部53如后述的那样向本地存储器的输入缓冲器传送输入数据。发送任务执行部54在所取得的任务中附加有发送任务时,执行发送任务,从存储于本地存储器的输出缓冲器的输出数据中选择所需的数据,发送给执行后续的任务的装置。 
图7表示终端20的硬件结构。终端20具有微处理器单元(MPU)22、图形处理 单元(GPU)40、主存储器42、辅助存储装置(HDD)44、网络控制部46,它们分别经由主总线38相连接。网络控制部46经由网络12与其他终端20、分散处理管理装置80等装置间收发数据。 
MPU22是非对称型的多处理器单元,具有一个输入输出单元24、和作为任务执行部52的一例的多个处理单元30。输入输出单元24是在与其他结构间进行数据的输入输出的单元,包括处理器26和本地存储器28。本地存储器28例如是闪速存储器。各处理单元30是分别独立地执行应用所包含的任务的单元,分别包括处理器32和本地存储器34。从主存储器42读出的程序、数据、工作参数等被写入本地存储器34,由处理器32来执行。 
输入输出单元24经由主总线38与GPU40、主存储器42、HDD44、网络控制部46等终端20内的其他结构间收发数据。另外,还经由网络控制部46与其他装置间收发数据。在本实施方式中,处理单元30能够在与其他处理单元30、输入输出单元24、GPU40、以及主存储器42之间进行数据的收发,但不能经由网络控制部46与其他装置间直接进行数据的收发。处理单元30经由输入输出单元24与其他装置间收发数据。 
在其他实施方式中,处理单元30也可以被构成为能与其他装置间直接进行数据的收发。另外,MPU22也可以是对称型的多处理器单元,此时,可以是某一个处理单元30发挥输入输出单元24的功能,也可以是所有处理单元30与其他装置间直接进行数据的收发。 
被分配给终端20的任务在输入输出单元24所执行的过程管理功能的管理下,由多个处理单元30的至少一部分来执行。输入输出单元24选择多个处理单元30中没有被使用着的处理单元30,使之执行任务。 
图8表示输入输出单元24的功能性结构。输入输出单元24包括接口部67、控制部60、任务队列68。控制部60包括文件输入输出接口61、通信接口62、数据库接口63、存储器输入输出接口64、过程管理部65、以及执行状况管理部66。 
接口部67进行经由主总线38的数据的收发。文件输入输出接口61进行例如存储在HDD44中的文件的输入输出。通信接口62例如经由网络控制部46与其他装置间进行数据的输入输出。数据库接口63与例如存储在HDD44中的、或者载入到主存储器42中的数据库间进行数据的输入输出。存储器输入输出接口64进行例如主存储器42上的数据的输入输出。 
过程管理部65管理在处理单元30中所执行的过程。处理单元30应执行的任务被顺次存储在任务队列68中。在处理单元30的处理器32变成可执行下一任务的状态时,参照任务队列68取得下一任务来执行。过程管理部65管理各个处理单元30的处理器32是否正在执行任务,并通知给分散处理管理装置80。 
执行状况管理部66在处理单元30的处理器32正执行被分散到终端20间的应用的任务时,管理其执行状况。执行状况管理部66例如在处理单元30应执行的任务过多地积压在任务队列68中,无法立刻执行所被分配的应用的任务的状况时,将该情况通知给分散处理管理装置80,请求将任务再分配给其他终端20。 
过程管理功能也可以由各个处理单元30来执行。此时,各处理单元30的过程管理功能使得在其处理单元30变成可执行其他任务的状态时,从任务队列取得待执行的任务来执行。这样,任务由处理单元30来执行,所以优选将给终端20的任务设计成由处理单元30进行处理的程序。另外,优选将任务设计成能以单一的终端20的处理能力来处理。 
(第2实施方式) 
在第1实施方式中,在分散处理管理装置80将构成应用的任务分配给多个终端20时,是根据需要而自动生成通信任务的,但在第2实施方式中,是由被分配了任务的终端20来生成通信任务。 
图9表示第2实施方式的分散处理管理装置80的结构。第2实施方式的分散处理管理装置80与图2所示的第1实施方式的分散处理管理装置80的结构相比,其不同点在于具有任务信息通知部97来代替通信任务生成部94。其他结构和动作是与第1实施方式相同的。 
任务信息通知部97向分配了任务的终端20通知关于任务所需数据的取得目标装置的信息。由此,终端20能够自己生成用于从取得目标装置取得数据的发送任务,发送给取得目标装置。任务信息通知部97还可以进一步通知关于任务所需数据的内容的信息。例如可以通知任务的输入数据的数据类型、数据长度、关于输入定时的条件等。 
图10表示第2实施方式的终端20的结构。第2实施方式的终端20与图6所示的第1实施方式的终端20的结构相比,其不同点在于还具有任务信息取得部55和通信任务生成部56。其他结构和动作与第1实施方式相同。 
任务信息取得部55取得关于处理数据的任务的信息。任务信息取得部55取得关于任务取得部51取得的任务所需数据的取得目标的信息。通信任务生成部56在所取得的任务所需数据的取得目标是经由网络与本终端相连接的其他终端时,生成用于使取得目标终端向本终端发送任务所需数据的发送任务,发送给取得目标终端。另外,通信任务生成部56生成用于从取得目标终端接收数据并生成任务的输入数据的接收任务,送往接收任务执行部53。 
图11表示应用的例子。应用200是从动图像中检测出人的脸并进行认证的应用,包括对动图像进行解码的核心任务162、从解码后的动图像中检测出人的脸的核心任务174和184、识别所检测出的脸的图像的核心任务194、以及将识别出的脸与数据库相对照进行认证的核心任务196。另外,检测脸的任务被分割为从动图像的上半部分检测脸的核心任务174、和从动图像的下半部分检测脸的核心任务184。 
在图11的例子中,包含在应用200中的各任务被分配给不同的多个终端。具体来说,核心任务162被分配给终端160,核心任务174被分配给终端170,核心任务184被分配给终端180,核心任务194和196被分配给终端190。 
分散处理管理装置80的任务信息通知部97向被分配了核心任务174的终端170通知脸检测所需的动图像的数据将从终端160输出这一信息。另外,核心任务174仅处理动图像的上半部分即可,所以通知仅取得从核心任务162输出的数据中的动图像上半部分的数据即可这一信息。终端170的通信任务生成部56生成发送任务164发送给终端160,该发送任务164用于使在终端160中执行的核心任务162所输出的数据发送给终端170。该发送任务164中基于从任务信息通知部97通知来的信息而预先设定有通信参数,该通信参数表示从核心任务162所输出的数据中选择动图像的上半部分的数据。另外,通信任务生成部56生成接收任务172,该接收任务172用于从终端160接收数据,并生成输入到核心任务174的输入数据。同样地,终端180的通信任务生成部56生成发送任务166发送给终端160,并生成接收任务182。发送任务164按照所设定的通信参数,从核心任务162的输出缓冲器中选择动图像的上半部分的数据,发送给接收任务172。同样地,发送任务166选择动图像的下半部分的数据发送给接收任务182。 
核心任务194需要从执行核心任务174的终端170输出的数据,和从执行核心任务184的终端180输出的数据这两者,所以生成用于使各个终端发送数据的发送任务 176和发送任务186,发送给各个终端。另外,生成对从发送任务176和发送任务186接收到的数据进行合并、生成输入数据的接收任务191和接收任务192。接收任务191和接收任务192也可以从自终端170和180接收来的数据中选择需要的数据,生成核心任务194的输入数据。另外,接收任务191和接收任务192也可以调整将基于从终端170和180收到的数据而生成的输入数据输入到核心任务194的定时。例如由于核心任务194需要核心任务174和核心任务184这两者的结果,所以接收任务191和接收任务192可以是即便接收了任一方的输出数据,也要待机至接收到另一方的输出数据。另外,接收任务191和接收任务192也可以汇总为一个接收任务。 
核心任务194和核心任务196被分配给同一终端190,所以这些任务间的数据的收发不需要经由网络的通信。因此,不生成发送任务和接收任务。此时,通信任务生成部56基于从任务信息通知部97通知来的信息,从核心任务194所输出的数据中选择核心任务196所需的数据,如果需要,则将其变换成适当的数据类型,或者重新排列数据的顺序,或者与其他核心任务输出的数据合并,来生成用于向执行核心任务196的处理单元30的输入缓冲器35传送的DMA命令。核心任务194被执行,输出数据被存储到输出缓冲器36中后,由通信任务生成部56生成的DMA命令被执行核心任务194的处理单元30或者执行核心任务196的处理单元30的DMA控制器37执行,核心任务196的输入数据被置于输入缓冲器35中。 
图12是用于说明在如图11所示那样分配了任务时,核心任务194的输入数据被生成的样子的图。在终端170中,核心任务174被执行后,输出数据被存储在执行了核心任务174的处理单元30的输出缓冲器36中。发送任务176内被预先设定了包含用于从存储于输出缓冲器36的输出数据中选择核心任务194所需的数据的信息的通信参数,所以发送任务176选择所需的数据生成发送数据178,发送给被分配了核心任务194的终端190。同样地,发送任务186从存储于输出缓冲器36的输出数据中选择核心任务194所需的数据,生成发送数据188,发送给终端190。另外,核心任务174或184所输出的输出数据也可以从输出缓冲器36传送给主存储器42。此时,发送任务176或186可以从存储于主存储器42的数据中选择所需的数据,生成发送数据178或188。 
在终端190中执行的接收任务191和192分别从终端170、终端180收到发送数据178、188后,将之变换成与核心任务194的输入接口相应的数据类型,并将这些 数据合并,将输入数据198存储到执行核心任务194的处理单元30的输入缓冲器35中。此时,如果需要,调整将核心任务194的输入数据传送给输入缓冲器35的定时。例如,在输入缓冲器35不具有存储全部输入数据的容量的情况下,根据核心任务194的进行,以盖写不需要的数据的方式将后续的输入数据传送给输入缓冲器35。此时,接收任务191和192也可以暂时将接收到的发送数据178和188存储在主存储器42等中。 
图13表示包含在图11所示的应用中的任务的其他分配例。在图13所示的例子中,核心任务174、184、194及196被分配给同一终端190。此时,由于核心任务174、184与核心任务194之间的数据的收发不需要终端间的通信,所以不生成发送任务176和186、以及接收任务191和192。 
图14是用于说明在如图13所示那样分配了任务时,核心任务194的输入数据被生成的样子的图。执行核心任务174的处理单元30a、执行核心任务184的处理单元30b、执行核心任务194的处理单元30c全都在同一终端190内。因此,处理单元30c能够直接访问存储有核心任务184的输出数据的处理单元30a的输出缓冲器36a、和存储有核心任务194的输出数据的处理单元30b的输出缓冲器36b来取得数据。因此,在该情况下不生成发送任务和接收任务。取而代之,由通信任务生成部56生成从存储于输出缓冲器36a、36b的数据中选择核心任务194所需的数据并传送给输入缓冲器35c的DMA命令的列表。DMA控制器37c执行所生成的DMA命令,将核心任务194的输入数据198存储在输入缓冲器35c中。 
这样,不论是应用所包含的多个任务被分配给同一终端20,还是分配给不同的多个终端20,都自动生成数据的输入输出所需要的通信任务或DMA命令,所以能够适当地进行数据的收发。因此,应用的设计者能够不考虑任务是如何被分散到终端20间地来设计应用。由此,能够提供一种可容易地构建大规模的应用的环境。另外,各任务取得输入数据后只要执行环境整备,就可以与其他任务无关地、非同步地执行,所以能够提高处理的效率。另外,由于是根据终端20中的处理器32的使用状况来适当分配任务的,所以应用的设计者能够不考虑如何使任务分散处理地来设计应用。 
以上基于实施例说明了本发明。本领域技术人员能够理解该实施例是个例示,其各结构要素和各处理过程的组合可以有各种各样的变形,且这些变形例也包含在本发明的范围内。 
在实施方式中说明了从分散处理管理装置80向终端20分配任务的例子,但不限于此。例如在某数据处理装置想要执行包含有多个任务的应用时,为利用其他装置的空闲资源而向其他装置分配任务的情况下,或者被分配了多个任务的数据处理装置将所被分配的任务的一部分再分配给其他装置时,也能适用实施方式中所说明的技术。在这样的情况下,通过自动生成通信任务,能够自由地向多个装置分配任务,在被分配的装置中,在能够执行所分配的任务的环境整备的阶段可以非同步地执行任务,所以能够极大地提高分散处理的效率。 
〔工业可利用性〕 
本发明能够适用于使连接于网络的多个数据处理装置分散地处理任务的分散处理系统。 

Claims (17)

1.一种数据处理装置,其特征在于,包括:
任务信息取得部,取得在处理数据的应用所包含的被分散到多个通用的装置而执行的多个任务中、关于被分配到本装置并由本装置执行的任务或者由本装置被分配给管理任务的分配的其他装置并由其他装置执行的任务的信息;和
通信任务生成部,当上述任务所需的数据的取得目标是经由网络与执行上述任务的装置相连的、不同于执行上述任务的装置的其他装置时,生成用于使上述取得目标的装置向执行上述任务的装置发送上述任务所需的数据的发送任务,并发送给上述取得目标的装置,
其中,不是对特定的专用的装置分配所决定的任务,而是对所述多个通用的装置动态地分配所述多个任务。
2.根据权利要求1所述的数据处理装置,其特征在于:
上述通信任务生成部生成接收任务,该接收任务用于使执行上述任务的装置接收上述取得目标的装置所发送出的数据,并生成上述任务的输入数据。
3.根据权利要求2所述的数据处理装置,其特征在于:
当上述取得目标的装置有多个时,上述通信任务生成部针对各个上述取得目标的装置生成上述发送任务并发送,
上述接收任务接收从多个上述取得目标的装置发送出的数据,生成上述输入数据。
4.根据权利要求1至3的任一项所述的数据处理装置,其特征在于:
上述发送任务从上述取得目标的装置所保持的数据中选择需要的数据进行发送。
5.根据权利要求2至4的任一项所述的数据处理装置,其特征在于:
上述接收任务调整将基于从上述取得目标的装置收到的数据而生成的上述输入数据输入给上述任务的定时。
6.根据权利要求2至5的任一项所述的数据处理装置,其特征在于:
上述接收任务将从上述取得目标的装置收到的数据变换成与上述任务的输入接口相应的数据类型,生成上述输入数据。
7.根据权利要求1至6的任一项所述的数据处理装置,其特征在于:
上述发送任务中,根据上述取得目标的装置或执行上述任务的装置的处理能力或上述任务所需的数据的内容,而预先设定通信参数。
8.根据权利要求2至7的任一项所述的数据处理装置,其特征在于,还包括:
任务取得部,取得上述任务;
任务执行部,执行上述任务;以及
接收任务执行部,执行上述接收任务,并将基于从上述取得目标的装置收到的数据而生成的上述输入数据传送给上述任务执行部。
9.根据权利要求8所述的数据处理装置,其特征在于:
上述任务执行部包括
输入缓冲器,存储上述任务的输入数据,和
输出缓冲器,存储上述任务的输出数据;
上述接收任务执行部将上述输入数据传送给上述输入缓冲器。
10.根据权利要求9所述的数据处理装置,其特征在于,还包括:
发送任务取得部,从执行后续的任务的装置取得上述发送任务;和
发送任务执行部,执行上述发送任务,并将存储在上述输出缓冲器中的输出数据发送给上述执行后续的任务的装置。
11.根据权利要求1至7的任一项所述的数据处理装置,其特征在于,还包括:
处理能力信息取得部,经由网络从多个执行上述任务的装置取得各个装置的关于处理能力的信息;
应用信息取得部,取得包含要使多个执行上述任务的装置处理的多个任务的应用的信息;
任务分配部,基于上述处理能力信息取得部取得的各个装置的关于处理能力的信息,决定使哪个装置处理上述应用所包含的多个任务;以及
任务发送部,将由上述任务分配部分配的任务经由上述网络发送给上述多个执行任务的装置。
12.根据权利要求11所述的数据处理装置,其特征在于:
上述应用信息取得部通过读入记述了上述应用所包含的多个任务的执行顺序和关于任务间的数据收发的信息的文件,来取得上述应用的信息。
13.根据权利要求12所述的数据处理装置,其特征在于:
上述文件是以置标语言记述的,
上述应用信息取得部通过解析上述以置标语言记述的文档,来取得上述应用的信息。
14.根据权利要求11至13的任一项所述的数据处理装置,其特征在于:
上述任务被设计成能以单一的执行上述任务的装置的处理能力来处理。
15.一种分散处理系统,其特征在于,包括:
多个通用的数据处理装置;和
分散处理管理装置,经由网络与上述多个数据处理装置相连接,在使应用分散到上述多个数据处理装置进行处理时,管理上述多个数据处理装置;
其中,上述分散处理管理装置包括
处理能力信息取得部,经由网络从上述多个数据处理装置取得各个数据处理装置的关于处理能力的信息,
应用信息取得部,取得包含要使上述数据处理装置处理的多个任务的应用的信息,
任务分配部,基于上述处理能力信息取得部取得的各个处理系统的关于处理能力的信息,来决定使哪个数据处理装置处理上述应用所包含的多个任务,
任务发送部,将任务发送给上述任务分配部所决定的数据处理装置,以及
任务信息通知部,向上述数据处理装置通知关于上述任务所需的输入数据的取得目标的信息;
上述数据处理装置包括
任务取得部,取得上述任务,
任务执行部,执行上述任务,
任务信息取得部,取得上述关于任务所需的数据的取得目标的信息,以及
通信任务生成部,当上述任务所需的数据的取得目标是经由网络与该数据处理装置相连接的、不同于该数据处理装置的其他数据处理装置时,生成用于使上述取得目标的数据处理装置向该数据处理装置发送上述任务所需的数据的发送任务,发送给上述取得目标的数据处理装置,
其中,不是对特定的专用的装置分配所决定的任务,而是对所述多个通用的装置动态地分配所述多个任务。
16.一种分散处理系统,其特征在于,包括:
多个通用的数据处理装置;和
分散处理管理装置,经由网络与上述多个数据处理装置相连接,在使应用分散到上述多个数据处理装置进行处理时,管理上述多个数据处理装置;
其中,上述分散处理管理装置包括
处理能力信息取得部,经由网络从上述多个数据处理装置取得各个数据处理装置的关于处理能力的信息,
应用信息取得部,取得包含要使上述数据处理装置处理的多个任务的应用的信息,
任务分配部,基于上述处理能力信息取得部取得的各个处理系统的关于处理能力的信息,来决定使哪个数据处理装置处理上述应用所包含的多个任务,
任务发送部,将任务发送给上述任务分配部所决定的数据处理装置,以及
通信任务生成部,在将一个应用所包含的多个任务分散地分配给多个数据处理装置时,在需要在数据处理装置间进行用于执行任务的数据的收发的情况下,生成用于经由上述网络收发数据的通信任务,并附加到发送给数据处理装置的任务中;
上述数据处理装置包括
任务取得部,取得上述任务,
通信任务执行部,执行被附加在上述任务中的通信任务,以及
任务执行部,执行上述任务,
其中,不是对特定的专用的装置分配所决定的任务,而是对所述多个通用的装置动态地分配所述多个任务。
17.一种数据处理方法,其特征在于,包括:
取得在处理数据的应用所包含的被分散到多个通用的装置而执行的多个任务中、关于被分配到本装置并由本装置执行的任务或者由本装置被分配给管理任务的分配的其他装置并由其他装置执行的任务的信息的步骤;和
当上述任务所需的数据的取得目标是经由网络与执行上述任务的装置相连接的、不同于执行上述任务的装置的其他装置时,生成用于使上述取得目标的装置向执行上述任务的装置发送上述任务所需的数据的发送任务,并发送给上述取得目标的装置的步骤,
其中,不是对特定的专用的装置分配所决定的任务,而是对所述多个通用的装置动态地分配所述多个任务。
CN200780052409.6A 2007-03-28 2007-10-09 数据处理装置、分散处理系统、数据处理方法 Active CN101652750B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP084939/2007 2007-03-28
JP2007084939A JP5137434B2 (ja) 2007-03-28 2007-03-28 データ処理装置、分散処理システム、データ処理方法、及びデータ処理プログラム
PCT/JP2007/001093 WO2008120281A1 (ja) 2007-03-28 2007-10-09 データ処理装置、分散処理システム、データ処理方法、及びデータ処理プログラム

Publications (2)

Publication Number Publication Date
CN101652750A CN101652750A (zh) 2010-02-17
CN101652750B true CN101652750B (zh) 2014-08-13

Family

ID=39807874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780052409.6A Active CN101652750B (zh) 2007-03-28 2007-10-09 数据处理装置、分散处理系统、数据处理方法

Country Status (5)

Country Link
US (1) US8719367B2 (zh)
EP (1) EP2144164B1 (zh)
JP (1) JP5137434B2 (zh)
CN (1) CN101652750B (zh)
WO (1) WO2008120281A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011108041A1 (ja) * 2010-03-04 2011-09-09 日本電気株式会社 ストレージ装置
CA2811630C (en) 2010-08-24 2020-06-16 Solano Labs, Inc. Method and apparatus for clearing cloud compute demand
WO2012054089A2 (en) * 2010-10-21 2012-04-26 Net Power And Light Inc. Distributed processing pipeline and distributed layered application processing
JP2013097548A (ja) 2011-10-31 2013-05-20 Pfu Ltd 情報処理システム、情報処理装置、クライアント端末、情報処理方法、及びプログラム
KR101893982B1 (ko) 2012-04-09 2018-10-05 삼성전자 주식회사 분산 처리 시스템, 분산 처리 시스템의 스케줄러 노드 및 스케줄 방법, 및 이를 위한 프로그램 생성 장치
RU2538920C2 (ru) * 2013-05-06 2015-01-10 Общество с ограниченной ответственностью "Аби ИнфоПоиск" Способ распределения задач сервером вычислительной системы, машиночитаемый носитель информации и система для реализации способа
WO2015194133A1 (ja) * 2014-06-19 2015-12-23 日本電気株式会社 演算装置、演算装置の制御方法、及び、演算装置の制御プログラムが記録された記憶媒体
US10171558B2 (en) 2014-09-12 2019-01-01 Microsoft Technology Licensing, Llc Cross device application discovery and control
GB2533284B (en) * 2014-12-11 2017-04-12 Imagination Tech Ltd Performing object detection
CA2987734A1 (en) 2015-04-28 2016-11-03 Solano Labs, Inc. Cost optimization of cloud computing resources
CN105516620A (zh) * 2015-12-10 2016-04-20 阔地教育科技有限公司 一种分配控制装置、图像处理装置和直录播互动系统
EP3435230A4 (en) * 2016-03-22 2019-04-03 Mitsubishi Electric Corporation INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING DEVICE, AND INFORMATION PROCESSING METHOD
JP2021196912A (ja) * 2020-06-15 2021-12-27 ヤフー株式会社 実行装置、実行方法、および実行プログラム
JP7170957B2 (ja) * 2020-10-05 2022-11-14 三菱電機株式会社 分散処理システム、分散処理方法、分散処理プログラムおよびスケジューリング装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0766334B2 (ja) * 1989-05-11 1995-07-19 松下電送株式会社 画像表示装置
US6128642A (en) * 1997-07-22 2000-10-03 At&T Corporation Load balancing based on queue length, in a network of processor stations
WO2000005664A1 (en) * 1998-07-24 2000-02-03 Jarg Corporation Search system and method based on multiple ontologies
US7039919B1 (en) 1998-10-02 2006-05-02 Microsoft Corporation Tools and techniques for instrumenting interfaces of units of a software program
US6728748B1 (en) * 1998-12-01 2004-04-27 Network Appliance, Inc. Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet
US6970913B1 (en) * 1999-07-02 2005-11-29 Cisco Technology, Inc. Load balancing using distributed forwarding agents with application based feedback for different virtual machines
US20010034845A1 (en) * 2000-02-15 2001-10-25 Brunt George B. Secure web-based document control process and system
EP1267527B1 (en) * 2000-03-07 2013-04-10 Nippon Telegraph And Telephone Corporation Semantic information network (sion)
US7054924B1 (en) * 2000-09-29 2006-05-30 Cisco Technology, Inc. Method and apparatus for provisioning network devices using instructions in extensible markup language
JP2002354066A (ja) * 2001-05-30 2002-12-06 Logic Corp 通信プロトコル並列処理方式及び通信プロトコル並列処理装置
US7406511B2 (en) * 2002-08-26 2008-07-29 International Business Machines Corporation System and method for processing transactions in a multisystem database environment
JP4171910B2 (ja) * 2004-03-17 2008-10-29 日本電気株式会社 並列処理システム及び並列処理プログラム
US8024733B2 (en) * 2004-05-13 2011-09-20 International Business Machines Corporation Component model for batch computing in a distributed object environment
US7325040B2 (en) * 2004-08-30 2008-01-29 University Of Utah Research Foundation Locally operated desktop environment for a remote computing system
JP2006343996A (ja) * 2005-06-09 2006-12-21 Oki Electric Ind Co Ltd 分散処理システム
US20070130105A1 (en) * 2005-10-28 2007-06-07 Microsoft Corporation Obtaining server usage information
US20070156630A1 (en) * 2005-12-29 2007-07-05 Carola Steinmaier System and method for processing a table over a network
US20080148342A1 (en) * 2006-12-13 2008-06-19 Cisco Technology, Inc. Management of application specific data traffic

Also Published As

Publication number Publication date
JP5137434B2 (ja) 2013-02-06
CN101652750A (zh) 2010-02-17
EP2144164A1 (en) 2010-01-13
WO2008120281A1 (ja) 2008-10-09
JP2008242983A (ja) 2008-10-09
EP2144164A4 (en) 2011-12-07
US20100095302A1 (en) 2010-04-15
EP2144164B1 (en) 2020-04-29
US8719367B2 (en) 2014-05-06

Similar Documents

Publication Publication Date Title
CN101652750B (zh) 数据处理装置、分散处理系统、数据处理方法
CN107343045B (zh) 云计算系统及用于控制服务器的云计算方法和装置
US9471390B2 (en) Scheduling mapreduce jobs in a cluster of dynamically available servers
CN109408205B (zh) 基于hadoop集群的任务调度方法和装置
US8903981B2 (en) Method and system for achieving better efficiency in a client grid using node resource usage and tracking
CN104881325A (zh) 一种资源调度方法和资源调度系统
CN105718479A (zh) 跨idc大数处理架构下执行策略生成方法、装置
CN104735095A (zh) 一种云计算平台作业调度方法及装置
KR20160087706A (ko) 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치 및 할당 방법
CN112463375A (zh) 一种数据处理的方法和装置
CN103941662A (zh) 一种基于云计算的任务调度系统和调度方法
CN104239555A (zh) 基于mpp的并行数据挖掘架构及其方法
CN111427678A (zh) 汽车诊断云平台中的虚拟化资源调度系统、方法
CN111443870A (zh) 一种数据处理的方法、设备及存储介质
CN111124640A (zh) 任务分配方法及系统、存储介质、电子装置
CN113946431B (zh) 一种资源调度方法、系统、介质及计算设备
CN114490049A (zh) 在容器化边缘计算中自动分配资源的方法及系统
CN1783121B (zh) 用于执行设计自动化的方法和系统
CN116402318B (zh) 面向配电网的多级算力资源分配方法、装置及网络架构
CN112148458A (zh) 任务调度方法、装置
CN109271238A (zh) 支持多种编程语言的任务调度装置和方法
CN106095534B (zh) 一种计算任务处理方法和系统
CN115499432A (zh) 家庭终端算力资源管理系统及算力资源调度方法
CN105549911B (zh) Nvram的数据传输方法和装置
CN113608861A (zh) 一种软件化载荷计算资源虚拟化分配方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: Tokyo, Japan

Applicant after: SONY COMPUTER ENTERTAINMENT Inc.

Address before: Tokyo, Japan

Applicant before: SNE platform Limited by Share Ltd.

Address after: Tokyo, Japan

Applicant after: SNE platform Limited by Share Ltd.

Address before: Tokyo, Japan

Applicant before: Sony Computer Entertainment Inc.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SONY COMPUTER ENTERTAINMENT INC. TO: SNE PLATFORM INC.

Free format text: CORRECT: APPLICANT; FROM: SNE PLATFORM INC. TO: SONY COMPUTER ENTERTAINMENT, INC.

C14 Grant of patent or utility model
GR01 Patent grant