View
217
Download
0
Category
Tags:
Preview:
Citation preview
Scalability Aspects Scalability Aspects of Agent-based of Agent-based
Naming Services Naming Services
Todd Wright, Karl KleinmannTodd Wright, Karl Kleinmann
BBN TechnologiesBBN Technologies
twright@bbn.com, kkleinmann@bbn.comtwright@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
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
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
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 ..
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
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
..
..
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:
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
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
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
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)
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
Backup SlidesBackup Slides
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
Recommended