\section {Institute for Applied Computer Science and Information Systems,
	  University of Vienna}


The main research topics in the parallel processing field are:

\begin{itemize}
\item performance evaluation of multiprocessor systems
\item process to processor mapping and process scheduling
\item development environments and methodology for parallel software
\item parallel and distributed simulation
\item neural network models and their simulation on parallel hardware
\end{itemize}

The term performance evaluation covers all aspects of using multiprocessor
hardware to gain efficiency. A special focus is on performance modelling based
on timed Petri nets (deterministic and stochastic). Such models are used to
characterize the factors influencing the performance of working parallel
systems (e.g. algorithms for parallel programs, hardware descriptions, process
to processor mapping etc.) and are solved either analytically or by
simulation.  Performance indices derived by the model evaluation are used to
analyze the efficiency of parallel programs, the utilization of resources
(hardware) and last but not least provide the basis for process to processor
mappings.  Process to processor mapping is a key problem in parallel
processing which cannot be treated analytically in its instance as a graph
matching problem because of NP-completeness. A lot of assumptions in current
approaches to solve the problem turn out to be very weak, whereas a lot of
characteristics of both the parallel program (like synchronization) and the
parallel hardware are not represented in the mapping models. Simulated
annealing as a general technique in combinatorial optimization offers a
promising facility to the practical treatment of (small) practical problem
instances.

Parallel programming techniques (divide-and-conquer,
compute-aggregate-broadcast, pipelining, etc.)  should be provided to the
developer in a rather automated manner. They should be a part of a general
parallel program development environment, containing tools for (advanced)
editing, compilation, debugging, parallelization and code optimization,
performance prediction and monitoring, visualization etc.  Usability and
efficiency of such tools depend highly on the user interface and the modes of
interaction. Both these aspects, tool-support and sophisticated user
interfaces, are becoming more and more important with the upcoming
multiprocessor workstation technology. The availability of a performance
oriented parallel program development methodology is quite attractive from a
scientific as well as from an economic point of view.

Today the neural processing approach is successfully operating in constraint
satisfaction, pattern association, content-addressable memory, control,
motion, vision, coordination applications etc. Special purpose neural networks
have shown the power of the non-algorithmic processing methodology encountering
qualities like distributed knowledge representation, tendential behaviour,
learning, generalization, fault tolerance etc., and beating traditional AI
methodologies in several cases. The massive parallelism offered by neural
network simulation models can naturally often be exploited, and parallel
execution can speed up simulations to bring them into practical use. The usage
of parallel processing hardware promises not only the quantitative improvement
of reducing simulation times, but gives also a perspective for a qualitative
improvement of neural network models.





