Proceedings of COBEM 2005 18th International Congress of Mechanical Engineering
Copyright © 2005 by ABCM November 6-11, 2005, Ouro Preto, MG
PARALLEL SOLUTION ON A PC CLUSTER AND BEHAVIOR ANALYSIS
OF BI AND THREE-DIMENSIONAL STRUCTURAL PROBLEMS
UTILIZING THE FINITE ELEMENT METHOD
Flávia Romano Villa Verde
Departament of Mechanical Engineering, University of Brasilia Campus Universitário Darcy Ribeiro CEP 70910-900 Brasília - DF
flaviarvv@gmail.com
Gerson Henrique Pfitscher
Departament of Computer Science, University of Brasilia Campus Universitário Darcy Ribeiro CEP 70910-900 Brasília - DF
gerson@unb.br
Dianne Magalhães Viana
Departament of Mechanical Engineering, University of Brasilia Campus Universitário Darcy Ribeiro CEP 70910-900 Brasília - DF
diannemv@unb.br
Abstract. Large and complex engineering problems often need too much computing time and storage to run on single
processor computers. Even if they can be solved, more powerful computing capabilities are required to obtain more
accurate and reliable results within reasonable time. Parallel processing, the method of having many small tasks to
solve one large problem, successfully fulfill such requirements for high-performance computing. We evaluate and
compare the performance of two communication libraries, mpich-1.2.5 and pvm3.4.4, on a Linux PCs cluster
connected by a gigabit Ethernet network, solving two structural problems applied to linear elasticity, utilizing the
Finite Element Method for modeling and the Conjugate Gradient Method for the solution of the system equations. This
appears to be a viable low cost option, since we utilize already consolidated technologies, with open architecture and
public domain softwares. In this work, the mesh generation was done using the program GiD as a preprocessor. For
mesh partition, the software package METIS was employed, and the visualization of the partitions was aided by the
PMVis program. This article summarizes some numerical simulation results, and the behavior analysis for the two
codes developed changing both the mesh granularity and the number of processors.
Keywords: Cluster computing, Beowulf clusters, communication libraries, domain decomposition, finite element
method, conjugate gradient method
1. Introduction
Researchers always need higher processing speed and more memory in order to investigate increasingly complex
problems. Distributed parallel computing can be very cost effective when commodity workstations and PCs are used as
the computing platforms. A cluster is a set of interconnected machines, used as a single computational resource.
Essentially, any group of systems networked together and dedicated to a single purpose can be called a cluster. The
difference between a cluster and a group of networked workstations is that the machines in a cluster function as a unit.
Individual programs run either on the whole cluster or on some subset of the cluster machines. A Beowulf Cluster is
composed of commodity off the shelf (COTS) PC machines all running the Linux operating system. The individual
computers that make up a cluster are called nodes. Because the Beowulf cluster has multiple processors (CPU’s),
usually 1 or 2 per node, it has to be programmed in parallel.
PC clusters now offer solution for affordable supercomputing. The role of traditional supercomputers (like CRAY)
was once taken over by workstations. Now the huge PC market allowed unprecedented dynamics of PC hardware
evolution. Good PC offers far the best price/performance ratio unavailable with any workstation. Today’s networking
technology made PC clusters feasible computing tool and allowed them to beat other technologies also in absolute
numbers (Ong and Farrel, 2000). Due to the increase in network hardware speed and the availability of low cost high
performance workstations, cluster computing has become increasingly popular. Many research institutes, universities,
and industrial sites around the world have started to purchase/build low cost clusters, such as Linux Beowulf-class
clusters, for their parallel processing needs at a fraction of the price of mainframes or supercomputers (Kim and Kim,
1997), (Ong and Farrel, 2000). In November 2004, more than 58% of the 500 most powerful computer systems installed
in the world were clusters. In November 2003 they were more than 41% (TOP500, 2004).
Large and complex engineering problems often need too much computing time and storage to run on ordinary single
processor computers. Even if they can be solved, more powerful computing capability is required to obtain more
accurate and reliable results within reasonable time. Parallel processing, the method of having many small tasks solve
one large problem, successfully fulfilled such requirements for high-performance computing. Various types of parallel
hardware architectures have been developed and parallel algorithms adapted to these hardware architectures have been
suggested (Kumar, Grama, Gupta and Karypis, 2003), (Dongarra et al., 2003), (Hughes and Hughes, 2004).