用于运行可执行代码的方法、处理模块及系统的制作方法

文档序号:9422707阅读:318来源:国知局
用于运行可执行代码的方法、处理模块及系统的制作方法
【技术领域】
[0001] 本发明设及一种配置为运行可执行代码的处理模块W及用于运行可执行代码的 方法。而且,本发明一般性地设及一种系统W及包括处理模块的服务器系统。此外,本发明 还设及一种能够实施用于运行可执行代码的方法的计算机可读介质。
【背景技术】
[0002] 现在,通过快速发展的通信及计算技术,使得能够获得大数据量。像例如Web服务 器或图像处理的网络服务领域是对大数据量进行管理、处理和操作的显著例子。运种大规 模数据的存在需要能够W快速、便捷和节约资源的方式来操作数据的技术和设备。操作数 据的设备,具体说是硬件,必须具备用于实现空间节约方案的小尺寸,在执行数据运算操作 方面可靠、快速,并且高效率和低能耗。
[0003] US2002/0078308A1设及对称多线程处理(SM巧系统,更具体地设及其中所附接 的处理单元在结构上无需配置有地址转换机制就能对共享存储器进行受限访问的SMP系 统。
[0004] US2002/0135582A1提供了经由宽带网络来进行高速处理的计算机架构及编程模 型。该架构使用一致的模块结构、通用计算模块W及统一的软件单元。通用计算模块包括 控制处理器、多个处理单元、多个本地存储器(处理单元处理来自运里的程序)、直接存储 器访问控制器W及共享主存储器。还提供了用于协调由处理单元对往来于共享主存储器的 数据进行读、写的同步化系统及方法。为了安全抵御在处理单位对程序进行处理过程中的 数据损坏,提供了硬件沙盒结构。统一的软件单元既包含数据又包含应用程序,并且构造为 可通过任何网络处理器来进行处理。每个软件单元在网络上可被唯一性地识别。还提供了 一种用于创建针对处理流数据的专用流水线的系统及方法。 阳0化]一些已知的硬件/软件方案可针对一个方向或另一方向来提供改进。然而,它们 仍然未能改善上述标准的全部或至少大部分。因此,仍然需要用于管理、处理和/或操作大 数据量、大数据流量和/或大数据吞吐量的改进式硬件/软件方案。

【发明内容】

[0006] 因此,本发明的目的在于提供一种允许增加待处理的数据量、增加待处理的数据 流量和/或提高待处理的数据吞吐量并且可提供降低的信号噪声、允许降低屏蔽性、减小 冷却力度,降低功耗和/或减小空间的方法和一组处理模块。
[0007] 本发明基于如下思想:即,可执行代码的至少一部分优选由多于一个的处理模块 来运行。用于运行一部分可执行代码的处理模块的选择可取决于W下几个标准:例如对应 部分的结构、待处理的数据量、处理模块的硬件和/或软件环境。在代码的执行期间,每个 并行可执行部分均是可识别或检测的。针对处理模块的决定是在代码的执行过程中完成 的,从而可W实现对用于共同执行那部分代码的处理单元的最优选择。通过运种方式,能够 实现对大数据量的高效、可靠和快速的操作。此外,适当的使用处理单元能够使得硬件的布 置和实现相对于所述硬件的其他组件、单元或模块可W尽可能地小。而且,由于适当选择用 于操作各个代码部分的处理单元,可实现对大数据量的节能操作,其中所述各个代码部分 优选通过多于一个的处理单元来运行。此外,当用处理模块来配置硬件时,本发明考虑使得 所述硬件的彼此相互通信、交互和/或连接的模块/元件/组件彼此靠近地定位,使得尽可 能需要最少数目的连接线和/或连接器。通过运种方式,可W降低能量消耗、模块/元件/ 组件产生的信号噪声、模块/元件/组件所需的空间、模块/元件/组件的屏蔽性,和/或 用于模块/元件/组件的冷却。
[0008] 特别地,本发明的优点通过所附独立权利要求来实现。本发明的其他方面、实施例 及特征则在所附的从属权利及说明书中加W阐述,并且同样为实现所述优点作出贡献。
[0009] 根据本发明的实施例,提供了一组处理模块,其包括至少一个第一处理模块,所述 至少一个第一处理模块配置成:运行可执行代码,其中所述可执行代码包括一组并行可执 行部分,其中该可执行代码的所述一组并行可执行部分中的每个并行可执行部分均包括至 少两个并行可执行步骤;检测可执行代码的那组并行可执行部分中的一并行可执行部分, 将其作为待运行的可执行代码的一部分;选择所述一组处理模块中的至少两个第二处理模 块;W及,命令所选定的至少两个第二处理模块来执行可执行代码中经检测的并行可执行 部分的至少两个并行可执行步骤。
[0010] 可执行代码优选基于计算机科学领域公知的源代码。源代码例如通过解译器或编 译器来读取,从而生成可执行代码。源代码、还有采用类似方式的可执行代码包括多个指 令,例如通常W计算机语言来编写的计算机指令。源代码表示W相应的计算机语言编写的 文本。指令,W及相应的源代码或可执行代码分别指示像是处理模块的计算实体,W在环境 或系统内执行特定计算或行为,其中所述计算实体或处理模块分别实现。
[0011] 源代码可能由编译器程序转换成可被计算机理解的低级机器代码。在运种情况 下,随后可能在晚些时刻对机器代码进行存储,W用于运行。因此,可执行代码间接指代源 代码,并且相当于代表机器代码。类似于源代码,机器代码包括如上所述的指令。机器代码 的指令对应于源代码的各个指令,并且只写W另一种语言(例如机器代码)来编写的。
[0012] 当可执行代码直接指代源代码时,例如,解译器实体可用于在运行中分析并直接 执行源代码程序的效果。
[0013] 与代码的种类(可执行代码在特定情况下会设及代码种类)无关,所述可执行代 码可被理解成其包括在可执行代码的运行过程中能由一个或多个计算模块或处理模块来 读取并执行/运行的指令。本领域技术人员知晓术语"可执行代码"和"指令"的含义。可 执行代码是例如应用程序、软件程序或软件系统的代码。
[0014] 如所提到的那样,可执行代码由至少一个部分构成或者被划分成至少一个部分, 其优选由多个部分构成或被划分成多个部分。如上所述,所述部分的一些优选为并行可执 行部分。可执行代码包括至少一个并行可执行部分,即那组并行可执行部分包括至少一个 相应部分。并行可执行部分定义为:其包括优选地彼此独立执行的至少两个步骤,即一个步 骤的执行不会影响另一步骤的执行。所述步骤中每一者均包括如上所述的一组相应指令。 尤其是,各步骤均包括至少一个指令。术语"并行可执行"或"W并行方式的运行或执行"是 指至少部分地同时执行相应的步骤W及相应部分中的相应指令。它们优选为同步或基本上 同步(即,可能发生时间偏移,例如随机地发生)地执行。
[0015] 该组处理模块包括至少两个处理模块。处理模块可例如是独立的中央处理单元, 也称为内核或处理器内核。
[0016] 如上所述,在代码的执行过程中,即当代码由所述一组处理模块中的处理模块的 至少一者来执行时,关于处理模块必须执行可执行代码的并行可执行部分的决定得到满 足。通过运种方式,可W将设及到处理模块的硬件及软件环境、数据量等方面的当前情况考 虑在内。此外,用于处理大的数据量并优选由多于一个的处理模块来执行的各个代码部分 可由至少两个处理模块来高效执行,优选地通过多个处理模块来高效执行。运样实现了对 大数据量的高效、可靠和快速的操作。适当使用处理单元使得允许硬件的布置和实现尽可 能地小。而且,由于适当选择共同执行各个代码部分的处理单元,实现了对大数据量的节能 操作。
[0017] 根据本发明的实施例,至少两个并行可执行步骤的执行优选为至少部分地同时进 行,例如大致并行或并行。通过运种方式,实现了通过处理模块对数据的快速计算和处理, 运反过来导致了用于处理大的数据量的高效硬件和软件系统。
[0018] 根据本发明的实施例,至少一个第一处理模块配置为通过将可执行代码的经检测 并行可执行部分的至少两个并行可执行步骤中的每一者分配给所选定的至少两个第二处 理模块中的一者,来执行所述命令。通过运种方式,实现了在多个处理模块之间的并行可执 行步骤运行的广泛分布。运带来了处理模块的性能和效率的提高。
[0019] 根据本发明的实施例,至少一个第一处理模块配置为命令所选定的至少两个第二 处理模块中的每一者来执行可执行代码中经检测的并行可执行部分中的至少两个并行可 执行步骤中的至少一个步骤。通过运种方式,也可W将能够执行并行可执行步骤的、可用的 处理模块的数量考虑进去。因此,实现了并行可执行步骤的高效分布,运反过来带来了处理 模块的效率提高。
[0020] 根据本发明的实施例,所选定的至少两个第二处理模块包括至少一个第一处理模 块。通过运种方式,当执行关于大数据量的计算和处理时,所述一组处理模块中的每个处理 模块均参与其中。因此,实现了整个处理模块组的快速、高效且有效的操作。
[0021] 根据本发明的实施例,至少一个第一处理模块配置成:如果可执行代码的第一部 分包含在该可执行代码的第二部分之中的话,则命令执行该可执行代码的第一并行可执行 部分和第二并行可执行部分。因此,使用到了对大数据量的计算及处理进行分配的各种可 能性,运反过来导致了整个处理模块组针对大的数据量的高效、有效且快速的操作。
[0022] 根据本发明的实施例,可执行代码的那组并行可执行部分中的每个并行可执行部 分均包括属于一种特定并行化类型的步骤。通过运种方式,实现了可执行代码的结构化运 行,运带来了处理模块的性能的提高。根据本发明的又一实施例,两种并行化类型相互不 同。此外,根据本发明的实施例,第一并行化类型包括程序循环,并且其中第二并行化类型 包括条件性分支。
[0023] 根据本发明的实施例,如果可执行代码的那组并行可执行部分中的经检测并行可 执行部分包括作为至少两个并行可执行步骤的程序循环步骤的话,那么至少一个第一处理 模块配置为将程序循环的一定数目的周期分配给所选定的至少两个第二处理模块中的每 一者,其中将所述程序循环的每个周期分配给所选定的至少两个第二处理模块中的一者; 如果可执行代码的经检测并行可执行部分将一组程序循环包括作为至少两个并行可执行 步骤的的一组程序循环的话,那么至少一个第一处理模块配置为将该组程序循环中的每一 个程序循环分配给所选的至少两个第二处理模块中的一者;如果可执行代码中的经检测并 行可执行部分包括作为至少两个并行可执行步骤的至少两个条件性分支的话,那么至少一 个第一处理模块配置为将每个条件性分支分配给所选定的至少两个第二处理模块中的一 者;和/或如果可执行代码中的经检测并行可执行部分包括作为至少两个并行可执行步骤 的至少两个条件性分支的话,那么至少一个第一处理模块配置为将至少两个条件性分支的 每个条件分配给所选定的至少两个第二处理模块中的一者,并且将针对该至少两个条件性 分支中的一个条件来编码的至少两个条件性分支的每个代码部分分配给所选定的至少两 个第二处理模块中的一者。
[0024] 通过运种方式,实现了通过多个处理模块来对并行可执行部分的各并行可执行步 骤的进一步优化,其中使用到了用于运行并行可执行部分的每一种可能性。运改善了该组 处理模块的性能、计算时间和效率。
[00巧]根据本发明的实施例,该组处理模块包括在一个处理元件或至少两个处理元件 中。通过运种方式,可W将处理模块放置在相对小的区域中,并且能够实现小尺寸的硬件。 此外,处理模块之间的通信路径得W减少。通过运种方式,实现了处理模块的能消节约、资 源节约、高效且快速的操作。
[00%] 根据本发明的实施例,一个处理元件分别地包括单元处理器或单元忍片,或者至 少两个处理元件分别地包括至少一个单元处理器或单元忍片。通过运种方式,支持对大数 据量的快速且有效的处理。已知单元处理器或单元忍片分别具有微处理器架构,该架构将 适度性能的通用型功率架构内核与流线型协同处理元件相结合。单元处理器的示例例如是 IBM出品的化weriCCellSi处理器或Sony出品的CellB.E.。
[0027] 根据本发明的又一实施例,至少一个第一处理模块包括功率处理器元件,并且至 少两个第二处理模块包括至少一个功率处理器元件和/或至少一个协同处理元件。通过运 种方式,支持对大数据量的快速且有效的处理。
[0028] 根据本发明的实施例,提供了一种通过一组处理模块来运行可执行代码的方法, 其中所述方法包括通过所述一组处理模块中的至少一个第一处理模块来运行所述可执行 代码,其中所述可执行代码包括一组并行可执行部分,其中可执行代码的每个并行可执行 部分包括至少两个并行可执行步骤,并且其中所述运行包括:由所述至少一个第一处理模 块来检测待运行的可执行代码的所述一组并行可执行部分中的一并行可执行部分;由所述 至少一个第一处理模块来选择所述一组处理模块中的至少两个第二处理模块;W及,由所 述至少一个第一处理模块来命令所选定的至少两个第二处理模块来执行可执行代码的经 检测的并行可执行部分的至少两个并行可执行步骤。
[0029] 特别地,所述方法配置为执行针对本应用中的该组处理模块所阐述的各步骤。因 此,相应的步骤同样代表上述方法的步骤。通过使用该方法,得W达到与针对该组处理模块 所阐述的相同的积极效果。
[0030] 根据本发明的实施例,提供了一种包括了如上所述的、并在后续说明部分加W阐 述的一组处理模块的系统。因此,整个硬件及软件系统可受益于针对该组处理模块所阐述 的积极效果。
[0031] 根据本发明的实施例,该系统包括W下至少一项:包括了所述一组处理模块的一 个处理元件,或者包括了该组处理模块的至少两个处理元件;至少一个存储模块,其连接到 所述一个处理元件上或连接到所述至少两个处理元件中的一者上,并且其配置为向所述一 个处理元件或所述至少两个处理元件中的一者提供存储容量;第一功率供应模块,配置为 向所述至少一个存储模块提供功率;第二功率供应模块,其配置为向所述一组处理模块提 供功率;通讯模块,其配置为:从网络接收数据,并将所接收的数据提供至该组处理模块, 和/或从该组处理模块接收数据,并将所接收的数据传送到网络;固件,其包括用于该设 备的软件;第=功率供应模块,其配置为向所述固件提供功率;连接模块,其配置为连接固 件、网络忍片模块和所述一个处理元件,或者连接固件、网络忍片模块和所述至少两个处理 元件;和/或电源接口模块,其配置为向所述第一、第二和第=功率供应模块提供功率,并 向通讯模块提供功率。
[0032] 根据本发明的另一实施例,一个处理元件包括单元处理器,或者至少
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1