JP2007293761A - エージェントの配置プログラム、方法、および装置 - Google Patents

エージェントの配置プログラム、方法、および装置 Download PDF

Info

Publication number
JP2007293761A
JP2007293761A JP2006123367A JP2006123367A JP2007293761A JP 2007293761 A JP2007293761 A JP 2007293761A JP 2006123367 A JP2006123367 A JP 2006123367A JP 2006123367 A JP2006123367 A JP 2006123367A JP 2007293761 A JP2007293761 A JP 2007293761A
Authority
JP
Japan
Prior art keywords
agent
node
amount
communication
nodes
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
JP2006123367A
Other languages
English (en)
Inventor
俊博 ▲高▼橋
Toshihiro Takahashi
Hideyuki Mizuta
秀行 水田
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
Priority to JP2006123367A priority Critical patent/JP2007293761A/ja
Priority to US11/686,370 priority patent/US20070255836A1/en
Priority to CNA2007100898306A priority patent/CN101064685A/zh
Publication of JP2007293761A publication Critical patent/JP2007293761A/ja
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に移動させるステップを、前記コンピュータのノードに実行させる。
【選択図】図5

Description

本発明は、マルチノード環境におけるエージェントの配置方法に関し、特にノード間のネットワーク負荷を小さくするエージェントの配置方法に関する。
現在、CPUとメモリを備えたノードが高速なネットワークで相互接続されたコンピュータ(マルチノードコンピュータ)上で多数のエージェントを動作させ複雑な物理現象や経済現象のシミュレーションが行われている。エージェントとは、自立的に活動する個々の行動主体または経済主体を表すプログラムの一部(オブジェクトコンポーネント)である。
マルチノードコンピュータにおいてシミュレーションを行う場合、エージェントを複数のノードに配置する必要がある。あるノードに所属するエージェントが他のノードのエージェントとメッセージの送受信を行うとき、ノード間の通信が発生する。ノード間の通信量はシステム全体のパフォーマンスに影響を与えるため、これを抑えるための手法が必要とされていた。
従来技術として、通信経路を短縮することでネットワークを流れるデータ量を削減する方法や、分散環境で実行されるアプリケーションの配置をCPUおよびネットワークの負荷をノード間でバランスさせる手法等が知られている。しかしながらこのような手法はエージェント間で通信が頻繁に行われる状況、例えば数百万のエージェントを用いてシミュレーションを行う環境において、多数のエージェントを高速にかつ少ない計算量で適切に配置する方法を提供しない。
特開2004−7578
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的は、
・コンピュータ上で高速にかつ適切にエージェントを配置することである。
・ノード間の通信量を削減することである。
・ノード間のネットワーク負荷を小さくすることである。
・互いに頻繁に通信するエージェントを同一ノードに配置することである。
かかる目的のもと、本発明は、各々がCPUとメモリを有するノードを複数接続したコンピュータにおけるエージェントの配置を行うプログラムであって、前記ノードにおいて、該ノードに存在するエージェントと、前記エージェントが通信を行ったノードとの通信量を記憶するステップと、各エージェントについて移動した場合の前記通信量の減少が最大となるノードMを決定するステップと、ノードMへの移動候補を記憶するエージェントリストに前記エージェントを追加するステップと、前記エージェントリストのエージェントをノードMに移動させるステップを、前記コンピュータのノードに実行させるように構成する。
さらに、前記ノードとの通信量を記憶するステップが、ノードに存在するエージェントと、前記エージェントが通信を行った他のエージェントとの通信量から、エージェントとノードとの通信量を算出して記憶するステップであってもよい。
また、前記ノードMを決定するステップが、各エージェントについてエージェントが現ノードから他ノードに移動すると仮定して、現ノードにおける通信量を移動先ノードにおける通信量から減じた値を減少量として該減少量が最大となるノードMを決定するステップであってもよい。
そして、前記移動させるステップが、前記エージェントリストを前記通信量の減少量で降順にソートし、前記エージェントリストの上位から一定数のエージェントを、現ノードからノードMに移動させるステップであってもよい。
本発明によれば、マルチノードコンピュータ上で適切にエージェントを配置することによりノード間のネットワーク負荷が小さくなる。また、逐次的にノード間の通信量を小さくするため、時間経過とともにエージェント間の通信量が変化していくような状況下でも柔軟に対応することができる。
以下、添付図面を参照して、本発明を実施するための最良の形態について詳細に説明する。まず本発明のノードとは図2の110で例示するように典型的には2つのチップと1つのメモリから構成される。1つのチップは1つのCPUと2つのFPUからなる。そしてメモリは2つのチップに接続されている。2つのチップの役割については、1つのCPUが演算処理を担当し、もう1つは通信処理を行う場合と、両方のチップが演算処理を行う場合がある。複数のノードの実構成例について図1に示す。図1の Compute Card が本発明におけるノードに相当する。そして Compute Card x 16個で構成されたものが Node Card であり、さら Node Card x 32個で構成されたものが Rack となり、この Rack x 64台で構成されたものがマルチノードコンピュータ120となる。これら複数のノードは高速なネットワークで互いに接続されており図3に例示するように3次元トーラス上のネットワークを構成する。ノード310が図1の Compute Card に相当する。なお本発明では3次元トーラス上での距離についての情報は使用しない。
エージェントは上記ノードにおいて動作するオブジェクトコンポーネントであり、ノードから他のノードに移動できるという特徴を持つ。図6に複数のエージェントを用いたシミュレーションの概要を示す。仮想環境600はマルチノードコンピュータ120上で構築された仮想環境である。複数のノードと多数のエージェントにより複雑な物理現象や経済現象のシミュレーションを行う。エージェント610は変数やデータを表す内部モデルとその内部モデルを判断する部分(関数)からなる。エージェントはその判断の結果に従い行動する。行動には、計算、記憶、メッセージ送信、メッセージ受信などがある。メッセージは他のエージェント620、630との間でやりとりされる。
本発明の方法は、各エージェントが、どのエージェント(どのノード)と、どの程度の通信をおこなったかを記録し、これをもとに、全てのノード間で一定数のエージェントを交換する。図4に4つのノード間通信例を図示する。ノード410は他のノードと互いに通信を行う。ノード間の通信にはエージェントとノードとの通信が含まれている。何百万ものエージェントとノードの通信量は膨大なものとなり、これを削減することはノード間の通信量を削減することに直結する。
この多数のエージェントの移動を管理するプログラムがノード毎に動作し、適切なエージェントを他のノードに送信する。この管理プログラムのリソースの使用量は多数のエージェントのリソースの使用量に比べると小さくまたシンプルで高速に動作するため、管理プログラムによるシステム全体のパフォーマンスへの影響は小さい。なおこの管理プログラムの各処理を専用ハードウェアで実現するようにしてもよい。
図5にエージェントの管理プログラムのフローチャートを示す。まずステップ510で各エージェントについてノードとの通信量を記憶する。ステップ520で各エージェントについて移動先ノードMを決定する。次にステップ530で移動先ノードMへの移動候補であるエージェントリストにエージェントを追加する。最後にステップ540でエージェントリストの上位一定数のエージェントを移動先ノードMに送信する。これらの処理は各ノードにおいて実行される。また移動先ノードMは特定のノードとはならず全てのノードがその対象となりえることに注意されたい。
より詳細に処理の流れを説明する。Aをエージェントの集合、Cをノードの集合、Bk⊂Aをノードk∈Cに所属するエージェントの集合、T(i,i')をエージェントi,i'∈Aの間の通信量とする。
ステップ510で、任意のノードkにおいて各エージェントと各ノードに所属するエージェントとの通信量Sを求め、記憶する。
Figure 2007293761
ステップ520で各エージェントiが、ノードk'∈Cに移動したときのノード間の減少する通信量
ΔR(i,Bk,Bk')=S(i,bk)-S(i,bk')
を求める。ΔR(i,Bk',Bk)を最大にするようなノードkmaxを求める。
Figure 2007293761
ステップ530でノードkmaxに移動するエージェント候補の集合
Figure 2007293761
にエージェントiを追加する。
ステップ540で、各ノードk'∈Cについて、Bpoolk→k'の中からΔR(i,Bk,Bk')が大きい順に一定数のエージェントの集合Bk→k'を選び、ノードk'(フローにおけるノードMに相当)に送信する。
上記の処理をすべてのノードにおいて一定期間毎に実行することで、各エージェントを適切なノードに再配置することができる。上記フローチャートで理解されるように、各ノードは、己に所属するエージェントの通信量のみを記憶し、交換するエージェントの選出の際も、己に所属するエージェントだけを見る。このため本発明の方法はノード間の複雑なネゴシエーション等を必要とせず非常に少ない計算量で高速に動作する。
図1は複数のノードの実構成例である。 図2はノードのハードウェア構成例である。 図3はノードの3次元トーラス上のネットワーク構成例である。 図4は4つのノード間通信例である。 図5はエージェントの管理プログラムのフローチャートである。 図6は仮想環境内のエージェントを説明する図である。
符号の説明
120 マルチノードコンピュータ
310 ノード
410 ノード
600 仮想環境
610 エージェント
620 エージェント

Claims (6)

  1. 各々がCPUとメモリを有するノードを複数接続したコンピュータにおけるエージェントの配置を行うプログラムであって、前記ノードにおいて、
    該ノードに存在するエージェントと、前記エージェントが通信を行ったノードとの通信量を記憶するステップと、
    各エージェントについて移動した場合の前記通信量の減少が最大となるノードMを決定するステップと、
    ノードMへの移動候補を記憶するエージェントリストに前記エージェントを追加するステップと、
    前記エージェントリストのエージェントをノードMに移動させるステップ
    を、前記コンピュータのノードに実行させるプログラム。
  2. 前記ノードとの通信量を記憶するステップが、
    ノードに存在するエージェントと、前記エージェントが通信を行った他のエージェントとの通信量から、エージェントとノードとの通信量を算出して記憶するステップ
    である、請求項1記載のプログラム。
  3. 前記ノードMを決定するステップが、
    各エージェントについてエージェントが現ノードから他ノードに移動した場合に、現ノードにおける通信量を移動先ノードにおける通信量から減じた値を減少量として該減少量が最大となるノードMを決定するステップ
    である、請求項1記載のプログラム。
  4. 前記移動させるステップが、
    前記エージェントリストを前記通信量の減少量で降順にソートし、前記エージェントリストの上位から一定数のエージェントを、現ノードからノードMに移動させるステップ
    である、請求項1記載のプログラム。
  5. 各々がCPUとメモリを有するノードを複数接続したコンピュータにおけるエージェントの配置方法であって、前記ノードにおいて、
    該ノードに存在するエージェントと、前記エージェントが通信を行ったノードとの通信量を記憶する段階と、
    各エージェントについて移動した場合の前記通信量の減少が最大となるノードMを決定する段階と、
    ノードMへの移動候補を記憶するエージェントリストに前記エージェントを追加する段階と、
    前記エージェントリストのエージェントをノードMに移動させる段階
    を有するエージェント配置方法。
  6. 各々がCPUとメモリを有するノードを複数接続したコンピュータにおけるエージェントの配置装置であって、前記ノードにおいて、
    該ノードに存在するエージェントと、前記エージェントが通信を行ったノードとの通信量を記憶する手段と、
    各エージェントについて移動した場合の前記通信量の減少が最大となるノードMを決定する手段と、
    ノードMへの移動候補を記憶するエージェントリストに前記エージェントを追加する手段と、
    前記エージェントリストのエージェントをノードMに移動させる手段
    を有するエージェント配置装置。
JP2006123367A 2006-04-27 2006-04-27 エージェントの配置プログラム、方法、および装置 Pending JP2007293761A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006123367A JP2007293761A (ja) 2006-04-27 2006-04-27 エージェントの配置プログラム、方法、および装置
US11/686,370 US20070255836A1 (en) 2006-04-27 2007-03-15 Agent allocation program, method and apparatus
CNA2007100898306A CN101064685A (zh) 2006-04-27 2007-04-05 代理分配方法和设备

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
JP2007293761A true JP2007293761A (ja) 2007-11-08

Family

ID=38649614

Family Applications (1)

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

Country Status (3)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10394615B2 (en) 2016-05-10 2019-08-27 Fujitsu Limited Information processing apparatus and job management method

Families Citing this family (2)

* 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
US8904398B2 (en) * 2011-03-31 2014-12-02 International Business Machines Corporation Hierarchical task mapping

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
US10394615B2 (en) 2016-05-10 2019-08-27 Fujitsu Limited Information processing apparatus and job management method

Also Published As

Publication number Publication date
CN101064685A (zh) 2007-10-31
US20070255836A1 (en) 2007-11-01

Similar Documents

Publication Publication Date Title
CN104270416B (zh) 负载均衡控制方法及管理节点
CN104317749B (zh) 信息写入方法和装置
CN104484220A (zh) 虚拟化集群的动态资源调度的方法及装置
US9141677B2 (en) Apparatus and method for arranging query
CN109656646B (zh) 一种远程桌面控制方法、装置、设备及虚拟化芯片
CN104580194A (zh) 面向视频应用的虚拟化资源管理方法及装置
CN103108020A (zh) 服务协作设备、服务协作方法和计算机可读记录介质
JP2007293761A (ja) エージェントの配置プログラム、方法、および装置
CN105279007B (zh) 多核处理器的模拟方法及装置
Bin Khunayn et al. Exploiting data dependency to mitigate stragglers in distributed spatial simulation
Boyle et al. Performance and energy simulation of spiking neuromorphic architectures for fast exploration
US8688428B2 (en) Performance evaluation device, performance evaluation method and simulation program
CN116842883A (zh) 功耗分析方法、装置、电子设备及存储介质
Loring et al. Improving performance of m-to-n processing and data redistribution in in transit analysis and visualization
CN110035126A (zh) 一种文件处理方法、装置、计算设备及存储介质
CN106330556B (zh) 一种用于生成服务模块调用关联信息的方法与装置
CN114745749A (zh) 虚拟网元测试方法、装置、电子设备及可读存储介质
CN107786382B (zh) 接口选择方法、装置、测试控制台及测试系统
Golubeva et al. A tool for simulating parallel branch-and-bound methods
CN109377510B (zh) 超算集群上的粒子追踪方法和系统
CN105138406A (zh) 一种任务处理方法、装置及系统
CN105930260A (zh) 一种系统可用性测试方法及装置
CN118069374B (zh) 数据中心智能训练仿真事务加速方法、装置、设备及介质
CN112953747A (zh) 一种联盟链的性能分析方法、系统及终端设备
CN105681437B (zh) 一种网络功能的实现方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080129

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20080130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080416

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080618

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081209