服务器及其方法、系统及其方法

文档序号:8223340阅读:332来源:国知局
服务器及其方法、系统及其方法
【技术领域】
[0001]本发明涉及一种系统,且特别涉及一种可动态配置的系统。
【背景技术】
[0002]微处理器的设计者在效能分析上花费不少功夫。在根据前代微处理器来建立具有特征以及效能目标基本组合的微处理器后,其执行对客户最为重要的代表性软件应用范例以及获取软件应用的执行记录。接着,使用获得的记录作为激源(stimulus),以模拟正在设计的微处理器的操作。微处理器的设计者可配置模拟微处理器的不同特性,以在所有的目标软件应用程序间实现最高的合计效能。一特定的特性配置通常能满足一目标应用程序的需求而不能满足另一目标应用程序的需求。在这些情况下,设计者需做出哪一软件应用程序比较重要的决定,或者找出能平衡多个软件应用程序需求的方法。由于此种选择企图在牺牲一软件应用程序的情况下来最佳化另一软件应用程序的效能,便通常无法使多个目标软件应用程序达到理想效能的目的。
[0003]一旦已确认配置设定的最佳平均组合时,微处理器的设计者将其编码成具有例如VHDL或Verilog编码的设计。其他的微处理器是藉由将熔丝库包含在微处理中来改善写死的配置,这是因为熔丝库在微处理器制造期间可选择性地烧断以改变写死数值的配置设定。这使得微处理器可能对在微处理器设计后所引入的新软件或操作系统做出反应,因而具有制造上有限程度的最佳化。然而这种解决方法仍无法达到目标软件应用程序的理想效能,这是因为其要求设计者/制造者去选择对于一些应用程序而言为最佳化而却牺牲其他应用程序的配置,或者去选择对于任何应用程序可能非最佳化的平衡配置。
[0004]为了应付此问题,编号为8,566,565的美国专利(其作为本申请的参考数据)叙述了微处理器可由一装置驱动器根据正在运行的应用程序来动态地配置至多个操作模式的实施例。此外,于10/10/2013申请且其编号为14/050,687的美国专利申请案,其主张09/20/2013申请且其编号为61/880,620的美国临时申请案的优先权(均作为本申请的参考数据),其揭露一种可动态重配置的微处理器。然而,实际上仍存在需要更好的效能最佳化的方式。

【发明内容】

[0005]本发明一实施例提供一种服务器,其包括第一模块、第二模块、以及第三模块。第一模块接收来自多个系统的信息。每一系统包括在系统的操作期间可动态配置的多个功能单元。来自每一系统的信息包括当这些功能单元根据各自系统的一配置设定下于执行一个程序时所收集到的效能数据。第二模块分析接收到的信息以在接收自这些系统的配置设定中选择一最佳执行配置设定。第三模块提供一新的配置设定给这些系统。新的配置设定是最佳执行配置设定的修改版。服务器重复自这些系统接收信息、分析接收到的信息、以及提供新的配置设定给这些系统。
[0006]本发明一实施例提供一种用于服务器的方法,其包括以下步骤:接收来自多个系统的信息,其中,每一系统包括在系统的操作期间可动态配置的多个功能单元,来自每一系统的信息包括当这些功能单元根据各自系统的一配置设定下于执行一个程序时所收集到的效能数据;分析接收到的信息以在接收自这些系统的这些配置设定中选择一最佳执行配置设定;提供一新的配置设定给这些系统,其中,新的配置设定是最佳执行配置设定的修改版;以及重复接收的步骤、分析的步骤、以及提供的步骤。
[0007]本发明另一实施例提供一种用于服务器的方法,包括以下步骤:接收来自多个系统的信息,其中,每一系统包括在系统的操作期间可动态配置的多个功能单元,来自每一系统的信息包括当这些功能单元根据各自系统的一配置设定下于执行一个程序时所收集到的效能数据;分析接收到的信息以在接收自这些系统的这些配置设定中选择一最佳执行配置设定;提供该最佳执行配置设定给该系统。
[0008]本发明一实施例提供一种系统,其包括多个功能单元、第一模块、第二模块、以及第三模块。这些功能单元,在系统操作期间可动态配置。第一模块收集当系统通过在一配置设定下的这些功能单元来执行一程序时的效能数据。第二模块传送信息至服务器。该信息包括效能数据、配置设定、以及识别该程序所采用的数据。当该程序正由系统执行时,第三模块指示系统以接收自服务器的一新的配置设定来重配置这些功能单元。新的配置设定是藉由服务器对由系统所传送的信息以及由包括这些可动态配置的功能单元的多个其他系统所传送的相似信息的分析所获得的。
[0009]本发明一实施例提供一种方法,此方法于一系统中执行。此系统包括在系统操作期间可动态配置的多个功能单元。此方法包括以下步骤;聚集信息,其中,信息包括通过在一配置设定下这些功能单元来执行一程序时由系统所收集的效能数据、设定配置、以及识别该程序所采用的数据;将信息以及把相似信息传送至服务器的系统的其他实例传送至一服务器;以及指示在系统在程序正由该系统执行时以接收自服务器的一新的配置设定来重配置这些功能单元,其中,新的配置设定是根据对由系统所传送的信息以及由包括这些可动态配置的功能单元的多个其他系统所传送至服务器的相似信息的分析所获得的。
[0010]本发明另一实施例提供一种方法,此方法于一系统中执行,此系统包括在系统操作期间可动态配置的多个功能单元。此方法包括以下步骤:以根据一配置设定来配置的这些功能单元来执行一程序;接收来自一服务器的一新的配置设定;指示在系统以接收自服务器的一新的配置设定来重配置这些功能单元。新的配置设定是在来自系统的多个其他实例且由服务器所接收的多个配置设定中,关于程序的一最佳执行配置设定的修改版,而系统具有这些功能单元,且这些其他实例传送信息至服务器。由多个其他系统的每一者传送至服务器的数据包括通过以一配置设定来配置的这些功能单元用来执行该程序时由这些其他系统所收集的效能数据、以及包括这些配置设定中用来配置的这些功能单元的该者。
【附图说明】
[0011]图1表示根据本发明一实施例的计算系统。
[0012]图2表示根据本发明一实施例,图1中系统的操作流程图。
[0013]图3表示根据本发明另一实施例,图1中系统的操作流程图。
[0014]图4表示根据本发明一实施例,图1中服务器的操作流程图。
[0015]图5表示根据本发明另一实施例,图1中服务器的操作流程图。
[0016]图6表示根据本发明一实施例,图1中系统的操作流程图。
[0017]图7表示根据本发明另一实施例,图1中系统的操作流程图。
[0018]图8表示根据本发明又一实施例,图1中系统的操作流程图。
[0019]图9表示根据本发明再一实施例,图1中系统的操作流程图。
[0020]图10表示根据本发明一实施例,图1中网络的操作流程图。
[0021]图11表示根据本发明一实施例,图1中系统的方块图。
[0022]图12表不根据本发明一实施例,图11中多个处理核心之一者的方块图。
[0023]【附图标记说明】
[0024]100 ?系统;
[0025]102?可动态配置功能单元;
[0026]104?云端服务器;
[0027]112?系统模块;
[0028]132?因特网;
[0029]142?服务器模块;
[0030]152?数据库;
[0031]154?最佳配置设定;
[0032]156?经调整的配置设定;
[0033]199 ?网络;
[0034]202、204、206、208、212、214、216、218、222、224、226、228 ?流程步骤;
[0035]302、304、306、308 ?流程步骤;
[0036]402,404,406 ?流程步骤;
[0037]502、504?流程步骤;
[0038]602、604、606、608、612 ?流程步骤;
[0039]702,704,706 ?流程步骤;
[0040]808、812、814、816 ?流程步骤;
[0041]903?流程步骤;
[0042]1102-A?处理核心O ;
[0043]1102-B?处理核心I ;
[0044]1102-N?处理核心N ;
[0045]1104?系统代理;
[0046]1106?末级快取存储器(LLC)存储器;
[0047]1108?图形处理单元(GPU);
[0048]1112?周边装置;
[0049]1114?存储器控制器;
[0050]1116?数据预取器;
[0051 ]1122-A?服务处理器O ;
[0052]1122-B?服务处理器I ;
[0053]1122-C?服务处理器2 ;
[0054]1122-D?服务处理器3 ;
[0055]1204?配置单元;
[0056]1224?配置暂存器;
[0057]1228?可动态配置功能单元。
【具体实施方式】
[0058]以下说明为本发明的实施例。其目的是要举例说明本发明一般性的原则,不应视为本发明的限制,本发明的范围当以权利要求所界定的为准。
[0059]专业术语
[0060]服务器,是一种计算系统,其通过网络与多个其他计算系统联系,且自这些计算系统接收信息,分析这些信息,并将分析结果传送这些计算系统。
[0061 ] 模块,是一种硬件、软件、或硬件与软件的结合。
[0062]系统,是一种能获取且执行所储存程序指令以处理数据。一个系统包括能执行所储存程序指令以处理数据的多个功能单元。
[0063]功能单元,是在系统中的硬件或硬件与软件的结合,其执行与指令处理相关的功能。功能单元的例子包括(但不限定于);存储器控制器、系统代理、以及包含在中央处理单元(CPU)或图形处理单元(GPU)的单元,例如指令获取单元、分支预测单元、指令格式单元、指令转译单元、暂存器重命名单元、指令排程单元、执行单元(例如,整数单元、浮点单元、分支单元、单指令多数据流(SIMD)单元、多媒体单元、载入单元、储存单元)、重排序缓冲器、指令引退单元、快取存储器、数据预获取单元、电源管理单元、存储器管理单元、储存碰撞检测单元。
[0064]功能单元为可动态重配置的,如果在系统正在运作时,其配置设定可能改变。应注意的是,为了改变可动态重配置功能单元的配置设定,当要改变配置设定时,系统可先暂停由可动态重配置单元和/或整体系统所进行的指令处理。举例来说,在微码藉由将一数值写入至配置暂存器来改变配置设定的例子中,在写入新的配置设定之前且直到新的配置设定有效为止,微码程序可使指令连续执行。
[0065]功能单元的配置设定是一种状态,当此状态具有不同数值时,其导致功能单元以不同的方式来执行其功能。不同的方式影响了功能单元执行其功能时的效能、功率消耗、和/或正确性。
[0066]效能数据是一种数据,其提供系统正以多快的速度执行程序、系统正使用多少功率来执行程序、或前述两者结合的计量。
[0067]为了改善包括可动态重配置功能单元的计算系统的效能,可运用大量的效能实验结果,而该大量的效能实验结果包括由许多使用者参与的系统实体中,让实验者(例如系统的制造者)为特定程序或呈现相似特性的程序决定可动态重配置功能单元的经改善配置设定的实验结果。当可动态重配置功能单元以特定配置设定来配置时,这些系统实体持续地收集其执行一程序时的效能数据。系统周期性地通过因特网传送信息(效能数据、配置设定、以及用来识别程序的信息)给服务器。服务器聚集来自所有系统的信息、分析信息、并决定关于该程序的最佳配置设定。服务器接着稍微调整最佳配置设定。系统接收(例如根据要求)来接收经调整的配置设定,且以经调整的配置来动态地重配置自己本身。系统接着重复收集效能数据与经调整的配置设定以及传送信息至服务器的程序,服务器再次分析聚集获得的信息,且传送出新的经调整的配置设定。系统以
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1