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

文档序号:9422707阅读:来源:国知局
两个处理元 件包括至少一个单元处理器;至少一个存储模块包括至少一个随机访问存储器;电源接口 模块是外围组件互连部(PCI)或外围组件快速互连部(PCIExpress);通讯模块是网络忍 片模块、外围组件互连快速开关或上行链路模块;固件是闪存、现场可编程口阵列(FPGA) 或统一可扩展固件接口扣EFI);和/或连接模块是配置为管理输入/输出(I/O)功能的互 连忍片。
[0033] 通过运种方式,实现了在所述一组处理模块周围的各组件的模块化布置,其中系 统中包括了尽可能少的组件,从而在减少所需元件数目的情况下实现了该系统的简单生 产。此外,该系统的彼此相连的、相互通信或交互的组件彼此间邻近设置。通过运种方式, 减小了用于布置系统的空间,运反过来带来了实现小尺寸单位的可能性,W及带来了能耗 的降低。此外,系统的性能和效率还得W提高。
[0034] 根据本发明的实施例,提供了一种包括了如上所述并如下文更详细阐述的一组处 理模块的服务器系统。通过运种方式,该服务器系统同样优选地配置成能提供本申请中所 列出的所有积极效果。此外,实现了在同一时间引进和/或使用现有的数据中屯、基础设施 /组件/模块/元件。
[0035] 根据本发明的实施例,提供了一种包括了程序代码的计算机可读介质,其中当通 过计算设备运行该程序代码时,该程序代码使计算设备执行如上所述并在下文更详细阐述 的方法。
【附图说明】
[0036] 从属权利要求中包含了其他优点及优选实施例,参照附图,根据下面优选实施例 的描述将会更好地理解运些优点及优选实施例,其中:
[0037] 图Ia示出了根据本发明实施例来配置的一组处理模块;
[0038] 图化示出了根据本发明实施例来配置的一组处理模块;
[0039] 图2示出了包括一组处理模块且根据本发明实施例来配置的处理元件;
[0040] 图3示出了根据本发明实施例的其上各设置有一组处理模块的两个处理元件;
[0041] 图4示出了根据本发明实施例的可执行代码的示例性结构;
[0042] 图5a示出了根据本发明实施例的可执行代码的并行可执行部分;
[0043] 图化示出了根据本发明实施例的可执行代码的并行可执行部分;
[0044] 图5c示出了根据本发明实施例的可执行代码的并行可执行部分;
[0045] 图5d示出了根据本发明实施例的可执行代码的并行可执行部分;
[0046] 图6示出了对根据本发明实施例的可执行代码的执行;
[0047] 图7示出了对根据本发明实施例的可执行代码的执行;
[0048] 图8a示出了用于执行根据本发明实施例的可执行代码的可执行并行部分的步 骤;
[0049] 图8b示出了用于执行根据本发明实施例的可执行代码的可执行并行部分的步 骤;
[0050] 图8c示出了用于执行根据本发明实施例的可执行代码的可执行并行部分的步 骤;
[0051] 图8d示出了用于执行根据本发明实施例的可执行代码的可执行并行部分的步 骤;
[0052] 图9a示出了根据本发明实施例来实现本发明的系统;
[0053] 图9b示出了根据本发明实施例来实现本发明的系统;
[0054] 图10示出了用于执行根据本发明实施例的可执行代码的方法;
[0055] 图11示出了根据本发明实施例的所述方法来执行请求的处理步骤;
[0056] 图12示出了根据本发明实施例的所述方法来执行文件的处理步骤;
[0057] 图13示出了根据本发明实施例的一组处理模块的实现;
[005引图14a示出了根据本发明实施例的包括了一个处理元件的系统的实现;
[0059] 图14b示出了根据本发明实施例的包括了两个处理元件的系统的实现;
[0060] 图15示出了根据本发明实施例的包括了一个处理元件的系统的实现;
[0061] 图16示出了根据本发明实施例的包括了两个处理元件的系统的实现;和
[0062] 图17示出了根据本发明实施例的一组处理模块的实现。
【具体实施方式】
[0063] 本发明的各个实施例将在下文段落中进行描述。仅出于示例性目的,多数实施例 都是相对于微处理器架构来加W概述的,并且在后续章节中使用的术语主要设及该技术。 然而,针对微处理器而使用的术语W及对实施例的描述均不意在将本发明的原理和思想限 制于此种系统。
[0064] 此外,在上述的本发明【背景技术】章节中所给出的详细说明仅仅旨在更好地理解下 文所描述的多数为微处理器架构的特定示例性实施例,而不应当理解为是将本发明限制于 所描述的处理及功能的特定实施方式内。 阳0化]将在后续章节中加W概述的思想和原理适用于可提供更通用的微处理器架构概 念的系统。
[0066]图Ia示出了根据本发明实施例来配置的一组处理模块11,12_1至12_k。处理模 块11,12_1至12_k优选地例如为处理器。处理模块11,12_1至12_k的组1配置为执行可 执行代码。处理模块11,12_1至12_k中的至少一者配置为控制代码的执行。在图1中,运 个控制处理模块W相应框11的加粗线来突出显示。其他处理模块12_1至12_k则配置为 执行该代码的并行可执行部分的步骤。
[0067] 控制处理模块11配置为执行可执行代码。当在代码的执行过程中,控制处理模块 11到达了可执行代码中能W并行方式执行且必须要下一个执行的的部分时,即当控制处理 模块11检测到或识别出可执行代码的并行可执行部分时,控制处理模块11会选择处理模 块11,12_1至12_k的组1中的至少两个处理模块11,12_1至12_k,W用于执行/运行经检 测或识别的并行可执行部分。
[0068] 根据本发明的实施例,并行可执行部分在可执行代码中被标记为适于并行执行。 运里,可W在可执行代码中相应地标记出并行可执行部分的起始点和结束点。为此,可W应 用几种合适的技术。例如,可采用调用(优选为针对代码的所述部分来执行特定功能的预 先指定调用)、标记了代码的所述部分的起始点和结束点的具体命令,或者其他预先设定的 功能或指令来标记代码中的并行可执行部分。通过运种方式,执行代码的控制处理模块11 会将相应的标记符检测作为待执行的可执行代码的下一条指令,并由此检测到接下来要执 行的并行可执行部分。 W例在确定了并行可执行部分之后,控制处理模块11选择处理模块11,12_1至12_k的组1中的至少两个处理模块11,12_1至12_k来执行/运行所检测或识别的并行可执行 部分。至少两个处理模块11,12_1至12_k可包括控制处理模块11。备选地,所述至少两个 处理模块11,12_1至12_k可包括处理模块12_1至12_k,而不包括控制处理模块11。
[0070] 接着,在选择了用于执行代码中经检测的并行可执行部分的处理模块11,12_1至 12_k之后,控制处理模块11命令所选定的处理模块11,12_1至12_k执行针对至少两个并 行可执行部分的步骤。运里,控制处理模块11向针对所检测的并行可执行部分的步骤中的 每一步骤分配所选定的处理模块11,12_1至12_k中的一者。此外,针对所选定的处理模块 11,12_1至12_k的每一者而言,向其分配所述步骤中的至少一个步骤。因此,若干个或每 一个所选定的处理模块11,12_1至12_k都可能执行所述步骤中多于一个的步骤。在其他 情况下,向所选定的处理模块11,12_1至12_k分配并行可执行步骤可能会使得所选定的处 理模块11,12_1至12_k的至少一者不具有向其分配的并行可执行步骤。运例如针对选定 的处理模块11,12_1至12_k多于在执行时刻所存在的并行可执行步骤的情况而言,是确实 存在的。例如,可能会发生的是,并行可执行部分的并行可执行步骤数目无法精确地预先确 定。如果发生运种情况,那么所选定的处理模块11,12_1至12_k中的一些将不具有用于执 行的步骤。否则,可能发生的是,在分配过程中例如由于硬件和/或软件环境的改变而恰巧 出现不用到一个或几个选定的处理模块11,12_1至12_k的情况,因此,没有向所述一个或 几个选定的处理模块11,12_1至12_k分配并行可执行步骤。
[0071] 经分配的步骤由已分配有所述步骤的处理模块11,12_1至12_k大体并行地执行 或者先后执行。所选定的处理模块11,12_1至12_k在从控制处理模块11接受到相应的 命令/指令之后,开始执行或执行它们的一个或多个分配步骤。那些在当前或给定时刻执 行其所分得的步骤的选定处理模块11,12_1至12_4在相同时刻至少部分地执行其所分得 的步骤,即彼此间至少部分并行。控制处理模块11可命令所选定的处理模块11,12_1至 12_k随后地和/或至少部分并行地执行相应步骤。因此,可W使得一个团体的并行可执行 步骤彼此间至少部分地并行执行,而另一团体的并行可执行步骤则稍后再彼此间至少部分 地并行执行。因此,可能发生是,并行可执行步骤中的一些项由所选定的处理模块11,12_1 至12_k的第一子集来执行,而并行可执行步骤的其余项的团体则由所选定的处理模块 11,12_1至12_k的第二子集来执行。所选定的处理模块11,12_1至12_k的第一子集和第 二子集可重叠或相等。
[0072] 根据本发明的实施例中,处理模块的11,12_1至12_k的组1包括多于一个的控制 处理模块11。在本示例中,相应的控制处理模块11,12_1至12_k配置为彼此间相互通信并 且共享代码执行任务,具体来说是代码执行的控制任务。根据所述实施例,为控制处理模块 11,12_1至12_k中的每一者分配组1中的相应其他的处理模块11,12_1至12_k。因此,每 个控制处理模块11,12_1至12_4仅选择运样的处理模块11,12_1至12_4来执行对其分配 的相应的并行可执行部分。根据本发明的又一实施例,分配给两个控制处理模块11,12_1 至12_k的处理模块11,12_1至12_k可能重叠。因此,组1的处理模块11,12_1至12_k中 的一些项优选由控制处理模块11,12_1至12_k中的至少两者来进行选择。
[0073] 图化示出了根据本发明的另一实施例来配置的一组处理模块11'至11",12' _1 至12'_k,12"_1至12"_K"。在图化中,提供了一组控制处理模块11'至11",其中为控制 处理模块11'至11"中的每一者分配其他的处理模块12' _1至12' _k',12"_1至12"_K" 的对应子集。控制处理模块11'至11"的组中的一个控制处理模块11'表示主控制处理模 块。其他的控制处理模块11"配置为经由主控制处理模块11'来选择,W用于执行相应的 并行可执行步骤的组合。主控制处理模块11'针对控制处理模块11'至11"中各项并针对 对其分配的处理模块12' _1至12' _k'来执行选择。如果主控制处理模块11'为了执行一 组步骤还选择了另一控制处理模块11",并命令该另一控制处理模块11"来执行所述的一 组步骤,那么该选定的处理模块11"则如上文针对图Ia所概述地那样配置为:选择对应的 处理模块11",12"_1至12"_1("来执行该组步骤,并命令所选定的处理模块11",12"_1至 12"_K"来执行对应的并行可执行步骤。
[0074] 图2示出包括根据本发明实施例的一组处理模块211,212_1至212_m的处理元件 21。该处理元件21优选为处理器或忍片,例如通常为本领域技术人员已知的单元处理器或 单元忍片,因此,运里不再明确限定。该组处理模块211,212_1至212_m可如上文所概述地 (参见尤其图1及其说明)和/或如下文所更详细阐述地那样来实现和布置。
[00巧]图3示出了根据本发明实施例的两个处理元件31,32,其上面各布置有一组处理 模块311,312_1至312_4和321,322_1至322_r。根据本实施例,处理元件31,32中的每一者 均包括至少一个控制处理模块311,321W及至少一个其他处理模块312_1至312_k,322_1 至322_r。处理元件31,32每一者的其他处理模块312_1至312_k,322_1到的322_r的数量 可W不同或相同,即r=k或t'y-!V类似地,处理元件31,32每一者的控制处理模块311,321 的数量可W不同或相同。处理元件31,32中的至少一者可W是例如单元处理器或单元忍片 的处理器或忍片。该组处理模块311,312_1至312_4和321,322_1至322_r可如上文所概 述地(参见尤其图1及其说明)和/或如下文所更详细阐述地那样来实现和布置。
[0076] 图4示出了根据本发明实施例的可执行代码4的示例性结构。通常,可执行代码 4包括能W并行方式执行的至少一个部分,即"并行可执行"。本实施例仅示出了对可执行 代码4进行划分的示例,并且本发明并不仅限于此示例。根据本实施例,可执行代码是通过 示例的方式被划分为六个部分41至45和47,其中部分42, 44, 45和47为并行可执行部分。 根据本实施例,代码4具有可交替执行的两个分支。第一分支包括部分44和45,并且在其 执行完毕后,该可执行代码结束,参见表示代码4结束的框46。第二分支包括部分47,并且 在其执行完毕后,该可执行代码结束,参见表示代码4结束的框48。
[0077] 图6示出了用于执行可执行代码4的示例性步骤,具体说是,当用于执行具有部分 44, 45的第一备选项时的示例性步骤。
[0078] 针对本实施例,当执行代码4时,在图6的步骤S61中,至少一个控制处理模块 11,11'至11",211,311,321执行部分41。部分41不属于那一组并行可执行部分。然后, 在完成针对部分41的S61操作之后,在图6的步骤S62中,至少一个控制处理模块11,11' 至11",211,311,321检测或识别出作为代码4 一部分的、接下来待执行的并行可执行部分 42,并且选择至少两个处理模块11,11'至11",12_1至12_k,12' _1至12' _k',12"_1至 211,212_1 至 212_m, 311,312_1 至 312_k, 321,322_1 至 322_r来执行所检测的并 行可执行部分42。而且,在选择之后,至少一个控制处理模
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1