[IEEE 2009 6th International Conference on Electrical Engineering/Electronics, Computer,...

4
Optimizing HPC and Parallelization for Computation Nanotechnology in MCCS Environment Rohit Pathak 1 , Satyadhar Joshi 2 , Salman Ahmed 2 , Durgesh Mishra 1 1 Acropolis Institute of Technology & Research, Indore, M.P., India 2 Shri Vaishnav Institute of Technology & Science, Indore, M.P., India [email protected], [email protected], [email protected], [email protected] Abstract- The essence of High performance computing (HPC) in the field of Nanotechnology and problems encountered by HPC arrangement in applying HPC to Nano-enabled calculations have been presented in the paper. A proposal to optimize computations in an HPC setup and distribution of work in various clusters has been formulated to make Nanotechnology computations more effective and realistic on a Windows Cluster Server based framework. Results and findings in the expected setup and the computation complexities that will be needed in its implementation have been suggested with an algorithm to take advantage of inbuilt powerful parallelization and distribution capabilities of Windows Server 2003 Compute Cluster Edition making large scale simulation possible. Connection of four nodes with the help of Microsoft Compute Cluster Server 2003 (MCCS 2003) has been carried out and algorithms were constructed in C# using Visual Studio IDE. In addition to the .NET Framework, Extreme Optimization Numerical Library for .NET has been used for performing high speed mathematical calculations. MPI .NET library has been employed to build parallel algorithms and breaking of computations into small tasks. Microsoft’s implementation of Message Passing Interface (MPI) included in MCCS was used for running computation application tests. Implementation of HPC in measuring reliability of Nanotechnology-based devices and computations of certain complex techniques in Nanotechnology is presented with a significant improvement in performance as compared to the last work which was implemented using distributive computing toolbox in MATLAB. Besides its use in large-scale computations, C# also offers more control over programming, runtime and execution of the application. A description of the progress in this area of research, future works and an extended approach in the same field is shown. Keywords- High Performance Computing (HPC), Nanotechnology, Cluster computing, Distributive Computing, Microsoft Compute Cluster Server (MCCS), MPI. I. INTRODUCTION Nanotechnology is the realization and control of matter at dimensions of roughly 1 to 100 nanometers, where unique phenomena enable novel applications. Encompassing nano- scale science, engineering and technology with an involvement of nanotechnology in imaging, measuring, modeling, and manipulating matter at this length scale. Computation, modeling and simulation today play an equal role to theory and physical experimentation in discovery-driven engineering research [5]. Using the most advanced high-performance computing resources and a well worked out algorithm for innovating technology and reducing design-cycle time and reliability [7]. Compiling advanced calculations on Carbon Nanotube (CNT) [6], Micro-electromechanical systems (MEMS) and Nanofabrication and computations on characterization of CNT, calculation of various properties of CNT, integration of CNT with MEMS, nanocomposites of CNT and reliability of CNT based devices which need advanced calculations has been worked out in this paper. Introduction of a single atom or molecule in the chemical structure of CNT can change the entire configuration of the device manufactured from nano-materials. Incessant updates in existing theories in each of these areas make the study of computational Nanotechnology more arduous and demanding as persistent revision of knowledge in the domain of nanotechnology has become mandatory. II. RESOURCES C# and Visual Studio are used as tools for this work with development and runtime environment shown in Figure 1 and Figure 2 respectively. Some of the software resources of the development of this project are: Figure 1. Our Development Environment Figure 2. Our Runtime Environment Microsoft Windows Cluster Server 2003 Microsoft Compute Cluster Microsoft .NET Common Language Runtime .NET Framework MPI.NET Microsoft MPI Microsoft Windows Cluster Server 2003 Environment Microsoft Visual Studio 2005 Integrated Development Environment C# Programming Language .NET Framework Extreme Optimization Numerical Library MPI.NET Library 978-1-4244-3388-9/09/$25.00 ©2009 IEEE

Transcript of [IEEE 2009 6th International Conference on Electrical Engineering/Electronics, Computer,...

Page 1: [IEEE 2009 6th International Conference on Electrical Engineering/Electronics, Computer, Telecommunications and Information Technology (ECTI-CON) - Chonburi, Thailand (2009.05.6-2009.05.9)]

Optimizing HPC and Parallelization for Computation Nanotechnology in MCCS Environment

Rohit Pathak1, Satyadhar Joshi2, Salman Ahmed2, Durgesh Mishra1

1Acropolis Institute of Technology & Research, Indore, M.P., India 2Shri Vaishnav Institute of Technology & Science, Indore, M.P., India

[email protected], [email protected], [email protected], [email protected]

Abstract- The essence of High performance computing (HPC)

in the field of Nanotechnology and problems encountered by HPC arrangement in applying HPC to Nano-enabled calculations have been presented in the paper. A proposal to optimize computations in an HPC setup and distribution of work in various clusters has been formulated to make Nanotechnology computations more effective and realistic on a Windows Cluster Server based framework. Results and findings in the expected setup and the computation complexities that will be needed in its implementation have been suggested with an algorithm to take advantage of inbuilt powerful parallelization and distribution capabilities of Windows Server 2003 Compute Cluster Edition making large scale simulation possible. Connection of four nodes with the help of Microsoft Compute Cluster Server 2003 (MCCS 2003) has been carried out and algorithms were constructed in C# using Visual Studio IDE. In addition to the .NET Framework, Extreme Optimization Numerical Library for .NET has been used for performing high speed mathematical calculations. MPI .NET library has been employed to build parallel algorithms and breaking of computations into small tasks. Microsoft’s implementation of Message Passing Interface (MPI) included in MCCS was used for running computation application tests. Implementation of HPC in measuring reliability of Nanotechnology-based devices and computations of certain complex techniques in Nanotechnology is presented with a significant improvement in performance as compared to the last work which was implemented using distributive computing toolbox in MATLAB. Besides its use in large-scale computations, C# also offers more control over programming, runtime and execution of the application. A description of the progress in this area of research, future works and an extended approach in the same field is shown.

Keywords- High Performance Computing (HPC), Nanotechnology, Cluster computing, Distributive Computing, Microsoft Compute Cluster Server (MCCS), MPI.

I. INTRODUCTION

Nanotechnology is the realization and control of matter at dimensions of roughly 1 to 100 nanometers, where unique phenomena enable novel applications. Encompassing nano-scale science, engineering and technology with an involvement of nanotechnology in imaging, measuring, modeling, and manipulating matter at this length scale. Computation, modeling and simulation today play an equal role to theory and physical experimentation in discovery-driven engineering research [5]. Using the most advanced high-performance computing resources and a well worked out algorithm for innovating technology and reducing design-cycle time and reliability [7]. Compiling advanced calculations on Carbon

Nanotube (CNT) [6], Micro-electromechanical systems (MEMS) and Nanofabrication and computations on characterization of CNT, calculation of various properties of CNT, integration of CNT with MEMS, nanocomposites of CNT and reliability of CNT based devices which need advanced calculations has been worked out in this paper. Introduction of a single atom or molecule in the chemical structure of CNT can change the entire configuration of the device manufactured from nano-materials. Incessant updates in existing theories in each of these areas make the study of computational Nanotechnology more arduous and demanding as persistent revision of knowledge in the domain of nanotechnology has become mandatory.

II. RESOURCES

C# and Visual Studio are used as tools for this work with development and runtime environment shown in Figure 1 and Figure 2 respectively. Some of the software resources of the development of this project are:

Figure 1. Our Development Environment

Figure 2. Our Runtime Environment

Microsoft Windows Cluster Server 2003

Microsoft Compute Cluster

Microsoft .NET Common Language

Runtime

.NET Framework

MPI.NET Microsoft MPI

Microsoft Windows Cluster Server 2003 Environment

Microsoft Visual Studio 2005 Integrated Development Environment

C# Programming Language

.NET Framework

Extreme Optimization Numerical Library

MPI.NET Library

978-1-4244-3388-9/09/$25.00 ©2009 IEEE

Page 2: [IEEE 2009 6th International Conference on Electrical Engineering/Electronics, Computer, Telecommunications and Information Technology (ECTI-CON) - Chonburi, Thailand (2009.05.6-2009.05.9)]

In our previous work we had done Reliability Analysis of MEMS devices using MATLAB’s distributive computing toolbox [1] and later we analysed different MPI and PVM based HPC setups for multi-scale modeling [13].

III. LIBRARY

C# is used as a primary language for software development in this project. A library for computations of nanotechnology from micro to macro level is proposed. The library consists of functions and tools for computations of nanotechnology which will make optimal use of cluster for best performance as shown in Figure 3 [2 - 4].

Figure 3. Job creations, scheduling and execution for computation

nanotechnology

A library is written using the .NET Framework which executes in Common Language Runtime (CLR) and is a part of the .NET Framework. CLR is a software environment that manages the program's execution and runtime requirements along with many important services such as security, memory management, and exception handling. CLR creates a virtual machine for the applications to execute which increases portability by removing the need for considering the capabilities of hardware that executes the code. MCCS allows easy management of clusters. With MCCS a divide and distribute of work load between different nodes in a desired manner [2, 3 can be achieved]. The calculations are broken into small jobs and several small jobs are created which perform a specific part of the whole calculation. Then these jobs are distributed among cluster nodes. The jobs are scheduled to be executed on nodes. After the whole execution process the final result is compiled from the results of all the nodes. Library presented in this paper uses MPI for programming parallel computers as MPI offers a language-independent communications protocol for point-to-point and collective communication. Other than Parallel Virtual Machine (PVM), MPI is one of the most dominant models used in high-performance computing today. A four node cluster is shown in Figure 4 which shows various network connections existing between the nodes.

Graphics engine of the library is programmed using Microsoft’s XNA Framework which offers an extensive set of

class libraries used for 3D application and game development. Common Language Runtime (CLR) provides a managed execution environment for XNA applications to run, which is available for Windows XP, Windows Vista, and Xbox 360, likewise these applications can run on any platform on which environment is available, with little or no modification.

Figure 4. MPI implementation on a four node Cluster

Modeling Library- This is the main library for modeling of

CNT, MEMS and other Nano-scale devices and materials. A model in nano-technology is a physical, mathematical, or logical representation of a system of entities, phenomena, or processes occurring at nano level. Basically a model is a simplified abstract view of the complex reality. It consists of modules and functions which will allow easy designing of many complex Nano-scale devices. It allows making of formalized interpretations dealing with empirical entities, phenomenon, and physical processes occurring at nano level in a mathematical or logical way. It is based on "divide and conquer" principle to handle complex problems. XNA framework is used for graphical programming required in this library. This library allows to view models in a 3-Dimensional view and to change parameters of the device or material with an interactive Graphical User Interface (GUI). It allows the visualization of 3D models of devices and their structure according to the specified parameter of the device or material, which further helps in understanding of the device.

Simulation Library-This is the main library for simulation of CNT, MEMS and other nano-scale devices and materials. It attempts to simulate an abstract model of a particular nano level system. An external math library is used for complex computations involved in simulation and computations of nano-scale phenomenon. This library is used along with modeling library to simulate the devices and materials made using the modeling library.

Reliability Library-This is the main library for reliability analysis of CNT, MEMS and other nano-scale devices and materials. It computes the ability of a system or component to perform its required functions under stated conditions for a

Page 3: [IEEE 2009 6th International Conference on Electrical Engineering/Electronics, Computer, Telecommunications and Information Technology (ECTI-CON) - Chonburi, Thailand (2009.05.6-2009.05.9)]

specified period of time, which is often reported in terms of a probability. Calculation of reliability of nano-scale devices and materials will help us predict their life span and the time period in which their functioning will be proper. We have a few examples here illustrating reliability computations in Nanotechnology. In [10] author has demonstrated physical models elucidating several facets of device degradation at the nanoscale. It has been substantiated that various qualitative differences must be taken into consideration as devices for scaling of devices into the nano realm. The computations required can be exemplified by these two formulae that follow. A simplified version of the percolation model [8, 9] for nanoscale device damage modeling gives us a failure function of the form

2

( ) 1 1 ( )

axox

At aaF t f t

⎛ ⎞= − −⎜ ⎟

⎝ ⎠

Where, ( )f t is the defect density generated in block of dimension a , oxt and axA are the oxide thickness and area respectively. And, the rate of defect creation for nano-scale devices has been calculated [10] assuming the defect creation events are independent and that single electrons are responsible for a bond-breaking event. The rate equation for defect creation is of the first order in the number of defects and its solution is given as:

( ) 1 exp tN tτ⎛ ⎞= − ⎜ ⎟⎝ ⎠

Where, N is the number of defects and τ is the lifetime for the creation of a defect. The above formulae explicate the need for HPC. Modeling of materials and devices can be done using the modeling library, simulate them using the simulation library, and then we can compute the reliability of the device. The reliability depends upon many parameters such as environmental conditions etc. and the library will calculate and analyze the reliability for the provided parameters and specifications of the device.

IV. MULTI-SCALE MODELING

We have calculated electro-static potential and pressure equation by using extreme optimization numerical library. The calculations are distributed in 4 nodes as shown in figure 7. And in [12] quantum realm we have the following examples to expound our modus operandi. As a particular example, the quantum correction potential Qψ can be articulated as a simple analytical function of the distance z from the surface and given as

14Qbb

zψ β ⎛ ⎞= −⎜ ⎟

⎝ ⎠

where 1/32 *

2

12 1132depl inv

q mb N Nε

⎛ ⎞⎛ ⎞= +⎜ ⎟⎜ ⎟⎝ ⎠⎝ ⎠

and the terms in

b are defined as, q is the elementary charge, *m is the

electron effective mass, ε is the dielectric constant of Si, is the reduced Planck constant, deplN is the sheet density of the

fixed charges in the depletion region, and invN is the sheet density of the inversion electrons. The energy gap for semiconducting carbon nanotubes [11] gapE is formulated as

2 cc ccgap

CNT

E aEd

=

where CNTd is the carbon nanotube diameter, ccE is the

carbon-to-carbon tight-binding overlap energy and cca is the nearest-neighbour carbon-to-carbon distance ( 0.142cca = nm).

Model for elementary computation Electrostatic Potential

Electrostatic potential is defined in terms of electric field E as:

E CE dφ = − ⋅∫

Where: Eφ is the electrostatic potential at the point under consideration,

C is an arbitrary path connecting the point with zero potential to the point under consideration, and E is the magnitude of electric field at that point.

Kinetic theory of gases

Expression for the pressure 2

3rmsNmvP

V=

Where: N is the number of molecules,

m is the molecular mass, vrms is the root-mean-square velocity of the collection of particles, and V is the volume of the gas. Given below is the MPI Code

using (new MPI.Environment(ref args)) { Communicator comm = Communicator.world; Console.WriteLine("Check from process " + comm.Rank); switch(comm.Rank ) { case 0: double Nm=10, v=10, V=10; Console.WriteLine("Process " + comm.Rank + " status: calculating pressure"); Console.WriteLine("Process " + comm.Rank + " status: " + "The pressure for Nm=" + Nm + " , v=" + v + " , V=" + V + " , is: " + pressure(Nm, v, V)); break; case 1:

Page 4: [IEEE 2009 6th International Conference on Electrical Engineering/Electronics, Computer, Telecommunications and Information Technology (ECTI-CON) - Chonburi, Thailand (2009.05.6-2009.05.9)]

Console.WriteLine("Process " + comm.Rank + " status: calculating electric field"); Console.WriteLine("Process " + comm.Rank + " status:" + "The e for k=10 is: " + ep(1, 1, 2, 20)); break; default: Console.WriteLine("Process " + comm.Rank + " status: Idle"); break; } comm.Barrier(); /*All processes join here*/ /*All processes completed*/ if (comm.Rank == 0) { Console.WriteLine("All processes finished"); } }/* End of MPI Environment namespace */ Maths functions being carried by Extreme optimization numerical library.

// Pressure of a gas //Kinetic theory of gases static double pressure(double Nm, double v, double V) { double p; p = (Nm * (Math.Pow(v, 2)) ) / (3 * V); return p; } static double elec(double x) { x = 1/( Math.Pow(x, 2)); return x; } //Electric potential static double ep(double x, double k, double limLow, double limHigh) { double e, i, result; RealFunction f = new RealFunction(elec); SimpsonIntegrator simpson = new SimpsonIntegrator(); simpson.RelativeTolerance = 1e-5; result = simpson.Integrate(f, limLow, limHigh); i = simpson.Result; e = (-1) * k * i; return e; }

Figure 5. Executing the MPI.NET application for multiscale-computations

The output of the above code is shown in Figure 5 which illustrates the result when the work is distributed between four processes. Thus based on the other work is being carried.

CONCLUSION

HPC can accelerate research in Nanotechnology by optimizing the distribution of computations and taking advantage of the developments in Windows Server 2003 Compute Cluster Edition. Algorithms made in C#, delivering performance in demand has been explained with .NET framework offering a rich set of library classes and functions that helped to initiate work. With the help of Extreme Optimization Numerical Library some of the most complex calculations of Nanotechnology is explained with numerical library offering high speed calculations along with reliability. MPI .NET offers a great set of classes and functions which were used for making high speed parallel and distributed algorithms as MPI can help to break the calculation and distribute it in a cluster setup. Microsoft MPI which is a part of MCCS was used for performing the computations. The integration of other tools from Visual Studio software suite makes the complex Nano technological calculations easier to operate on, the execution is faster and there is lesser response time in getting the output result. Connection and allocation of the problems in a HPC setup with a description of our library and conceivable future developments have been explained elaborately.

REFERENCES [1] Rohit Pathak, Satyadhar Joshi, D. K. Mishra, “Distributive Computing

for Reliability Analysis of MEMS Devices using MATLAB” Proc. ACM International Conference on Computing, Communication and Control-09, 2009, 23-24 Jan. 2009.

[2] Windows Compute Cluster Server 2003 Administrators Guide, http://www.microsoft.com/hpc/en/us/default.aspx.

[3] Windows Compute Cluster Server 2003 Users Guide, http://www.microsoft.com/hpc/en/us/default.aspx.

[4] Windows Compute Cluster Server 2003 Datasheet, http://www.microsoft.com/hpc/techresources/default.mspx.

[5] Chelikowsky, J.R., Ratner, M.A., “Nanoscience, nanotechnology, and modeling,” Proc. Computing in Science & Engineering, Vol. 3, Issue 4 pp. 40-41, Jul/Aug 2001.

[6] Srivastava, D.; Menon, M.; Kyeongjae Cho, “Computational nanotechnology with carbon nanotubes and fullerenes,” Proc. Computing in Science & Engineering, Vol. 3, Issue 4, pp. 42 – 55, Jul./Aug. 2001.

[7] McMahon, W., Haggag, A., Hess, K., “Reliability scaling issues for nanoscale devices,” IEEE Transactions on Nanotechnology, Vol. 2, Issue 1, pp. 33- 38, Mar. 2003.

[8] R. Degraeve, G. Groeseneken, R. Bellens, J. L. Ogier, M. Depas, P. J. Roussel, and H. E.Maes, “New insights in the relation between electron trap generation and the statistical properties of oxide breakdown,” IEEE Trans. Electron Devices, Vol. 45, pp. 904–911, Apr. 1998.

[9] J. H. Stathis, “Percolation model for gate oxide breakdown,” J. Appl. Phys., Vol. 86, no. 10, pp. 5757–5766, Nov., 1999.

[10] McMahon, W.; Haggag, A.; Hess, K., “Reliability scaling issues for nanoscale devices,” IEEE Transactions on Nanotechnology, Vol. 2, Issue 1, pp. 33 – 38, Mar. 2003, DOI=10.1109/TNANO.2003.808515.

[11] Lyshevski, M.A., “Carbon nanotubes analysis, classification and characterization,” Proc. 4th IEEE Conference on Nanotechnology, 2004, pp. 527- 529, 16-19 Aug. 2004, DOI=10.1109/NANO.2004.1392408.

[12] Sano, N.; Hiroki, A.; Matsuzawa, K., “Device modeling and simulations toward sub-10 nm semiconductordevices, ” IEEE Transactions on Nanotechnology, Vol. 1, Issue 1, pp. 63 – 71, Mar. 2002, DOI=10.1109/TNANO.2002.1005427.

[13] Satyadhar Joshi, Rohit Pathak, D.K. Mishra, “MPI & PVM based HPC setup for Multi-scale Modeling,” Proc. IEEE International Advance Computing Conference, IACC’09, 6-7 Mar. 2009.