Grid Computing for Electromagnetics

As discussed in Chapter 1, the implementation of a grid must cope with a number of challenges related to the complexity of the involved environments. Grids, in fact, include a multiplicity of resources that are heterogeneous in nature and might span numerous administrative domains. Each domain may contain its own policies and tools regarding security, scheduling, and resource allocation. Grids should include some software able to glue all of the different installed tools, services, and protocols in order to provide all of the high-level services needed for transparent access to resources as if they were belonging to a single unified "metacomputer." This can be achieved by a layered architecture [1], as the one shown in Figure 1.13, where an intermediate-level software (GM) mediates between the resources and their managers (both belonging to the fabric level) and grid applications (the application level). The GM operates on grid resources and their local managers (i.e., single domain schedulers, allocators, and load balancers) to offer core grid services to distributed applications. Examples of grid services are remote process management, allocation of resources, storage access, information management, and security, which have already been discussed in Chapter 1. Each grid service must be achieved by harmonizing and hiding low-level services and must be exploitable by applications in a straightforward way.
A number of technologies (called enabling technologies) help to implement this architecture. These technologies include protocols, programming paradigms, standards, and services, which were introduced before grid evolution and in contexts unrelated to grids.