[go: up one dir, main page]

CN101064685A - 代理分配方法和设备 - Google Patents

代理分配方法和设备 Download PDF

Info

Publication number
CN101064685A
CN101064685A CNA2007100898306A CN200710089830A CN101064685A CN 101064685 A CN101064685 A CN 101064685A CN A2007100898306 A CNA2007100898306 A CN A2007100898306A CN 200710089830 A CN200710089830 A CN 200710089830A CN 101064685 A CN101064685 A CN 101064685A
Authority
CN
China
Prior art keywords
node
agency
list
proxies
data volume
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.)
Pending
Application number
CNA2007100898306A
Other languages
English (en)
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101064685A publication Critical patent/CN101064685A/zh
Pending legal-status Critical Current

Links

Images

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明披露了一种代理分配程序、方法和设备。本发明的目的在于快速并适当地分配代理。提供了一种用于在包括多个互连节点的计算机上分配代理的程序,每个节点具有CPU和存储器,所述程序使所述计算机的每个节点执行以下步骤:存储在所述节点上驻留的代理和与该代理进行过通信的节点之间传送的数据的数量;为每个代理确定节点M,该节点M导致所传送的数据量在所述代理被传递到所述节点M时最大程度地减少;把所述代理添加到包含要被传递到所述节点M的候选代理的代理列表中;以及把代理列表上的代理传递到节点M。

Description

代理分配方法和设备
技术领域
本发明涉及用于在多节点环境中分配代理的方法,更具体地说,涉及用于减小节点间的网络负载的代理分配方法。
背景技术
当今,大量的代理在包括节点的计算机上运行,每个节点具有CPU和存储器,它们通过快速网络(多节点计算机)互连,以执行对复杂的物理和经济现象的模拟。代理是表示自主行动的个人行动实体或经济实体的程序的一部分(对象部件)。
为了在多节点计算机上进行模拟,必须向多个节点分配代理。当属于一个节点的代理向另一个节点上的代理发送消息或者从其接收消息时,在节点之间便产生通信量。因为在节点之间传送的数据的数量影响到整个系统的性能,从而需要一种用于减少通信量的方法。
已知有几种常规的现有方法,例如减少通信路径的长度从而减少流过网络的数据量的方法,以及在节点间分配在分布环境下执行的应用程序以平衡通过这些节点的CPU和网络负载的方法。然而,这些方法中的任何一种方法都无法提供一种能够在代理间频繁相互通信的情况下、例如在使用数百万个代理执行模拟的环境中,以少量的计算来快速且适当地分配大量代理的方法。
[专利文献1]已公开的未审查专利申请No.2004-7578
发明内容
本发明便是为了解决上述的技术问题而作出的,本发明的目的在于:
-在计算机上快速而适当地分配代理,
-减少节点之间的通信量,
-减少节点之间的网络负载,以及
-向相同节点分配相互频繁通信的代理。
为实现上述目的,本发明提供一种用于在包括多个互连节点的计算机上分配代理的方法,每个节点具有CPU和存储器,所述方法包括:在每个节点内,存储在所述节点上驻留的代理和与该代理进行过通信的节点之间传送的数据的数量;为每个代理确定节点M,该节点M导致所传送的数据量在所述代理被传递到所述节点M时最大程度地减少;把所述代理添加到包含要被传递到所述节点M的候选代理的代理列表中;以及把代理列表上的代理传递到节点M。
在存储因与节点进行通信而传送的数据量的步骤中,根据在驻留于该节点上的代理和已经与该代理进行过通信的另一个代理之间传送的数据量来计算并存储在该代理和节点之间传送的数据量。
在确定节点M的步骤中,针对每个代理确定节点M,该节点M在该代理从当前节点传递到另一个节点时导致通信量最大程度地减少,减少量为在作为代理传递目的地的节点所传送的数据量减去在当前节点所传送的数据量。
在传递步骤中,在代理列表上按照通信量的减少量递减的顺序对代理排序,并从当前节点向节点M传递代理列表中较高顺序的预定数量的代理。
依据本发明,代理在多节点计算机上被适当地分配,以减少节点间的网络负载。由于节点间的通信量不断减少,可以灵活地解决代理间的通信量随时间而改变的情况。
附图说明
图1表示多个节点的示例性物理配置;
图2表示一个节点的示例性硬件配置;
图3表示在三维环面上的节点网络的示例性配置;
图4是在4个节点间执行通信的例子;
图5是代理管理程序的流程图;以及
图6表示在虚拟环境中的代理。
符号说明
120  多节点计算机
310  节点
410  节点
600  虚拟环境
610  代理
620  代理
具体实施方式
下面参照附图详细说明用于实现本发明的优选实施例。
本发明的节点一般包括两个芯片和一个存储器,如图2的110所示。一个芯片包括一个中央处理单元和两个浮点单元。存储器和两个芯片相连。两个芯片的作用如下:在某些情况下,一个芯片负责执行计算、另一个芯片执行通信,而在另一些情况下两个芯片都用于进行计算。多个节点的例举性物理配置如图1所示。图1的计算卡代表本发明中的节点。16个计算卡构成一个节点卡,32个节点卡构成一个机柜(Rack),64个机柜构成一个多节点计算机120。这些节点通过快速网络互连,从而形成在三维环面上的网络,如图3所示。节点310对应于图1的计算卡。在本发明中不使用与三维环面上的节点之间的距离相关的信息。
代理是在节点上运行的对象部件,可从一个节点向另一个节点传递。图6表示使用多个代理的模拟概况。虚拟环境600被建立在多节点计算机12上。多个节点和大量代理一起执行复杂的物理或经济现象的模拟。代理610包括表示变量和数据的内部模型以及用于确定所述内部模型的部分(函数)。代理按照确定结果而行动。所述行动包括计算、存储、消息发送和接收。消息被发送到其它代理620、630或从其它代理620、630接收消息。
在依据本发明的方法中,每个代理记录与该代理通信的代理(节点)以及通信量。根据该信息,在所有节点间交换预定数量的代理。图4表示在4个节点间进行通信的例子。节点410和其它节点进行通信。节点之间的通信包括代理与节点之间的通信。在几百万个代理和节点之间将产生巨大的通信量。减少代理和节点之间的通信量将直接导致减少节点间的通信量。
管理如此大量的代理的传递的程序在每个节点上运行,并向另一个节点传递合适的代理。管理程序使用数量少于由大量代理使用的资源的数量的资源,简单且操作迅速,因此其对整个系统性能的影响是小的。管理程序的处理可以由专用硬件来实现。
图5表示代理管理程序的流程图。在步骤510,存储每个代理和节点之间的通信量。在步骤520,确定要向其传递代理的节点M。然后在步骤530,把该代理添加到要向节点M传递的候选代理列表中。最后在步骤540,向节点M发送代理列表中顺序较高的预定数量的代理。在每个节点上执行所述处理。应当注意,作为代理传递目的地的节点M不是一个特定的节点;代理可被传递给任何节点。
现在详细说明处理的流程。一组代理用A表示,一组节点用C表示,属于节点k∈C的一组代理用BkA表示,在代理i和i’∈A之间传送的数据量用T(i,i’)表示。
在步骤510,获得在给定节点k上的每个代理和属于每个节点的代理之间传送的数据量S并将其存储在节点k上。
[公式1]
S ( i , B k ′ ) = Σ i ′ ∈ B k ′ T ( i , i ′ )
在步骤520,如果代理i被传递到节点k∈C,则按照下式获得将被减少的传送数据量。
ΔR(i,Bk,Bk’)=S(i,bk)-S(i,bk’)
应注意获得了使ΔR(i,Bk’,Bk)最大化的kmax
[公式2]
k max = arg max k ′ ΔR ( i , B k , B k ′ )
在步骤530,代理i被添加到要传递到节点kmax的候选代理组中:
[公式3]
Bpool k → k max ⋐ A
在步骤540,以值ΔR(i,Bk,Bk’)递减的顺序对每个节点k’∈C从Bpoolkk’中选择一组预定数量的代理Bkk’,并将其发送到节点k’(对应于流程图中的节点M)。
通过以规则的时间间隔对每个节点执行上述处理,可以把代理重新分配给合适的节点。如可以由上述的流程图看出的,每个节点只存储由属于该节点的代理产生的通信量,并只检查属于该节点的代理以选择代理进行交换。因此,依据本发明的方法不需要在节点之间进行复杂的协商,并且能够以相当少量的计算来快速地执行操作。

Claims (6)

1.一种用于在包括多个互连节点的计算机上分配代理的方法,每个节点具有CPU和存储器,所述方法包括:
在每个节点内,
存储在所述节点上驻留的代理和与该代理进行过通信的节点之间传送的数据的数量;
为每个代理确定节点M,该节点M导致所传送的数据量在所述代理被传递到所述节点M时最大程度地减少;
把所述代理添加到包含要被传递到所述节点M的候选代理的代理列表中;以及
把代理列表上的代理传递到节点M。
2.如权利要求1所述的方法,其中在存储因与节点进行通信而传送的数据量的步骤中,根据在驻留于该节点上的代理和已经与该代理进行过通信的另一个代理之间传送的数据量来计算并存储在该代理和节点之间传送的数据量。
3.如权利要求1所述的方法,其中在确定节点M的步骤中,针对每个代理确定节点M,该节点M在该代理从当前节点传递到另一个节点时导致通信量最大程度地减少,减少量为在作为代理传递目的地的节点所传送的数据量减去在当前节点所传送的数据量。
4.如权利要求1所述的方法,其中在传递步骤中,在代理列表上按照通信量的减少量递减的顺序对代理排序,并从当前节点向节点M传递代理列表中较高顺序的预定数量的代理。
5.一种用于在包括多个互连节点的计算机上分配代理的设备,每个节点具有CPU和存储器,所述设备包括:
在每个节点内,
用于存储在所述节点上驻留的代理和与该代理进行过通信的节点之间传送的数据的数量的装置;
用于为每个代理确定节点M的装置,所述节点M导致所传递的数据量在所述代理被传递到节点M时最大程度地减少;
用于把所述代理添加到包含要被传递到所述节点M的候选代理的代理列表中的装置;以及
用于把代理列表上的代理传递到节点M的装置。
6.一种用于在包括多个互连节点的计算机上分配代理的程序,每个节点具有CPU和存储器,所述程序使所述计算机的每个节点执行以下步骤:
存储在所述节点上驻留的代理和与该代理进行过通信的节点之间传送的数据的数量;
为每个代理确定节点M,该节点M导致所传送的数据量在所述代理被传递到所述节点M时最大程度地减少;
把所述代理添加到包含要被传递到所述节点M的候选代理的代理列表中;以及
把代理列表上的代理传递到节点M。
CNA2007100898306A 2006-04-27 2007-04-05 代理分配方法和设备 Pending CN101064685A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006123367A JP2007293761A (ja) 2006-04-27 2006-04-27 エージェントの配置プログラム、方法、および装置
JP2006123367 2006-04-27

Publications (1)

Publication Number Publication Date
CN101064685A true CN101064685A (zh) 2007-10-31

Family

ID=38649614

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007100898306A Pending CN101064685A (zh) 2006-04-27 2007-04-05 代理分配方法和设备

Country Status (3)

Country Link
US (1) US20070255836A1 (zh)
JP (1) JP2007293761A (zh)
CN (1) CN101064685A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009067842A1 (fr) * 2007-11-27 2009-06-04 Zte Corporation Système de transmission sens descendant et procédé d'emprunt de ressources spectrales et de ressources de canal à partir de cellules adjacentes

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8904398B2 (en) * 2011-03-31 2014-12-02 International Business Machines Corporation Hierarchical task mapping
JP6666553B2 (ja) 2016-05-10 2020-03-18 富士通株式会社 情報処理装置、ジョブ管理方法およびジョブ管理プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192364B1 (en) * 1998-07-24 2001-02-20 Jarg Corporation Distributed computer database system and method employing intelligent agents
US6430698B1 (en) * 1998-10-05 2002-08-06 Nortel Networks Limited Virtual distributed home agent protocol
US7602786B2 (en) * 2005-07-07 2009-10-13 Cisco Technology, Inc. Methods and apparatus for optimizing mobile VPN communications
US7558859B2 (en) * 2005-10-17 2009-07-07 Microsoft Corporation Peer-to-peer auction based data distribution

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009067842A1 (fr) * 2007-11-27 2009-06-04 Zte Corporation Système de transmission sens descendant et procédé d'emprunt de ressources spectrales et de ressources de canal à partir de cellules adjacentes

Also Published As

Publication number Publication date
US20070255836A1 (en) 2007-11-01
JP2007293761A (ja) 2007-11-08

Similar Documents

Publication Publication Date Title
US20020065870A1 (en) Method and apparatus for heterogeneous distributed computation
CN1959686A (zh) 模拟异步接口的行为的方法和系统
WO2010024027A1 (ja) 仮想サーバシステム及び物理サーバ選択方法
US8325761B2 (en) System and method for establishing sufficient virtual channel performance in a parallel computing network
CN101042677A (zh) 存储器交叉存取
CN1869965A (zh) 经由神经网络选择网格执行器的方法和设备
CN102314336A (zh) 一种数据处理方法和系统
CN112100185A (zh) 区块链数据平衡负载的索引系统及方法
CN114217920A (zh) 作业调度方法和装置、计算机机群、计算机可读存储介质
CN106776014A (zh) 异构计算中的并行加速方法及系统
CN101064685A (zh) 代理分配方法和设备
CN109032630B (zh) 一种参数服务器中全局参数的更新方法
CN113377866A (zh) 一种虚拟化数据库代理服务的负载均衡方法及装置
CN112380004B (zh) 内存管理方法、装置、计算机可读存储介质及电子设备
CN115705497B (zh) 一种量子计算机操作系统和量子计算机
CN1463125A (zh) 一种实现缓存去抖的大容量实时流处理方法
Chang et al. Dynamic reordering bloom filter
Julián-Moreno et al. On the feasibility of 40 gbps network data capture and retention with general purpose hardware
CN117574966A (zh) 模型量化方法、装置、电子设备及存储介质
CN109377510B (zh) 超算集群上的粒子追踪方法和系统
CN108809699B (zh) 一种实现大规模虚拟网络节点重复映射的方法
CN112712167A (zh) 支持多种卷积神经网络加速的存储器访问方法及系统
CN118467182B (zh) 内存访问方法、计算机程序产品、电子设备及介质
He et al. Network communication optimization of RCCL communication library in Multi-NIC systems
TWI828185B (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20071031