Current Research Projects

1. Scheduling of Parallel Tasks onto Modular Parallel Architectures

Funded by the Australian Research Council and the Australian Telecommunications and Electronics Research Board.

In either sequential or parallel systems, the architecture is characterized by functional components, the communication topology and facilities, and control structures and mechanisms. However, there are several issues related to parallelization that do not arise in sequential programming. One of the most important issues is task-allocation, that is the breakdown of the total workload into smaller tasks assigned to different processors, and the proper sequencing of the tasks when some of them are interdependent and cannot be executed simultaneously. To achieve the highest level of performance it is important to ensure that each processor is properly utilized. This process is called load-balancing or scheduling and it is considered to be extremely "formidable" to solve. The scheduling problem belong to a class of problems known as NP-complete. The aim of this project is to develop efficient techniques to automate the mapping and scheduling of parallel tasks onto networks of ! parallel processors.
 
 

2. Parallel Stochastic Optimization Algorithms

Optimization algorithms can be used to solve a wide range of problems that arise in the design and operation of parallel computing environments (e.g., scheduling, routing). However, the many classical optimization techniques (e.g., linear programming) are not suited for solving parallel processing problems due to their restricted nature. This project is investigating the application of some new and unorthodox optimization techniques such genetic algorithms, neural networks, simulated annealing, and molecular computing techniques. However, these techniques are computationally intensive and require enormous computing time. Parallel processing has the potential of reducing the computational load and enabling the efficient use of these techniques to solve a wide variety of problems.
 
 

3. Parallel Algorithms for Solving Network Routing Problems

Funded by the Australian Research Council.

Multilayer printed circuit boards (MPCB's) design and layout involves the following steps: placement of the functional modules of the system on the MPCB, and conductor routing, subject to various physical constraints, on the MPCB to effect the necessary interconnections between the modules. This work addresses some aspects of the routing problem by using heuristics and genetic algorithms. Given module locations on the MPCB and lists of points to be made electrically common, one is concerned with the definition of the conductor paths on the MPCB that satisfy all the requirements and constraints. The routing problem in its general form is known to be computationally intractable, and an efficient solution of this problem will have a great impact on other problems of similar nature (e.g., scheduling, networking).
 
 

4. Reconfiguration and Fault Tolerance in MIMD Architectures for Real-Time Applications

Several algorithms are under development at this stage to enable reconfigurability during run-time operations. During the operation of a parallel processor systems a faulty component (software or hardware) should be isolated and replaced by an operational one to avoid crashing the system. Currently, a real-time system is being constructed (mobile robot that carries its own computing system on-board) to test the developed algorithms.
 
 

5. A Runtime System Integrating Task and Data Parallel Models of Computation

Parallel processing provides a large degree of computational power to programmers who are willing and able to harness it. In order for it to become widespread in its use, compiler technology must improve to the point where the programmer can exploit parallelism without undue effort. This will be achieved when the programmer can get good performance from applications written using high-level abstractions, leaving the intricacies of parallel execution to the compiler and run-time system.

By moving much of the burden of decision-making from the compiler to the runtime system it is hoped that: (i) compiled programs can be made portable across multiple platforms, (ii) greater parallelism can be extracted and hence performance increased, and (iii) sparse or irregular problems that defy compile-time analysis can be handled efficiently. The runtime system currently being developed as part of this project will support both data- and task-parallel models of computation and is aimed initially at message-passing MIMD architectures. It is hoped that it will represent a further step down the path towards fully automatic program parallelization and compilation.
 
 

6. Parallel Processing for Time-Intensive Robotic Computations

Funded by the Australian Research Council

The main aim of this project is the speeding up of computationally-intensive robotic algorithms. These algorithms cover a wide range of operations: kineamtics, dynamics, path planning and trajectory generation, and vision, to name a few. This project investigates computational algorithms for both fixed-base and mobile robots. Techniques based on genetic algorithms, fuzzy logic, and neural networks are used to solve the path planning and trajectory generation problems and then the resulting algorithms are mapped onto networks of parallel processors. Heuristics are also used for the parallel computing of robot kinematics and dynamics.
 
 

7. Mobile Computing and Wireless Networks

Recent advances in wireless networking technology have introduced this new paradigm of computing which is widely known as mobile comptuing. Within the framework of mobile computing users carry portable devices and have access to a shared infrastructure independent of their physical location. This provides flexible communication between people and continuous access to networked services. Mobile computing is expected to revolutionize the way computers are used. This projects aims to investigate some of the fundamental issues underlying the design of mobile computing systems such as the use of wireless networking, the ability to change locations, and the need for unencumbered portability.



This page was last updated on Monday, December 8, 2000.
Back to the lab's home page