|
|
|
Everything we do (from brushing the teeth to going back to bed, from cooking to eating, from driving a car to preparing to take a flight at the airport) follows certain rules and procedures to achieve the task(s) in hand. These stpes and procedures are collectively called algorithm. Designing appropriate algorithms for various applicaitons in various walks of life is the center of activitites for algorithms researchers. This is one of the oldest topics of research in Mathematics and Comptuer Science. Problems in science, engineering, medicine, architecture, finance etc., all take advantage of algorithms knowledge base. Most of the problems in these fields and in nature, generally, take advantage of parallel computing. Scalability of the algorithms for various architectures has become a new driving force for algorithms researchers. We try to categorize the algorithms in two very general categories: Algorithms for Regular Applications and Algorithms for Irregular Applications .
Algorithms for Regular Applications
A number of computationally intensive problems arise in diverse areas of engineering and computer science such as weather forecasting, biomedical analysis, management of large knowledge-bases etc. However, these problems are usually very complex and hence require unacceptably high computing time to solve, if a sequential computer is to be used. One way out of this is provided by parallel computation. A large class of algorithms in science, engineering, and business can potentially benefit from parallel processing. Many algorithms for various applications have been developed for different parallel architectures of various grain sizes and have been analyzed theoretically as well as empirically for uniform data distributions. These algorithms are usually synchronous in nature. For such problems, data structures such as arrays are sufficient.
Here are some pointers for sites in this category. CFDLab MORE TO COMEAlgorithms for Irregular Applications
CFDLab MORE TO COME
However, there is a large class of applications where the pattern of data distributions is non-uniform and unstructured. Such problems are classified as irregular problems. These applications usually require asynchronous computations and require high level data structures such as graphs, trees, unstructured meshes, etc. Also, the distribution of data in these applications is, often, sparse. The algorithms are therefore hard to implement and need flexible hardware. These difficulties and the need for facilities for dynamic creation of work and dynamic load balancing make designing parallel solutions for irregular problems a very challenging task.
Here are some pointers for sites in this category.
Contact details
Coordinators: Ruppa K. Thulasiram and Parimala ThulasirmanAddress:
Departament of Computer Science
University of Manitoba
E2-445 EITC
75A Chancellors Circle
Winnipeg, Manitoba R3T 2N2
CANADAE-mail: tulsi_at_cs_dot_umanitoba_dot_ca OR
E-mail: thulasir_at_cs_dot_umanitoba_dot_ca
Phone: +1 204 4746538 (Tulsi) OR +1 204 4748856 (Parimala)
Fax: +1 204 4747609
This page is maintained by Ruppa K. Thulasiram.
If you have any comments, please send him a message.