Software project




Pasi Aho

Henrik Härkönen

Miikka Lahti

Minna Rajala




Project Plan







University of Jyväskylä

Department of Mathematical Information Technology


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.


1      Introduction. 1

2      Terms. 1

3      Backgrounds and goals. 2

3.1       Company introduction. 2

3.2       Backgrounds. 2

3.3       Goals for the project and the software. 2

3.4       The educational goals of the project 5

4      Resources and toolkits. 5

4.1       Human resources. 5

4.2       Material resources. 6

5      Tasks and their division. 6

6      Time table. 7

7      Risks and their management 9

8      Conclusion. 9


1         Introduction

Nexus is a student software project to be carried out in the University of Jyväskylä during the spring 2002. The project implements a system of a distributed computational Grid for VTT Information Technology. The system will make use of Grid technology by using Globus Toolkit available freely from the Globus organization.

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.

2         Terms

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.

3         Backgrounds and goals

The chapter describes the backgrounds of the project, introduces VTT, the customer of the project and also represents the educational and software goals.

3.1        Company introduction

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.

3.2        Backgrounds

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.

3.3        Goals for the project and the software

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.

3.4        The educational goals of the project

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.

4         Resources and toolkits

The project uses human and material resources in order to be completed. These are described next.

4.1        Human resources

The implementers of the application are the following students at the University of Jyväskylä:

·        Pasi Aho

·        Henrik Härkönen

·        Miikka Lahti

·        Minna Rajala

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.

4.2        Material resources

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:




In the testing period the project will propably have access to the Mediapoli network at VTT and to Agora's computer classes.

5         Tasks and their division

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

6         Time table

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.


7         Risks and their management

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.

8         Conclusion

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.