The Multi-MA extension

What it is ?

The multi-MA extension helps to share computing resources between several sites. A naive approach is to build a DIET platform where every computer are managed by a unique Master Agent. This approach is not scalable because each search sends a message to every computer that can resolve a specified problem and generates an evaluation prediction on them. If the resources are shared by several users, this will create more load than necessary.

The multi-MA allows the creation of several set of computers. Each set are managed by a Master Agent and those Master Agents are connected by a communication graph. When the user search an available computer, he asks to a Master Agent and this Master Agent searches a computer inside its own set of computers. If it could not found any available computer that can resolve the submitted problem, then it asks to the other Master Agents if they have some computers available to resolve the problem.

This way, requests are forwarded to a limited number of computers unlike the monolithic approach where every computer resources are managed by a unique Master Agent. This allow to several users to build a grid platform by sharing their resources which is scalable with the number of simultaneous users.

How do it works ?

Several DIET platforms are shared by interconnecting their Master Agent. Clients ask for available SeD to their Master Agent as usual. If the Master Agent find an available SeD which can resolve the problem, it returns a reference on it to the client. If it do not find a SeD, it forward the request to other Master Agents which can also forward it to other ones and so on. When a Master Agent find a SeD which can resolve the client request, it returns its reference to the client’s Master Agent which returns the reference to the client. Then, the client can use this SeD to resolve its problem.

How to configure it ?

A new configuration line is available when DIET is compiled with the Multi-MA extension. This line allows you to configure the connections which link your Master Agent with the others by indicating their port and hostname.

For example:

neighbours =,,