**5. Test environment**

In order to measure the gain in terms of time, some performances test were conducted. It has been compared the result times of the analysis of a model executed on the grid infrastructure with the sequential execution of the same model on a single computer. The experiment allowed verifying the practical usefulness of the adoption of distributed infrastructures in this kind of applications.


Table 1. Grid Nodes Specifications.

The grid used for performance testing consists of hardware not purchased specifically for this purpose, but of computer available to researchers of Istituto Superiore Mario Boella(ISMB). For this reason, its composition is heterogeneous in terms of the machines types (workstations, servers) and in terms of view of hardware resources of each machine (RAM, CPU, HD). Within the pool of available machines, two machines met the criteria for virtualization: on 16 Will-be-set-by-IN-TECH

Each WN is provided with a Local Scheduler, developed in Java, that checks contents of its input folder: every time a new job file is detected it executes the task. In order to be recognized the filename must follow a predefined naming convention rules. During the execution the analyzed block is transformed into a Method of Moments (MOM) matrix. If the execution terminates successfully, the output is sent to the Master Node, that reassembles it with the outputs received from other nodes. Also the LS is in charge of tracking the status of job

Since the code was not developed for parallel execution, it was decided to optimize resources by virtualizing nodes in order to run multiple processes on the same physical machine. In this way it was possible to create multiple virtual nodes on the same resource and increase the available nodes number, e.g., the parallelization of the system, instead of coding parallelization, to improve the overall performance. Virtualized systems also help to improve infrastructure management, allowing the use of virtual node template to create virtual nodes in a short time, speeding up the integration of new nodes on the grid and, therefore, improving the reactivity and the scalability of the infrastructure. Another advantage of virtual environment is the availability improvement, since in case of damage of a virtual node the system will be able to quickly restore it, reducing the downtime due to his recovery. The open source KVM (Hirt (2010)), has been used as hypervisor. It allows to create fully virtualized machines. The kernel component of KVM is included in mainline Linux. The basic requirements for the installation of this hypervisor is that the processor of the machine

In order to measure the gain in terms of time, some performances test were conducted. It has been compared the result times of the analysis of a model executed on the grid infrastructure with the sequential execution of the same model on a single computer. The experiment allowed verifying the practical usefulness of the adoption of distributed infrastructures in

> Node Type CPU model Virtual CPU RAM[GB] master physical Intel Core Duo 4 2.66GHz wn1 physical Intel Pentium 4 @ 3.20GHz 3.5 wn2 physical Intel Core 2 6420 @ 2.13GHz 2 wn3 virtualized Intel Xeon E5440 @ 2.83GHz 2 4 wn4 virtualized Intel Xeon E5440 @ 2.83GHz 2 4 wn5 virtualized Intel Xeon X3470 @ 2.93GHz 2 4

The grid used for performance testing consists of hardware not purchased specifically for this purpose, but of computer available to researchers of Istituto Superiore Mario Boella(ISMB). For this reason, its composition is heterogeneous in terms of the machines types (workstations, servers) and in terms of view of hardware resources of each machine (RAM, CPU, HD). Within the pool of available machines, two machines met the criteria for virtualization: on

execution and sends information about start and stop time of each process.

supports virtualization technology (Intel VT or AMD-V).

**4.2 Local Scheduler**

**4.3 Virtual environment**

**5. Test environment**

this kind of applications.

Table 1. Grid Nodes Specifications.

Fig. 7. Total execution time comparison between grid enviroment and sequential execution

these machines three VMs have been created. To run the tests six nodes with the following configuration have been used: a Master Node, two physical Worker Nodes (wn1, wn2) and three virtualized Worker Nodes (wn3, wn4, wn5). The details of the machines used for the experiment are shown in Table 1.

As a test-case a jet fighter aircraft (shown in Figure 1) has been discretized with a linear mesh density around 5 cm. The input file has a size of 17 MB and consists of about 156K unknowns. The plane is illuminated with a wave at the frequency of 600 MHz. The geometry has been subdivided into 67 blocks, each one described in a mesh file of about 7.5 MB. The first test performed was the execution of the entire process on a single physical machine. The node chosen for this test was the wn2: despite the smaller amount of RAM, the processing time of this machine is comparable to the average processing time of the other nodes. This node splits


Table 2. Nodes Execution Time.

e-science applications (electronic, geophysics, biomedical domains). In our past studies, a similar grid infrastructure has been created for the analysis of Radio Occultation data. This project for the Italian Space Agency (ASI), allows to characterize the temperature, pressure and humidity (further details are available at Terzo et al. (2011)). In this project we have focused the attention on configuration and management problems due to distributed environment, scheduling of processes and resources, virtualization and Cloud environment. Another type of application, where the Grid Computing technique can be useful is in bioinformatic field, i.e., biological laboratories are producing a huge amount of DNA/RNA sequencing data and Next Generation Sequencing has proved to be extremely helpful in making the detection of various forms of disease. Unfortunately, this is reflected in a higher computational effort that must be faced by innovative computing infrastructure but in this case an hybrid infrastructure, composed of physical and virtualized resources and when it is necessary a Public Cloud (i.e., Amazon), is the best choice. An important feature is the application type that must allow to split a process in a smaller independent jobs in order to elaborate each single job in several resources reducing the elaboration time and increase the

Grid Infrastructure for Domain Decomposition Methods in Computational ElectroMagnetics 265

The solution for CEM problems requires infrastructures based on high performance computing in order to reduce the execution time. However, it is not always possible to use supercomputers or parallelize algorithms code used for the calculation, a good solution may be represented by the Domain Decomposition technique, which allows the subdivision of the original complex problem into a set of smaller subproblems in a grid environment. In fact for this project, a grid infrastructure was carried out, that consists of 6 nodes (both physical and virtual). The results showed that the adoption of this infrastructure has reduced the execution time of 75% with respect to the sequential execution on a single machine. It was also noted that the overhead introduced by the grid is negligible when compared to the total execution time. The Virtualization has allowed optimizing the hardware resources of the machines, letting to run multiple blocks in parallel on the same physical machine, not introducing a significant overhead compared to the overall system performance. Studies are underway to improve the implementation of the scheduler, ensuring that blocks will be distributed to nodes most suitable for their execution. In particular, it will be developed a system that takes into account the weights of the jobs and the weights of the nodes available, assigned on the basis of predetermined criteria (e.g., file size, hardware resources, nodes availability, the average time of execution). The Scheduler will also be able to turn on and off virtual nodes according to the needs of the system, considering the load level of the grid. Furthermore the virtual nodes will be configured dynamically as needed to perform specific jobs (RAM, CPU and storage). A further improvement will be the integration of the system with Public Cloud Platforms (e.g., Amazon EC2) in order to increase the system scalability, asking for virtual nodes usage only

Andriulli, F., Vipiana, F. & Vecchi, G. (2008). *Hierarchical bases for non-hierarchic 3D triangular*

Asadzadeh, P., Buyya, R., Kei, C. L., Nayar, D. & Venugopal, S. (2005). *Global Grids*

*and Software Toolkits: A Study of Four Grid Middleware Technologies*, available:

*meshes*, IEEE Trans. on Antennas and Propagation.

http://www.buyya.com/papers/gmchapter.pdf.

system flexibility.

**6. Conclusion**

when necessary.

**7. References**

Fig. 8. Block execution time of each node compared to the same block executed in sequential mode (wn2-seq)

the main input into smaller chunks and ran the sequential execution of individual blocks: the total processing time for 67 blocks on wn2 was equal to 6h 56min 51s. In the second test the splitting was delegated to the Master Node, which has also been responsible for the distribution of the single blocks to different nodes. The execution time of the build process of the blocks and the file transfer is 2min 55s, and therefore it is negligible if compared to the total execution time. The execution times of different nodes are very similar, only the virtual machine wn5 has slightly better performance, probably due to the higher performance processor. The total execution time of the grid is equal to the maximum execution time of individual nodes, i.e., 1h 42min 19s of wn1. Table 2 summarizes the execution times. Figure 7 depicts total execution time comparison between grid environment and sequential execution on different nodes, on the grid and on sequential execution. The total time reduction is of 75%. Figure 7 shows the comparison between the processing times of individual nodes on the grid and the sequential execution: the colors of the column wn2-seq, correspond to the processing time of each node, through this comparison it can be appreciate the performance gain of the grid. In Figure 8 the comparison between the execution of individual blocks on the grid and in sequential mode is represented. The columns are divided into small parts that correspond to different executed blocks, each block is identified by a different color. The graph is useful for reasoning on the overhead introduced both by the grid and by the virtual machines. From the comparison between the execution of a group of blocks on the grid on a given node and sequentially on the same machine (i.e., the second pair of columns) it can be deduced that the grid introduces an overhead (equal to 2min 38s in this case) due to the transfer of files output, but negligible compared to the total execution time.

#### **5.1 Application domains overview**

More and more applications require high performance computing, flexibility and reduced processing time. The architecture explained before, can be useful in many fields i.e., in e-science applications (electronic, geophysics, biomedical domains). In our past studies, a similar grid infrastructure has been created for the analysis of Radio Occultation data. This project for the Italian Space Agency (ASI), allows to characterize the temperature, pressure and humidity (further details are available at Terzo et al. (2011)). In this project we have focused the attention on configuration and management problems due to distributed environment, scheduling of processes and resources, virtualization and Cloud environment. Another type of application, where the Grid Computing technique can be useful is in bioinformatic field, i.e., biological laboratories are producing a huge amount of DNA/RNA sequencing data and Next Generation Sequencing has proved to be extremely helpful in making the detection of various forms of disease. Unfortunately, this is reflected in a higher computational effort that must be faced by innovative computing infrastructure but in this case an hybrid infrastructure, composed of physical and virtualized resources and when it is necessary a Public Cloud (i.e., Amazon), is the best choice. An important feature is the application type that must allow to split a process in a smaller independent jobs in order to elaborate each single job in several resources reducing the elaboration time and increase the system flexibility.
