|
Parallel
& Distributed Computing 1. Load Balancing and Task Scheduling in Parallel,
Distributed, and Cluster 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 of a given applications. 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. This problem can be further complicated when the
parallel computer system contains heterogeneous components (e.g. different
processors and link speeds, such as in Cluster and Grid Architectures). This
project intends to investigate the development of new classes of algorithms
for solving a variety of scheduling and load-balancing problems for static
and dynamic scenarios. 2. Scheduling Communications in Cluster Computing Systems Clusters
of commodity computer systems have become the fastest growing choice for
building cost-effective high-performance parallel computing platforms. The
rapid advancement of computer architectures and high-speed interconnects have
facilitated many successful deployments of this type of clusters. Researchers
in previous studies have reported that, the cluster interconnect
significantly impacts the performance of parallel applications. High-speed
interconnects not only unveil the potential performance of the cluster, but
also allow clusters to achieve better performance/cost ratio than clusters
with traditional local area networks. Towards this end, this project aims to
study the how computations and communications influence the performance of
such systems. Applications tend to range from the compute-intensive to the
communication-intensive and an understanding of such applications and how
they map efficiently onto clusters is important. 3. 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., datamining, 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 fuzzy logic, genetic algorithms, neural
networks, simulated annealing, ant colonies, Tabu
search, and others. 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. 4. Autonomic
Communications in Parallel and Distributed Computing Systems The rapid advancement of
computer architectures and high-speed interconnects have facilitated many
successful deployments of many types of parallel and distributed systems.
Researchers in previous studies have reported that, the design of interconnects
significantly impacts the performance of parallel applications. High-speed
interconnects not only unveil the potential performance of the computing
system, but also allow such systems to achieve better performance/cost ratio.
Towards this end, this project aims to study the how computations and
communications influence the performance of such parallel and distributed
computing systems.
|