i have a few questions about jadex - performance. More precisely about service search.
How expensive is a local service search? What happens there? Is there a network based search? or is it just simulated (iteration over a container maybe)?
How are service-calls technically handled? Are they stored in a queue? Multithreading?
2.1 what if the calls have different priority? e.g. send position updates vs log data using the same provided service.
Let's say each platform-internal-agent communicates over the platform-internal- communicationAgent over the other platform's communicationAgent with the internalAgents of the other platform. illustration:
a platform has the following agents: agent1, agent2, communicationAgent
Scenario:
platform1
agent1 -> call doBroadcast(packe) on communicationAgent (lets say the comm..Agent provides this service)
agent2
platform2
-> communicationAgent receives packet of communicationAgent of platform1. Redirects the packet to an internal agent. (agent1, or agent2)
local search is done by SServiceProvider.getLocalService(IComponentIdentifier component, java.lang.Class<t> type) in order to redirect the received packet to the desired platform-internal-agent.</t>
in order to send a packet to a global reachable communicationAgent, the method:
SServiceProvider.getService(final IInternalAccess component, final IComponentIdentifier cid, final Class<t> type)
is used.</t>
Basically the communicationAgent works like a router.
Would the communicationAgent be a bottle-neck?
(again how it works in short: each internal agents can send a packet to the communicationAgent on the same platform. The communicationAgent redirects the packet to all other communicationAgents (on other platforms). On receive of a packet from another communicationAgent, it redirects it to the desired internal-agent).
Or is it more performant and in general faster to communicate directly with the desired component/agent/service?
Thank you in advance
jobi23
Last edit: jobi23 2017-12-29
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hey,
i have a few questions about jadex - performance. More precisely about service search.
How expensive is a local service search? What happens there? Is there a network based search? or is it just simulated (iteration over a container maybe)?
How are service-calls technically handled? Are they stored in a queue? Multithreading?
2.1 what if the calls have different priority? e.g. send position updates vs log data using the same provided service.
Let's say each platform-internal-agent communicates over the platform-internal- communicationAgent over the other platform's communicationAgent with the internalAgents of the other platform.
illustration:
a platform has the following agents: agent1, agent2, communicationAgent
Scenario:
platform1
agent1 -> call doBroadcast(packe) on communicationAgent (lets say the comm..Agent provides this service)
agent2
platform2
-> communicationAgent receives packet of communicationAgent of platform1. Redirects the packet to an internal agent. (agent1, or agent2)
local search is done by SServiceProvider.getLocalService(IComponentIdentifier component, java.lang.Class<t> type) in order to redirect the received packet to the desired platform-internal-agent.</t>
in order to send a packet to a global reachable communicationAgent, the method:
SServiceProvider.getService(final IInternalAccess component, final IComponentIdentifier cid, final Class<t> type)
is used.</t>
Basically the communicationAgent works like a router.
Would the communicationAgent be a bottle-neck?
(again how it works in short: each internal agents can send a packet to the communicationAgent on the same platform. The communicationAgent redirects the packet to all other communicationAgents (on other platforms). On receive of a packet from another communicationAgent, it redirects it to the desired internal-agent).
Or is it more performant and in general faster to communicate directly with the desired component/agent/service?
Thank you in advance
jobi23
Last edit: jobi23 2017-12-29