DIET components

The different components of our software architecture are the following:

A client is an application using DIET to remotely solve problems. Many types of clients are able to connect to DIET, from a web page, a PSE such as Matlab or Scilab, or from a compiled program.
Master Agent (MA)
An MA receives computation requests from clients. These requests refer to some DIET problems listed on a reference web page. Then the MA collects computation abilities from the servers and chooses the best one. The reference of the chosen server is returned to the client. A client can be connected to an MA by a specific name server or a web < page which stores the various MA locations.

Local Agent (LA)
An LA transmits requests and information between MAs and servers. The information stored on an LA is the list of services available in the subtree rooted at the LA; for each service, LAs store a list of children (agents or servers) that can be contacted to find the service. Depending on the underlying network topology, a hierarchy of LAs may be deployed between an MA and the servers. Of course, the function of an LA is to do a partial scheduling on its subtree, which reduces the workload at the MA.

Server Daemon (SeD)
A SeD encapsulates a computational server. For instance it can be located on the entry point of a parallel computer. The information stored on a SeD is a list of the data available locally, i.e., on the server), the list of problems that can be solved on it, and performance-related information such as the amount of available memory or the number of resources available. When it registers, a SeD declares the problems it can solve to its parent LA or MA. A SeD can give performance and hardware information by using the CoRI module or performance predictions for some types of problems by using the CoRI module. Both modules are described in Chapter 10.

The DIET Team - Mer 29 nov 2017 15:13:36 EST