Undergraduate Projects for 2000
Parallel Computing Research Laboratory
1. Artificial Life Techniques for Task Scheduling in Parallel Computing
Environments
Scheduling and load-balancing are two important problems in the area of
parallel computing. Efficient solutions to these problems will have profound
theoretical and practical implications that will affect other parallel
computing problems of similar nature. Little research attempted a generalized
approach to the above problems. The major problems encountered are due
to the interprocessor communication and delay because of inter-dependency
between the different subtasks. The mapping problem arises when the dependency
structure of a parallel algorithm differs from the processor interconnection
of the parallel computer, or when the number of processes generated by
the algorithm exceeds the number of processors available. In this project
we intend to investigate the potential of applying new classes of algorithms
known as "Artificial Life" techniques (e.g. genetic algorithms, ant colonies,
fuzzy logic, etc) in solving the scheduling problem. A-Life methods are
playing an increasing role in studies of complex adaptive systems, ranging
from adaptive agents in economic theory to the use of machine learning
techniques in the design of complex devices such as aircraft turbines and
integrated circuits.
2. Parallel Artificial-Life Algorithms for Solving Routing Problems
The design of multilayer printed circuit boards (MPCB's) is of great importance
in the design of complex electronic systems. MPCB design and layout involves
the following steps: (1) placement of the functional modules of the system
on the MPCB, and, (2) conductor routing, subject to various physical constraints,
on the MPCB to effect the necessary interconnections between the modules.
Clearly, these two steps are closely related. However, the complexity of
the total layout problem is so great that, traditionally, these two steps
have been treated separately. The second problem (in 2 above) is a classical
problem in computer aided design, such as the carriers routing in MPCBs
or ICs chips (integrated circuits). Despite the fact that more and more
CAD packages for layout are available these days, the circuit layout problem
is far from solved. In this work we intend to address some aspects of the
routing problem by using Artificial Life techniques (e.g. genetic algorithms).
Furthermore, because A-life methods are inherently parallel in nature,
any proposed solutions to solve the routing problem should be easy to implement
on a parallel platform.
3. Parallel Computation of Robot Dynamics
Robot dynamics algorithms are essential tools for the real-time modelling
and control of robot manipulators. This project deals with the execution
of well-known robot dynamics algorithms (e.g. Newton-Euler, Recursive Lagrangian)
on parallel processor platforms. The chosen parallel architecture in this
case is a mesh with multiple broadcasting (MBB). The MBB is a powerful
parallel architecture that was proposed recently and a number of prototype
systems were built to prove its practicality. The developed algorithms
will be compared to their sequential counterparts and other parallel implementations.
4. Using (mobile) Agents in Mobile Computing
Recently, a new approach for learning features of a domain of interest
has been proposed. The main characteristic of the novel approach is the
fact that global information about the domain is obtained by combining
in some clever way local information gathered by independent agents. In
fact, for a large number of practically-relevant domains the following
paradigm can be used: (1) a large number of agents, each with a specific
mandate is being sent into the domain, (2) each agent learns a given characteristic
or feature of the domain, (3) a subset of the agents is recovered and debriefed.
Somewhat surprisingly, for many domains it is possibly to recover a strict
subset of the agents and still obtain FULL knowledge about the domain.
It would be very useful to implement strategies for a-c above for a number
of particular domains arising in various practical applications. Of a particular
interest is the area of mobile computing and wireless networks.
5. Computation of Kalman Filtering Algorithms on Reconfigurable Meshes
Kalman filtering algorithms are simple yet powerful algorithms that can
be used in a wide range of applications (e.g. image processing, speech
synthesis, controller design). Such algorithms need to be implemented in
real-time in order to be of any use. One approach to speedup such algorithms
is to implement them on parallel hardware. This projects aims to utilize
the "Reconfigurable Mesh" in enabling in situ Kalman filtering computations.
The RM is a modified mesh with a dynamic reconfiguration capability that
can be used to deal with real-time problems.
6. Development of Algorithms for DNA Computers
This project is concerned with the possibility of developing techniques
for massively parallel computing at the molecular scale. It has been shown
in the literature that computations at the molecular level can take place
by using short DNA strands. This is practically attainable by using standard
biotechnology engineering techniques. This project will attempt to study
a number of fundamental algorithms (e.g. Convex Hulls, Prefix-Sums, and
others) and try to develop parallel DNA-based algorithms to improve these
methods. Comparisons will also be made to compare traditional parallel
algorithms and DNA-based ones.
7. FPGAs Implementation of Neural and Genetic Algorithms
Neural network and genetic algorithms are used extensively to solve a wide
range of problems. There is a great need to test whether these algorithms
are suited for implementations. One approach to test this is to use Field
Programmable Gate Arrays (FPGAs). This project aims to implement some basic
neural and/or genetic algorithms using FPGAs and study issues relating
to the ease of implementation and efficiency.
8. Deadlock Avoidance in Multistage Interconnection Networks
The dynamic nature of multistage interconnection networks makes them suitable
candidates for constructing massively parallel computing systems. In such
interconnects there is a need for the on-line detection of hot spots (congestion
spots). In this case, a packet needs to be routed in a manner that avoids
hot spots. This problem is very similar to a robot (packet) moving in an
environment (network) and trying to avoid obstacles (hot spots). This project
will investigate this link between these two problems to try to arrive
to efficient solutions that can be used to solve problems of this nature.
Questions should be addressed to Professor
Albert Y. Zomaya.
This page was last updated on December 8, 2000.
Back to the lab's home page