负载控制设备的制作方法

文档序号:6359439阅读:108来源:国知局

专利名称::负载控制设备的制作方法
技术领域
:本发明涉及一种负载控制设备。
背景技术
:需要在多个通信资源中执行负载分配处理,以便使用通过多个计算资源配置的系统来执行事务处理。例如,专利文献I公开了一种负载分布设备,在配置计算机系统的节点组中,所述负载分配设备包括任务发射/接收装置,用于发射/接收任务或者执行所述任务的结果;队列装置,用于将由任务发射/接收装置接收的任务进行排队(称作“本地排队装置”);负载信息共享装置,用于共享负载信息;负载分布装置,用于基于由负载信息共享装置提供规定另一个节点的负载信息来确定将哪一个任务转移到节点,然后请求所述任务发射/接收装置转移所述任务;以及任务执行装置,用于处理请求执行的任务,然后将任务执行的结果返回给本地排队装置,其中所述负载分布装置包括平衡级计算装置,用于动态地计算要通过其自己的节点执行的任务的量;以及节点优先级分配装置,用于向节点分配优先级顺序。日本专利公开No.4265377在商业系统中使用的任务中存在多种粒度。在线事务处理中,在每一个过程中使用相对颗粒状的任务,并且可以基于诸如周转时间之类的服务级别指数来管理每一个过程。从减小成本和功耗的观点来看,需要维持诸如周转时间之类的服务级别指数,同时有效地利用可用计算资源和保持每分钟都改变的可用功率的优势。为了进行这种操作,需要将任务动态地分配给适当的计算资源,使得处理不会集中于特定的计算资源而产生过流过程。为了防止产生过流过程,需要在将任务发送至计算资源之前调节任务的个数以提供适当个数的任务。然而在专利文献I所述的方法中,在将任务发送至计算资源之前没有执行这种调节。此外在现有的负载平衡方法中,因为用于分配任务的规则是固定的规则,不能动态地分配任务。另外,利用预处理的均衡计算资源,甚至在计算资源不均衡的环境中,可以在不考虑最合适的计算资源的情况下机械地分配任务。此外,因为现有的负载平衡方法没有采用维持诸如周转时间之类的服务级别指数的机制,所述方法不能够与曾经改变的计算资源相一致。这使得不能采用详细的步骤。
发明内容因此,本发明的示范性目的是为了利用尽可能少的计算资源和功耗,维持在平行在线事务处理中要求的诸如周转时间之类的服务级别指数。根据本发明示范方面的负载控制设备是一种用于向多个计算资源分配事务处理的负载控制设备,所述负载控制设备包括接收机,所述接收机接收事务处理请求;分配控制器,所述分配控制器选择被分配接收到的事务的分配目的地,然后将所述事务分别存储在针对分配目的地而提供的发射队列中;发射机,所述发射机将在发射队列中存储的事务数据发射至分配目的地;过流检测器,所述过流检测器监测可以与相应的分配目的地相对应的发射队列的每一个中累积的事务的个数是否超过上限;以及重新分配部件,当作为所述过流检测器监测的结果,所述事务个数超过上限时,所述重新分配部件重新选择分配目的地,向所述分配目的地分配在事务个数超过上限时存储的事务。本发明可以利用尽可能小的计算资源和功耗,维持在平行在线事务处理所要求的诸如周转时间之类的服务级别指数。图I是示出了负载控制系统的结构的图,所述负载控制系统使用根据本发明实施例的负载控制设备;图2是示出了根据本发明实施例的负载控制设备的结构的图;图3是示出了分配表的内容的图;图4是示出了可使用表的内容的图;图5是示出了上限边的内容的图;图6是示出了由类同表(affinitytable)保留的内容的图;图7是示出了处理设备的结构的图;图8是通过根据本发明实施例的负载控制设备执行的事务分配过程的流程图;图9是当产生过流事务处理时执行的过程的流程图;图10是用于解释基于功耗确定分配目的地的方法的图;图11是用于解释即刻扩展模型(instantexpansionmodel)的图;以及图12是示出了处理设备结构的另一个示例的图。具体实施例方式下文中参考附图详细描述用于实现本发明的最佳实施方式。图I是示出了使用根据本实施例的负载控制设备10的负载控制系统的结构的图。如图所示,负载控制设备10通过通信线路与多个处理设备(计算资源)20相连。根据本实施例的负载控制系统通过使用所述多个处理设备20处理并行地处理单独的在线事务。图2是示出了根据本实施例的负载控制设备10的结构的图。如图所示,负载控制设备10包括接收机101、分配控制器102、发射队列103、发射机104、过流检测器105、重新分配部件106、定时器107和接收机108。所述接收机101、分配控制器102、发射机104、过流检测器105、重新分配部件106、定时器107和接收机108与根据程序由计算机的处理器执行的功能相对应。所述发射队列103包括诸如存储器和硬盘之类的存储装置。接收机101从例如通过通信线路相连的端子接收事务处理请求。分配控制器102参考分配表来选择将接收到的事务分配至的合适分配目的地,并且将所述事务存储在针对每一个分配目的地而提供的发射队列103中。每一个分配目的地包括一个或多个处理器内核(计算资源)。当在每一个分配目的地中包括多个内核时,可以将每一个内核安装到一个计算设备20中,或者可以将其分配给多个处理设备20。图3是示出了分配表的内容的图。如图所示,将针对相应数据区域的合适分配目的地预先存储在分配表中。每一个数据区域与在特定事务中要处理的一组数据相对应,将所述数据存储在数据库207中。所述分配控制器102基于哪个数据区域上是由接收到的事务处理的主题,从所述分配表中选择合适的分配目的地。如上所述,每一个分配目的地可以与一个处理设备20或者多个处理设备20相对应。所述分配表包括可用表,所述可用表示出了分配目的地处理设备20的电源的接通/关断状态以及作为关断电源的结果引起的性能退化程度、或者由于在负载控制系统中发生的故障引起的或者作为将负载控制系统的规律计划的维护进行延缓的结果引起的性能退化程度。图4示出了可用表的示例。基于“元件-分配目的地对应表”来创建所述可用表。如图4所示,将分配目的地的临界状态存储在可用表中。基于在每一个分配目的地中所包括的元件的电源的关断状态、或者由于系统故障引起的性能退化程度来确定每一个临界状态。例如,当在分配目的地中所包括的元件的可用状态如“元件-分配目的地对应表”中所示时,分配目的地I的元件I是可用的(0),而元件2是不可用的(X)。因此,分配目的地I的临界状态是50%。所述可用表反映了每一个处理设备的最近状态,因此需要规律地再评估。将发射队列103提供给每一个分配目的地。将分配给所述分配目的地的事务数据顺序地存储在事务队列103中。发射机104将在发射队列103中存储的事务数据发射至相应的分配目的地处理设备20。当单独的分配目的地包括多个处理器内核时,发射机104通过使用例如循环方法将事务数据均匀地分配给所述处理器内核的每一个。所述过流检测器105参考所述上限表,并且规律地监测在与每一个分配目的地相对应的发射队列103中累积的事务的个数是否超过上限。图5是示出了上限表的内容的图。如图所示,可以在与相应的分配目的地相对应的发射队列103中累积的事务的上限值可以预先存储在上限表中。例如,上限值的每一个可以是每隔一定量的时间进行处理的事务的个数。当作为过流检测器105监测的结果,在每一个发射队列103中累积的事务的个数超过上限值时,重新分配部件106参考类同表来选择重新分配目的地。当所述重新分配目的地具有过流事务时,将所述事务顺序地分配给下一个最高优先级的候选。当不存在分配目的地候选时,执行错误处理。图6是示出了在类同表中保留的内容。如图所示,所述类同表存储相对于分配目的地而存储的数据区域的数据的处理的性能值。例如,所述性能值的每一个可以是每单位时间执行的事务处理的个数、或者在一个事务处理中所要求的平均周转时间。基于对于具有所述数据区域的数据的数据库207的容易访问确定了在特定数据区域中的处理性能。通常,当将用于对包括将要处理的数据的数据库207数据进行高速缓存的高速缓存控制器206和用于执行事务处理的处理部件205安装到相同的处理设备20中时,获得最高的处理性能。在高速缓存控制器206和处理器205之间的访问路径中存在越多的其他控制器等,处理性能变得越低。在类同表中,针对所述数据区域的最高处理性能的分配目的地与在分配表中所示的分配目的地相对应。定时器107确定过流检测器105监视每一个处理设备20的吞吐量的时机。过流检测器105用来监视吞吐量的方法示例包括恒定地监视所述吞吐量并且立即通知所述重新分配部件106在分配给任意分配目的地的发射队列103中的事务个数超过上限的方法。然而,这种方法要求每当存在过流事务时就通知,降低了处理性能。接收机108从每一个处理设备20接收与过流事务处理有关的信息等。图7是示出了处理设备20之一的结构的图。如图所示,处理设备20具有接收机201、接收队列202、控制器203、发射机204、处理部件(计算资源、处理器内核)205、高速缓存控制器206和数据库207。接收机201从负载控制设备10接收事务请求。接收队列202是其中顺序地累积由接收机201接收的事务请求的存储单元。控制器203将在所述接收队列202中累积的事务请求提供给处理部件205。当检测到过流事务处理时,所述控制器203经由发射机204向负载控制设备10通知检测结果。所述发射机204向负载控制设备10发射与过流事务处理有关的信息等。处理部件205执行所述事务并且更新数据库207。处理设备20可以具有包括一个处理部件205的单内核结构,或者可以具有包括多个处理部件205的多内核结构。高速缓存控制器206临时地存储数据库207的内容。在本实施例中,可以访问其他处理设备20的至少一个的高速缓存控制器206。数据库207保留进行事务处理的数据。接下来将描述具有负载控制设备10的负载控制系统的操作。图8是由负载控制设备10执行的事务分配处理的流程图。首先,负载控制设备10的接收机101接收事务处理请求(步骤Sll)。接下来,分配控制器102参考分配表来选择向其分配接收到的事务的合适分配目的地(步骤S12)。然后,分配控制器102将事务处理的数据存储在与在步骤S12中选择的分配目的地相对应的发射队列103中(步骤S13)。发射机104将在发射队列103中存储的事务数据顺序地发射至相应的分配目的地的处理设备20。图9是当产生过流事务处理时执行的处理的流程图。首先,当过流检测器105检测到在与每一个分配目的地相对应的发射队列103中累积的事务的个数超过上限时(步骤S21:是),过流检测器105指示重新分配部件106重新分配所述事务(步骤S22).所述重新分配部件106参考类同表,以重新选择向其分配过流事务的分配目的地(步骤S23)。使用图3、5和6具体地描述了重新分配事务的方法。例如,如图3的分配表所示,通过分配控制器102将用于处理数据区域A的数据的事务首先分配给分配目的地I。然而,当如图5的上限表中所示在分配目的地I的发射队列103中累积了1600或以上事务时,过流检测器105指示重新分配部件106重新分配所述事务。重新分配部件106参考图6所示的类同表来选择分配目的地,处理数据区域A的数据的事务处理性能(每单位时间的处理个数)是次高于分配目的地I的事务处理性能。在图6所示的示例中,具有次高事务处理性能的分配目的地与分配目的地2、3和4相对应。因此,重新分配部件106从这些分配目的地中选择重新分配目的地。一旦确定了重新分配目的地,重新分配部件106将存储的事务数据移动到与重新分配目的地相对应的发射队列103中,所存储的事务数据与其个数超过上限的事务相对应(步骤S24)。发射机104将在发射队列103中存储的事务数据顺序地发射至相应分配目的地的处理设备20。如上所述,在本实施例中,甚至当没有在分配目的地处理设备20的高速缓存控制器206中高速缓存在事务中将要处理的数据时,也可以在处理设备20中访问其他处理设备20的高速缓存控制器206,可以访问其中对所述数据进行高速缓存的其他处理设备20的高速缓存控制器206,以便执行所述处理。尽管在正常操作期间不会发生这种情况,除了当重新分配部件106从过流检测器105接收到指令时之外,甚至当接收机108从每一个处理设备20接收到与过流事务处理有关的信息时,重新分配部件106也可以重新分配所述事务。根据上述实施例,分配控制器102确定合适的事务分配目的地,并且在针对每一个分配目的地而提供的发射队列103中累积所述事务。因此,可以利用尽可能小的计算资源来维持并行在线事务处理所要求的服务级别指数,例如周转时间。此外,所述过流检测器105规律地监测在与分配目的地相对应的发射队列103中累积的事务个数是否超过上限。当所述事务的个数超过上限时,重新分配部件106重新确定所述分配目的地。按照这种方式,可以防止服务级别指数的退化,例如由于特定处理设备20中的过流处理而导致的周转时间变长。在负载控制设备10中,确定事务分配目的地,然后在执行用于防止产生过流处理的调节之后,将所述事务数据发射给每一个处理设备20。因此,可以在事务处理中有效地利用所述计算资源,而不会向每一个处理设备20提供用于执行上述调节的功能。根据本实施例的负载控制设备10尤其适用于使用数据库来保留大量数据的在线事务系统中执行负载控制。具体地,在其中对数据库中的数据进行分割以便防止数据冲突的事务处理的情况下,是每一个计算资源的数据类同对于处理性能施加了最大的影响。因为很少发生数据冲突的这种事务具有相对均衡的负载,可以根据事务的个数更加容易地估计负载的总数。为此原因,可以通过使用如本实施例中所述的上限表来进行对于过流交易的合适确定。根据本发明的负载控制系统具有多个处理设备20,其中高速缓存控制器206可以访问其他处理设备20的至少一个的高速缓存控制器206。这种系统结构的示例包括CC-NUMA(高速缓存-相干性非均匀存储器访问)。CC-NUMA具有多个处理器结构,其中所有的处理器共享公共的存储器地址空间。因此,特定节点的处理器可以访问其他节点的存储器。每一个处理器本地地具有高速存储器。其他处理器对于本地存储器的访问速度比这种高速存储器的访问速度低。因此,CC-NUMA适用于本实施例的负载控制系统,其中基于对于计算资源的数据的类同来确定分配目的地。接下来描述配置分配目的地的方法,所述方法用于减少功耗。图10是用于解释基于功耗确定分配目的地的方法的图。功耗模型表示出了在每一个内核(处理设备20的处理部件205)的操作期间获得的功耗。“内核N”行(N=1,…,9)和“内核N”列之间的交叉点的值表示当独立操作内核N时获得的功耗。“内核N”行和“内核M”列(M=1,…,9)之间交叉点的值代表当同时操作内核N和内核M时获得的总功耗。例如,当独立地操作内核I和内核2时,其功耗是“15”。当同时操作内核I和内核2时,总功耗是“17”。因此,当同时操作内核I和内核2时获得的功耗小于当独立操作这些内核时获得的功耗。当独立操作内核5时,功耗是“20”。然而在内核5的示例中,不存在通过与任意其他内核一起操作内核5来产生较低的总功耗的组合。内核分配目的地对应表示出了产生基于功耗模型确定的功耗的分配目的地的结构。如该表所示,分配目的地I和2每一个均配置有两个内核,并且分配目的地3至7每一个均配置有一个内核。如上所述,通过基于配置处理设备20的内核的功耗模型来确定分配目的地的结构,可以减小系统的功耗。除了功耗模型之外,可以使用产生分配表的图11的即刻扩展模型。基于与当关断系统的每一个计算资源(元件)的电源时获得的功率减小(减小的功率)有关的信息以及与开始重新使用所述计算资源所要求的准备时间段(恢复时间段)有关的信息来产生所述分配表。依赖于事务数据的量,并非总是需要接通系统的计算资源的所有电源。因此,通常需要关闭一些计算资源的电源以便能够迅速地应付事务个数的预期增加。换句话说,当期望在N秒中之内将事务的个数增加S时,可以确保在N秒钟之内重新使用的计算资源以便应付所述S个事务,并且关断其他计算资源的电源。当使用即刻扩展模型时,需要在关断的计算资源变得可用之后立即增加分配目的地候选的个数。因此,提供了用于规律地监测每一个计算资源的电源的接通/关断状态的装置。一旦检测到新可用分配目的地的个数增加,更新可用表。在修改即刻扩展模型时,代替关断这些计算资源的电源,可以将一些计算资源与系统相分离,并且返回到资源池。在这种情况下,基于与当将计算资源返回到资源池时减少的使用费用有关的信息以及开始重新使用所述计算资源所要求的准备时间段有关的信息来产生分配表。每一个处理设备20的结构不局限于图7所示的结构;因此例如可以使用图12所示的结构。图12所示的示例示出了处理设备20的多内核结构,其包括两个处理部件205、两个高速缓存控制器206和两个数据库207。该申请要求2010年2月5日递交的日本专利申请No.2010-23943的优先权,因此将其内容合并在此作为参考。以上已经参考实施例描述了本发明,然而本发明不局限于实施例。可以在本领域普通技术人员理解的本发明范围的情况下,按照多种方式改变本发明的结构和细节。本发明适用于利用尽可能少的计算资源和功耗,维持在并行在线事务处理中所要求的服务级别指数,例如周转时间。10负载控制设备20处理设备101接收机102分配控制器103发射队列104发射机105过流检测器106重新分配部件107定时器108接收机201接收机202接收队列203控制器204发射机205处理部件206高速缓存控制器207数据库权利要求1.一种负载控制设备,用于向多个计算资源分配事务处理,所述负载控制设备包括接收机,所述接收机接收事务处理请求;分配控制器,所述分配控制器选择被分配接收到的事务的分配目的地,然后将所述事务分别存储在针对分配目的地而提供的发射队列中;发射机,所述发射机将在发射队列中存储的事务数据发射至分配目的地;过流检测器,所述过流检测器监测与相应的分配目的地相对应的发射队列的每一个中累积的事务的个数是否超过上限;以及重新分配部件,当作为所述过流检测器监测的结果,所述事务个数超过上限时,所述重新分配部件重新选择分配目的地,向所述重新选择的分配目的地分配在事务个数超过上限时存储的事务。2.根据权利要求I所述的负载控制设备,其中基于将要在所述事务的每一个中处理的数据区域,所述分配目的地控制器选择相对于所述数据区域具有最高处理性能的分配目的地。3.根据权利要求I或2所述的负载控制设备,其中基于将要在所述事务的每一个中处理的数据区域,所述重新分配部件从其中在发射队列中累积的事务的个数没有超过上限的分配目的地中,选择相对于所述数据区域具有最高处理性能的分配目的地。4.根据权利要求I至3中任一项所述的负载控制设备,其中通过产生最低功耗的处理设备的组合来配置所述分配目的地的每一个。5.根据权利要求I至4中任一项所述的负载控制设备,其中基于事务的期待个数来控制计算资源的每一个的电源的接通/关断状态,并且所述分配控制器基于所述计算资源的每一个的接通/关断状态来选择所述分配目的地。6.根据权利要求I至5中任一项所述的负载控制设备,还包括定时器,所述定时器确定所述过流检测器监测在与分配目的地相对应的发射队列的每一个中累积的事务的个数的时机,其中所述分配控制器根据所述时机规律地监测在所述发射队列中累积的事务的个数。7.一种负载控制方法,用于向多个计算资源分配事务处理,所述负载控制方法包括以下步骤接收事务处理请求;选择被分配接收到的事务的合适分配目的地,然后将所述事务分别存储在针对分配目的地而提供的发射队列中;将在发射队列中存储的事务数据发射至分配目的地;监测与相应的分配目的地相对应的发射队列的每一个中累积的事务的个数是否超过上限;以及当作为所述监测的结果,所述事务个数超过上限时,重新选择分配目的地,向所述重新选择的分配目的地分配在事务个数超过上限时存储的事务。8.一种引起计算机用作负载控制设备的程序,所述负载控制设备用于向多个计算资源分配事务处理,所述程序引起用作接收机,所述接收机接收事务处理请求;分配控制器,所述分配控制器选择被分配接收到的事务的分配目的地,然后将所述事务分别存储在针对分配目的地而提供的发射队列中;发射机,所述发射机将在发射队列中存储的事务数据发射至分配目的地;过流检测器,所述过流检测器监测与相应的分配目的地相对应的发射队列的每一个中累积的事务的个数是否超过上限;以及重新分配部件,当作为所述过流检测器监测的结果,所述事务个数超过上限时,所述重新分配部件重新选择分配目的地,向所述重新选择的分配目的地分配在事务个数超过上限时存储的事务。全文摘要一种负载控制设备10,用于向多个计算资源分配事务处理,所述负载控制设备包括接收机101,所述接收机接收事务处理请求;分配控制器102,所述分配控制器选择被分配接收到的事务的分配目的地,然后将所述事务分别存储在针对分配目的地而提供的发射队列103中;发射机104,所述发射机将在发射队列103中存储的事务数据发射至分配目的地;过流检测器105,所述过流检测器监测与相应的分配目的地相对应的发射队列103的每一个中累积的事务的个数是否超过上限;以及重新分配部件106,当作为所述过流检测器105监测的结果,所述事务个数超过上限时,所述重新分配部件重新选择分配目的地,向所述重新选择的分配目的地分配在事务个数超过上限时存储的事务。文档编号G06F9/50GK102782653SQ20118000799公开日2012年11月14日申请日期2011年1月11日优先权日2010年2月5日发明者藤田直毅申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1