![]() |
University of Nizhni NovgorodFaculty of Computational Mathematics & Cybernetics
|
![]() |
Laboratory Works with the
use of the system ParaLab
The software system
Parallel Laboratory (ParaLab) provides the possibility of carrying out
computational experiments for studying and researching the parallel algorithms
of solving complicated computational problems. The system may be used for
organizing a set of laboratory works on various courses in the area of parallel
programming. ParaLab may be also used to conduct research into estimating the
efficiency of parallel computations.
For those who only
start to study the problem of parallel computations, the system ParaLab is very
useful, as it allows them to master the parallel programming methods.
Experienced users may use the system in order to estimate the efficiency of new
parallel algorithms, which are being developed.
The laboratory
works with the use of ParaLab may be organized for the execution of the
following exercises:
·
Modeling multiprocessor systems (choosing the network
topology, setting the number of processors and their performance, choosing the
data communication method and setting the network parameters),
·
Stating the problems to be solved and setting the
problem parameters.
·
Choosing the parallel method for solving the problem
and setting the method parameters,
·
Setting the graphic indicators for visualizing the
process of parallel computations (the state of processor data, data communications
between processors, the current estimation of the problem solution),
·
Carrying out the computational experiments in simulation
mode (sequential or step–by-step calculations, series of experiments, several
experiments in time sharing mode),
·
Analyzing the experiment results accumulated in the
experiment log (efficiency of parallel computations with respect to the problem
size of the number of processors),
·
Carrying out the experiment in real parallel
computation mode (remote access to multiprocessor system (cluster); the
comparison of the theoretical estimation and the real experimental results).
The laboratory
works carried out with the use of the system ParaLab may be implemented
according to the following scheme:
·
A student simulates a multiprocessor system, then solves
a problem by means of several parallel methods, compares the results and
interprets them according to the theory of parallel algorithm development,
·
A student simulates several multiprocessor systems in
order to demonstrate main theoretical concepts of parallel computations,
·
A student simulates one or several multiprocessor
systems and solves problems under
various values of the system parameters, thus studying the influence of the
parameters on the time characteristics of the algorithm,
·
A student
carries out real computational experiments in the mode of remote access to the cluster
and compares the results of the real and simulation experiments.
In practical use of
the system ParaLab in training students the following scheme for carrying out
laboratory works can be recommended.
1. Introduction to the system
ParaLab
Lab 1. Getting
started
Main commands of
the system. Using help.
Lab 2. Simulating
a multiprocessor system
Choosing the network
topology. Setting the number of processors and their performance. Setting the network
parameters: latency and bandwidth. Choosing the data communication method.
2. Studying
the parallel methods
Lab 3. Studying
the parallel sorting methods
Carrying the
computational experiments with the bubble sort on multiprocessor systems of
various topologies. Studying the algorithm time characteristics. The comparison
of the bubble sort algorithm and the Shell sort algorithm. Studying the quick
sorting algorithm. The comparison of the time characteristics and the number of
iterations for all the sort methods to be studied.
·
The experimentation with the graphic forms of the system
ParaLab for visualizing the process of the experiment execution (demonstration
rate, visualization method of data communications, step-by-step mode of the
algorithm iteration execution, demonstrating the processor calculations).
Lab 4. Studying
the parallel matrix multiplication methods
Carrying out the
computational experiments with the block-striped matrix multiplication method.
Studying the Fox and Cannon methods. The comparison of the experimental results
accumulated in the experiment log.
Lab 5. Studying
the parallel graph calculation methods
Studying the means of
the system ParaLab for manipulating with graphs (generating, editing, saving,
loading, etc.). Carrying out the computational experiments with the use of the Prim
algorithm to search the minimum spanning tree and the Dijkstra algorithm for finding the shortest paths.
3. Matching the simulation and real parallel calculations
Lab 6. Carrying
out the real parallel experiments
Carrying out the several
experiments with one of the problems in the mode of remote access to the
computational cluster. Evaluating the dependencies of time characteristics of
the experiment execution with respect to the problem size and the number of
processors.
Lab 7. Making
a comparison of the real and simulation experimental results
Carrying out the several
experiments in the simulation mode and the mode of real parallel computations.
The comparison of the experimental results. Estimating the parameters of the multiprocessor
system for the simulation experiment, which provide the maximum closeness of
the results of the simulation and real parallel experiments.