NEXUS
Software
project
Pasi Aho
Henrik Härkönen
Miikka Lahti
Minna Rajala
Project Plan
18.3.2002
University
of Jyväskylä
Department
of Mathematical Information Technology
Abstract
The Nexus project implements a system of a distributed computational Grid for VTT Information Technology. This project plan describes the backgrounds, goals, resources, tasks, their division and the schedule of the project.
Contents
3.3 Goals for the project and the
software
3.4 The educational goals of the
project
The software project will collect information about distribution and explore when it is efficient to use decentralization in computational tasks. The practical application under consideration will calculate and visualize three-dimensional fractals using distributed computing. A monitor for analyzing the computational results with different sets of computers and data amounts will also be made.
The application contains four components: the
user interface, the fractal visualization, distribution of the fractal
calculation and a sniffer for measuring the efficiency of the distribution. The
client part includes the user interface and fractal visualization. From the
end-user point of view, the application will render fractal under consideration
on a screen and the user can rotate it or zoom the view and the fractal is then
recalculated. The fractal calculation is divided in specified amount of smaller
tasks and then shared with several computers connected as a network with Globus
framework. The results are sent back to the client machine as the calculation is
going on.
In addition to this project plan, separate
documents are written for measuring plan, application plan and a plan
considering the sniffer. The application plan includes the requirement
specifications and a reference to testing. The requirement specification
describes the required functionality for the system with more details. The
application plan describes the structure of the system and its operations from
general overview to the level of subroutines and it also portrays the graphical
user interface.
The work plan describes the backgrounds and the
goals of the project, as well as the resources available, the schedule and the
risks involved. The terms and abbreviations related to the project are
described in Chapter 2. Backgrounds and goals of the project are described in
Chapter 3. Chapter 4 presents the resources and the tools available while
Chapter 5 discusses how the specified tasks are shared with team members.
Chapter 6 contains the estimated timetable and Chapter 7 will describe the
possible risks and risk management.
This
chapter describes the terms that are used in this document and in the project.
Fractal is a rough or fragmented geometric shape that can be subdivided in parts, each of which is (at least approximately) a reduced-size copy of the whole. Basically, a fractal is any pattern that reveals greater complexity as it is enlarged.
Distributed and parallel computing means that a complex calculation task is
divided into smaller parts and executed on different machines at the same time.
DUROC (The Dynamically-Updated
Request Online Co-allocator) co-allocates multiple resources and manages
multiple GRAM jobs.
Grid is
a network for distributed computation.
Globus Toolkit is software for building computational grids and
grid-based applications.
GRAM (The
Globus Resource Allocation Manager) contains basic library service for the
Globus system. It connects Grid machines and provides a common interface so
that one can submit a job to multiple machines on the Grid.
GIS (The Grid Information Service)
provides information about the properties of the machines, computers and
networks in the Grid.
JAVA CoG Kit (Java-Commodity Grid Kit)
provides access to Grid services through the Java framework.
MDS (The Metacomputing
Directory Service) provides a framework for managing static and dynamic
information about the status of a computational grid and its components.
MPI (Message Passing Interface) is a
standard for writing message passing programs for parallel computers among
others.
MPICH-G2 is Grid-enabled
implementation of the MPI v1.1 standard.
Nexus is a portable
library providing the multithreaded communication facilities in parallel and
distributed computing environments.
RSL (The Globus Resource
Specification) provides a common language to describe jobs and the resources
required to run them.
The chapter
describes the backgrounds of the project, introduces VTT, the customer of the
project and also represents the educational and software goals.
The customer
of the project is VTT Information Technology. It is located in Espoo and it is
one of the nine research units of VTT, Technical Research Centre of Finland. It
co-operates with several companies and public organizations and has also
research projects of its own.
Research
and development fields of VTT Information Technology include semiconductor
technology, microsensing and microelectronics, wireless data transfer,
networks, network modeling and platforms, information systems, media
technologies and human interaction technologies.
Representative
for the customer is Mika Pennanen, who works at VTT in communications
workgroup. Timo Kyntäjä acts as a leader for the workgroup. Pennanen is also
among other things involved in EU Project called VESPER that is focused on
researching mobile agents in virtual home environments.
In a Grid system the computational and database environments are usually
connected to one unit. The user doesn’t have to concern about where the data
lies and on what server the jobs are executed. In parallel computing it is
possible to use several CPUs in execution of a program. This normally leads to
great improvements in execution time.
Lately more efforts have been directed to the research of the Grid
technology. This is due to the fact that cluster techniques have become more
common and network throughput has grown. Grid technology also provides free
resources around the globe. Over the last years, the increase in computing
power has made it possible to approach computational problems from completely
different angle.
Increased computational power offers new opportunities for following
areas among others:
·
energy
technologies,
·
paper
technologies,
·
weather
forecasting and climate modeling,
·
mariner
research,
·
computational
chemistry,
·
biocomputing,
·
fluid
dynamics,
·
strength
calculation as well as
·
language
engineering.
Using and
researching Grid technology has become more common during last years. In
Finland, CSC - Scientific Computing Ltd has made the biggest efforts in
researching the use of Grid technology. Also VTT has been researching Grid and
they suggested a student software project for the University of Jyväskylä
together with this research. VTT has had good experiences from previous
customerships with JyU student software projects. Their objective is also to
increase the knowledge related to Grid at VTT and at the Department of
Mathematical Information Technology.
The project
will implement a distributed computing environment using Grid technology. The
project's purpose is to provide research information about when it is efficient
to use distribution of computational tasks. The project implements a measuring
software to analyze differences in time with different number of computers as
well as data amounts, memory, bandwidth, latency and the load of the network.
The
cost-efficiency of decentralization is monitored with an application that
requires demanding calculation. Possible choices for the application could be
fluid dynamics or fractal calculation or something else that produces
three-dimensional objects. From these, decision was made that the project would
implement an application that draws three-dimensional fractals because it
seemed to be the most interesting subject from the three mentioned above. The
fractals to be considered are four dimensional quaternion Julian sets, which
are presented in three dimensions. Application may draw several fractals on the
same time, but they are all calculated with the same parameters. This means
that the fractals under consideration are the same.
On the user
interface it is possible to choose an area on which the fractal is calculated,
the number of iterations and the rotation angles. It is also possible to
determine the number of fractals that will be drawn and the machines that are
used to calculate each fractal. The user interface also visualizes the
measuring results related to distribution for the user.
The project
will use the Globus Toolkit for distribution. The structure of the distributed
system is described in the Figure 1.
Figure 1. The structure of the system.
In the system there will be one client machine whose operating system is Windows 2000. It contains the user interface, the JavaCoG and the fractal visualization. When the application starts it contacts the MDS server to find out the available Grid machines on which the calculation can be done. On each calculating machine there will be a Gram component that is responsible for communicating with the client and submitting the calculation job. The calculation will be coded using MPI. In the distributed system there will be also the DUROC component that handles the situations where one fractal is chosen to be calculated with more than one machine.
The
educational goals of this project are to learn the elements of teamwork and
communication inside a project organization. They also include how to search
for information, how to solve problems and to write proper documentation.
The project
uses human and material resources in order to be completed. These are described
next.
The
implementers of the application are the following students at the University of
Jyväskylä:
·
Pasi Aho (pasiaho@cc.jyu.fi),
·
Henrik
Härkönen (radix@cc.jyu.fi),
·
Miikka Lahti
(miilahti@cc.jyu.fi) and
·
Minna Rajala
(minnara@cc.jyu.fi).
The representative for the VTT
Information Technology is Mika Pennanen. The supervisor on charge of the
project is Jukka-Pekka Santanen from the Department of Mathematical Information
Technology. Mikko Vapa from the Department of Mathematical Information
Technology and Tomi Suviola from the Department of Mathematics and Statistics
act as technical advisors.
The
Department of Mathematical Information Technology has provided for the project
one lockable workroom, a Windows 2000 work station, three Linux Red Hat
workstations and office supplies. It also has supplied JBuilder software. The
Globus Toolkit, Java 3D and Java CoG have been downloaded from the Web from the
following addresses:
·
Globus Toolkit:
http://www.globus.org/toolkit/download
·
Java CoG: http://www.globus.org/cog/java/software.html
·
Java3D: http://java.sun.com/products/javamedia/3D/download.html
In the
testing period the project will propably have access to the Mediapoli network
at VTT and to Agora's computer classes.
The project
consists of the following tasks:
·
project
manager Pasi
·
documentation Henrik, Miikka,
Minna, Pasi
·
presentations Henrik,
Miikka, Minna, Pasi
·
fractal
computing Miikka
·
visualization
Miikka
·
distribution
/ Java CoG Henrik,
Minna, Pasi
·
user
interface Minna,
Pasi
·
sniffer Henrik,
Minna, Pasi
·
testing Henrik,
Miikka, Minna, Pasi
·
measuring
the distribution Henrik,
Miikka, Minna, Pasi
The project
group will provide the results to the customer by the following dates:
18.3. Project plan
22.3. Application plan
including the requirement specification
8.4.
The
sniffer plan
22.4. The measuring plan
29.4. Distributed
application
13.5. The measuring
results
15.5. Project report,
application report and manual
Mika Pennanen is on a vacation during the following dates:
23.3. - 6.4. and
27.4. - 2.5.
He also has one more week of vacation during
the spring.
Figure 2. The estimated timetable of the project.
All the
members of the project are unfamiliar with the subject of the project. This
makes it more difficult to plan the schedule of the project as well as the
system and its software. So there is a
risk that the time used for each task is underestimated. To handle these
problems the project group may have to redefine the schedule. The group will
also consult the technical advisors and study the subject.
Using new
technologies like Globus may slow down the process and cause some problems.
Because of this it may be useful to do some tests with Globus. One risk is also
the possible problems with the hardware like crash of the hard disks. This can
be avoided by taking backups of the important files.
The group
have not been involved with a project this large before. This may cause
incorrect estimations and inaccurate task sharing. To avoid this the schedule
of the project and the task sharing must be planned carefully and enough time
have to be reserved for each task.
The
potential illnesses, travels, other studies and working might also slow down
the project. These risks must be taken into consideration and plan the schedule
accordingly. It might also be necessary to redivide the tasks.
If there
are encountered risks that may slow down the project essentially the customer
of the project must be informed. In situations like this the necessary
proceedings will be discussed with the representative of the customer.
Nexus
group implements a distributional parallel computing using Globus Toolkit for
VTT Information Technology. The application visualizes three-dimensional
fractals and distributes the calculation of them. A sniffer for
measuring the cost-efficiency of the distribution is also implemented.