The different components of our software architecture are the
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