scalability aspects of agent-based naming services todd wright, karl kleinmann bbn technologies...

15
Scalability Aspects Scalability Aspects of Agent-based of Agent-based Naming Services Naming Services Todd Wright, Karl Kleinmann Todd Wright, Karl Kleinmann BBN Technologies BBN Technologies [email protected], [email protected] [email protected], [email protected]

Upload: jonathan-curtis

Post on 17-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Scalability Aspects of Agent-based Naming Services Todd Wright, Karl Kleinmann BBN Technologies twright@bbn.com, kkleinmann@bbn.com

Scalability Aspects Scalability Aspects of Agent-based of Agent-based

Naming Services Naming Services

Todd Wright, Karl KleinmannTodd Wright, Karl Kleinmann

BBN TechnologiesBBN Technologies

[email protected], [email protected]@bbn.com, [email protected]

Page 2: Scalability Aspects of Agent-based Naming Services Todd Wright, Karl Kleinmann BBN Technologies twright@bbn.com, kkleinmann@bbn.com

2

OutlineOutline

• Introduction to Agent Naming ServicesIntroduction to Agent Naming Services• Cougaar White Pages DesignCougaar White Pages Design• Experimental ResultsExperimental Results• Accuracy of Model-Based PredictionsAccuracy of Model-Based Predictions• Conclusions and Future WorkConclusions and Future Work

Page 3: Scalability Aspects of Agent-based Naming Services Todd Wright, Karl Kleinmann BBN Technologies twright@bbn.com, kkleinmann@bbn.com

3

IntroductionIntroduction

• Why do agents need a naming service?Why do agents need a naming service?– A White Pages (WP) maps an agent name to a physical address (e.g. A White Pages (WP) maps an agent name to a physical address (e.g.

agent “X” is on host “Y”)agent “X” is on host “Y”)– A WP is required in distributed systems that contain dynamic entities A WP is required in distributed systems that contain dynamic entities

(e.g. dynamically added/removed/mobile agents)(e.g. dynamically added/removed/mobile agents)– The WP primarily supports the Message Transport Service (MTS)The WP primarily supports the Message Transport Service (MTS)

• Why not use a standard naming solution? (LDAP, DNS ...)Why not use a standard naming solution? (LDAP, DNS ...)– Our target application has custom requirements (e.g. frequent agent Our target application has custom requirements (e.g. frequent agent

mobility, integrated security policies, ..)mobility, integrated security policies, ..)– We wanted to explore the benefits of an agent-based approachWe wanted to explore the benefits of an agent-based approach

• Why build an agent-based WP?Why build an agent-based WP?– Ease of integration with the agent systemEase of integration with the agent system– Leverage the capabilities of the underlying agent frameworkLeverage the capabilities of the underlying agent framework– Support complex, agent-like behaviorSupport complex, agent-like behavior

Page 4: Scalability Aspects of Agent-based Naming Services Todd Wright, Karl Kleinmann BBN Technologies twright@bbn.com, kkleinmann@bbn.com

4

Cougaar BackgroundCougaar Background

• Cougaar Agent ArchitectureCougaar Agent Architecture– Open-Source Java-based Agent Open-Source Java-based Agent

FrameworkFramework

– DARPA-funded research (8 years, DARPA-funded research (8 years, multiple programs)multiple programs)

– Used in several real-world Used in several real-world applications (military logistics, applications (military logistics, inventory control, ...)inventory control, ...)

• Significant WP requirements:Significant WP requirements:– Support 1000+ agents distributed Support 1000+ agents distributed

over 100+ hostsover 100+ hosts

– Rapid, dynamic agent mobilityRapid, dynamic agent mobility

– Focus on Security and RobustnessFocus on Security and Robustness

TRANSCOM

1BDE2BDE

PLATFORM OS

JAVA VMJAVA VM

COUGAAR NODE

Agent Binder

Agent Binder

PLATFORM SERVICES

COUGAAR NODE SERVICES

Agent Binder

AGENT.AGENTFRAMEWORKSVCS.

PluginBinder

PluginBinder

PluginBinder

PluginBinder

PlugInPlugIn

COUGAAR NODE

Agent Binder

COUGAAR NODE SERVICES

Agent BinderAgent Binder

AGENT.AGENTFRAMEWORKSVCS.

PluginBinder

PluginBinder

PluginBinder

PluginBinder

Agent Binder

AGENT.AGENTFRAMEWORKSVCS.

PluginBinder

PluginBinder

PluginBinder

PluginBinder

PlugInPlugIn

PlugInPlugIn

PlugIn

PlugIn

http://www.cougaar.org

Page 5: Scalability Aspects of Agent-based Naming Services Todd Wright, Karl Kleinmann BBN Technologies twright@bbn.com, kkleinmann@bbn.com

5

Agent2

Cougaar White Pages DesignCougaar White Pages Design

• Agent-based designAgent-based design– Implemented WP servers as agentsImplemented WP servers as agents– Integrated client-side WP cachesIntegrated client-side WP caches

• Two-tier designTwo-tier design– Clients can talk to any serverClients can talk to any server– Servers replicate between one anotherServers replicate between one another

• Leases used throughoutLeases used throughout– Client-side leases on cached Client-side leases on cached lookuplookup data data– Server-side leases on Server-side leases on bindbind data data– The lease duration “time to live” (TTL) values The lease duration “time to live” (TTL) values

control the scalability and performancecontrol the scalability and performance

• Many additional features:Many additional features:– Server selection, bootstrap, security…Server selection, bootstrap, security…– See AAMAS’04 “Naming Services in Multi-See AAMAS’04 “Naming Services in Multi-

Agent Systems”, T.Wright.Agent Systems”, T.Wright.

Server2

Server1

Server3

Fully connectedServer-to-Server

replication

Agent1

Clients selectany server

Clients ..

Page 6: Scalability Aspects of Agent-based Naming Services Todd Wright, Karl Kleinmann BBN Technologies twright@bbn.com, kkleinmann@bbn.com

6

Design: LookupDesign: Lookup

• There are two patterns: lookup and There are two patterns: lookup and bind. The figure on the right shows bind. The figure on the right shows the the lookuplookup pattern. pattern.

• To lookup data, a client can ask any To lookup data, a client can ask any server, since all servers are full server, since all servers are full replicas of one anotherreplicas of one another

• Leases are specified by the server to Leases are specified by the server to control client-side cachingcontrol client-side caching– Short leases ensures up-to-date data Short leases ensures up-to-date data

but increases trafficbut increases traffic

– Long leases reduces traffic but Long leases reduces traffic but increases stale dataincreases stale data

– This tradeoff is explicitThis tradeoff is explicit

WP Cache +Bind Renewer +Server Selector

Agent1 Agent2

Server1

4: renew after ttl

..

Server2 Server3 ..

2: lookup 3: data + ttl

1: lookup

Page 7: Scalability Aspects of Agent-based Naming Services Todd Wright, Karl Kleinmann BBN Technologies twright@bbn.com, kkleinmann@bbn.com

7

4: fwd

Design: BindDesign: Bind

• To bind data, a client can tell any To bind data, a client can tell any server, then that server forwards the server, then that server forwards the message to all the other serversmessage to all the other servers

• Leases are used to control server-side Leases are used to control server-side expiration of bound dataexpiration of bound data– Short leases ensure quick cleanup of Short leases ensure quick cleanup of

“dead” agent entries, but this increases “dead” agent entries, but this increases traffictraffic

– Long leases reduce traffic but delay Long leases reduce traffic but delay the “Garbage Collection” cleanupthe “Garbage Collection” cleanup

– This is another explicit tradeoffThis is another explicit tradeoff

• The number of servers is another The number of servers is another tradeofftradeoff– Fewer servers minimizes traffic but Fewer servers minimizes traffic but

increases per-server load and single increases per-server load and single points of failurepoints of failure

– Many servers balance load but Many servers balance load but increase overall trafficincrease overall traffic

WP Cache +Bind Renewer +Server Selector

Agent1 Agent2

Server1

Server2 Server3

2: bind 3: ack + ttl

5: fwd

1: bind

6: renew after ttl

..

..

Page 8: Scalability Aspects of Agent-based Naming Services Todd Wright, Karl Kleinmann BBN Technologies twright@bbn.com, kkleinmann@bbn.com

8

Experimental Results: ScalabilityExperimental Results: Scalability

• A 10x increase in the number of agents produces a 6x increase A 10x increase in the number of agents produces a 6x increase in messages and 14x increase in byte trafficin messages and 14x increase in byte traffic

Small Config.Small Config.

115 agents

10 hosts

3 servers

8 minute bind ttl

4 minute lookup ttl

Large Config.

1146 agents

52 hosts

7 servers

8 minute bind ttl

4 minute lookup ttl

Global Global msg/min:msg/min:

MeasuredMeasured 1919 110110

Global Global kB/min:kB/min:

MeasuredMeasured 3030 425425

10x

6x

14x

ScalabilityComparison:

Page 9: Scalability Aspects of Agent-based Naming Services Todd Wright, Karl Kleinmann BBN Technologies twright@bbn.com, kkleinmann@bbn.com

9

Experimental Results: Model AccuracyExperimental Results: Model Accuracy

Small Config.Small Config.

115 agents

10 hosts

3 servers

8 minute bind ttl

4 minute lookup ttl

Large Config.

1146 agents

52 hosts

7 servers

8 minute bind ttl

4 minute lookup ttl

Global Global msg/min:msg/min:

MeasuredMeasured 1919 110110

PredictedPredicted 1010 7878

Global Global kB/min:kB/min:

MeasuredMeasured 3030 425425

PredictedPredicted 2222 372372

GoodAccuracy

Accuracyof our

PredictiveModel:

• We created a simple model based on our design, which was We created a simple model based on our design, which was found to be accurate in our experimentsfound to be accurate in our experiments

Page 10: Scalability Aspects of Agent-based Naming Services Todd Wright, Karl Kleinmann BBN Technologies twright@bbn.com, kkleinmann@bbn.com

10

Model AnalysisModel Analysis

• Our model is accurate enough to predict the Our model is accurate enough to predict the overall WP message trafficoverall WP message traffic

• Model simplifications did not significantly impact Model simplifications did not significantly impact the model accuracy:the model accuracy:– Models steady-state costs, not startupModels steady-state costs, not startup

– Assumes evenly balanced clients & server selectionsAssumes evenly balanced clients & server selections

– Aggregates messaging across all clientsAggregates messaging across all clients

• Confirmed design scalabilityConfirmed design scalability

Page 11: Scalability Aspects of Agent-based Naming Services Todd Wright, Karl Kleinmann BBN Technologies twright@bbn.com, kkleinmann@bbn.com

11

ConclusionsConclusions

• Naming services can benefit from agent-based solutionsNaming services can benefit from agent-based solutions– Autonomous client and server behaviorsAutonomous client and server behaviors

– Complex, dynamic behaviors (e.g. server selection, leases)Complex, dynamic behaviors (e.g. server selection, leases)

– Leverage agent-internal capabilities (e.g. MTS, security)Leverage agent-internal capabilities (e.g. MTS, security)

• Scalability estimated through models & verified through Scalability estimated through models & verified through large-scale testslarge-scale tests– Models clarify your design & guide system tuningModels clarify your design & guide system tuning

– Verification refines the model & guides future enhancementsVerification refines the model & guides future enhancements

• Cougaar’s naming service is scalableCougaar’s naming service is scalable– Well-defined modelsWell-defined models

– Can be enhanced, since it’s component-based & open sourceCan be enhanced, since it’s component-based & open source

Page 12: Scalability Aspects of Agent-based Naming Services Todd Wright, Karl Kleinmann BBN Technologies twright@bbn.com, kkleinmann@bbn.com

12

Future WorkFuture Work

• Implement models for non-steady-state statesImplement models for non-steady-state states– Model startup costsModel startup costs– Model bootstrap & server selectionModel bootstrap & server selection– Model non-uniform layouts & access patternsModel non-uniform layouts & access patterns

• Implement a configuration wizard based on our modelImplement a configuration wizard based on our model– Input: number of agents, layout, expected rate of mobilityInput: number of agents, layout, expected rate of mobility– Output: number of server agents, lease durationsOutput: number of server agents, lease durations

• Enhance our design, based on our new insightsEnhance our design, based on our new insights– Reduce the steady-state cost (e.g. through leased server-to-client Reduce the steady-state cost (e.g. through leased server-to-client

change callbacks) change callbacks) – Increase scalability through hierarchical serversIncrease scalability through hierarchical servers– Implement more complex, adaptive behaviors (e.g. server-Implement more complex, adaptive behaviors (e.g. server-

controlled load balancing)controlled load balancing)

Page 13: Scalability Aspects of Agent-based Naming Services Todd Wright, Karl Kleinmann BBN Technologies twright@bbn.com, kkleinmann@bbn.com

13

For more information …For more information …

• BBN Technologies:BBN Technologies:– http://www.bbn.comhttp://www.bbn.com

• Cougaar Agent Architecture:Cougaar Agent Architecture:– http://www.cougaar.orghttp://www.cougaar.org

• Other Cougaar-related KIMAS’05 papers:Other Cougaar-related KIMAS’05 papers:– ““Watching Your Own Back: Self Managing Multi-Agent SystemsWatching Your Own Back: Self Managing Multi-Agent Systems””, M. , M.

Thome, T. Wright, et alThome, T. Wright, et al

– ““Using QoS-Adaptive Coordination Artifacts to Increase Scalability of Communication in Distributed Multi-Agent Systems” , J. Zinky, S. Siracuse, , J. Zinky, S. Siracuse, et alet al

– “A Reconfigurable Multiagent Society for Transportation Scheduling and Dynamic Rescheduling”, D. Montana, G.Vidaver, et al

– ““Adaptive Optimization of Solution Time in a Distributed Multi-Agent

System””, A. Fedyk, et al

Page 14: Scalability Aspects of Agent-based Naming Services Todd Wright, Karl Kleinmann BBN Technologies twright@bbn.com, kkleinmann@bbn.com

Backup SlidesBackup Slides

Page 15: Scalability Aspects of Agent-based Naming Services Todd Wright, Karl Kleinmann BBN Technologies twright@bbn.com, kkleinmann@bbn.com

15

WP Design detailWP Design detail

Agent

MTS

cachebind

WP Client

Agent

MTS

cachebind

WP Client

Agent

MTS

cachebind

WP Client

WPServer Cache lookups

Bind renewals

Agent

MTS

cachebind

WP Client

Agent

MTS

cachebind

WP Client

Agent

MTS

cachebind

WP Client

AgentAgent

MTS

cachebind

WP Clientcachebind

WP Client

Agent

MTS

cachebind

WP Client

AgentAgent

MTS

cachebind

WP Clientcachebind

WP Client

Agent

MTS

cachebind

WP Client

WPServer

Agent

MTS

cachebind

WP Client

AgentAgent

MTS

cachebind

WP Clientcachebind

WP Client

WPServer Cache lookups

Bind renewals