**CSC5551/CSC7551:
RESEARCH
PROJECT IDEAS
Professor Alaghband**

**Parallel hardware/architecture:**Design algorithms and/or systems to demonstrate specific features or effectiveness of performance improvement (or lack of) using various methods using the following factors:

- Parallel
computing platforms
- Interconnection
Networks
- Memory
Performance
- Cache
Coherence

**Parallel Languages/compiler optimizations:**Compare performance of algorithms implemented in different parallel programming languages, implement, test, and compare performance and effectiveness of parallel compiler optimizations.

- OpenMP,
PThread, Cilk, Force, Intel Thread Building Blocks,
Parallel programming
for Java
- MPI, Map/Reduce
- CUDA, OpenCL

**Operating Systems for parallel processing:**Design and implement improved scheduling for resource sharing, allocation, process scheduling, etc. for specific parallel platforms.

**Parallel challenges and solutions:**Design algorithms and/or systems with the goal of demonstrating performance and effectiveness of optimization for the following factors

- Load
balancing
- Synchronization
tools and implementations
- Parallel I/O
- Communication
costs
- Scalability
- Parallel overheads
- Recursion

**Parallel algorithms/applications**

**Numerical methods**: Implement and compare various numerical methods- For example,
implement and compare performance and
convergence of two iterative methods for
solving systems of equations: Gauss Seidel and Gauss Jacobi
**Physics problems**: N-body, Fluid Dynamics, etc.**Graph algorithm**: minimum spanning tree, Prim's algorithm, shortest path, Dijkstra’s algorithm, Johnson’s algorithm, connected components, etc.**Sorting algorithms**: implement and compare sorting algorithms for different platforms: quicksort, radix sort, bitonic sort, bucket sort etc.**Graphics****problems**: ray tracing, rendering, collision detection, etc.**Bioinformatics**: sequencing alignment, molecular dynamics**Artificial Intelligent**: genetic algorithm, neural network, search algorithms, etc.**Data mining**: association rule mining, classification algorithms, clustering algorithms**Image processing****Parallel databases****Stimulation software**