CS 533 Parallel Computer Architectures
Spring 2018
Course Project Info
Project Proposals
Due In Class
Format: One page with the title, names of the team members (3 is best),
and explanation of what you want to do
Specify if you will
need accounts in a parallel machine, and if so, where?
Example Topics:
Examples from SPRING 2011:
- Study of the scalability of threading and other OS overheads
- Parallel fault-detection architecture
- Replaying MPI I/O
- Parallelization of a numerical application
- Memory subsystem design
- Parallelization of a ray tracing application
- Parallelization of a graph problem
- Development of a parallel system using FPGAs
- Study of the utilization of the cache hierarchy
- Development of software-managed cache coherence
Examples from SPRING 2010:
- Software for deterministic replay of parallel programs
- Parallelization of computationally-intensive image processing algorithms
- Clustered checkpointing schemes for scalable architectures
- Study power-effient chip multiprocessors
- GP-GPU scheduling
- Performance scalability of parallel programs
- Hardware-assisted network I/O management for parallel programs
- Computing in a distributed memory cluster
- Supporting deterministic multi-threading
Examples from SPRING 2009:
- Implementation of a State Exploration Tool
- Implementation of invalidate/update hybrid coherence protocols
- Parallel heap allocator
- Parallelization of the construction of a KD Tree
- Cache-aware version of Intel's TBB
- Fault tolerance in MPI and Shared-memory machines
- Parallelization of the Pathfinder algorithm
- Analysis of the synchronization in an operating system
Examples from SPRING 2008:
- Efficient and Scalable On-chip interconnect networks for thousand-core shared memory machines
- Implementating LogTM-based transactional memory in the M5 simulator
- Signature based data race detection
- A suite of micro-benchmarks for multicore architectures
- A programming model and architecture for scalability in many-core computing
- Clustered processor design for massively parallel manycore accelereator architectures
- Optimizing directory-based cache coherence for scalable CMPs
- Analyzing the behavior of applications on UltraSPARC T1 processor
- Parallelizing linear equation solver
- Exploring Architectural support for speculative multithreading
- Parallelization of a cosmological initial condition generator
- Using transactional-memory: where locks are no good
- Shared Bus Fabric for a Hierarchical Design of multicore processor
- Fluid dynamic simulator acceleration on a GPU cluster
Examples from SPRING 2005:
- Transient Fault Detection with Simultaneous Redundant Threads
- Thread-Level Speculation with Out-of-Order Spawn on a Simultaneous Multithreaded Processor
- Parallelizing Alpha-beta search for optimum performance
- Parallel Ray Tracing
- Implementation and Analysis of Adaptive Routing Strategies for Interconnection Networks on Massively Parallel Systems
- A Parallel Decoded for Ogg Vorbis
- Parallel Logic Simulation
- Implementation of a Charm++ Machine Layer on RDMA Over Ethernet
Examples from SPRING 2004:
- Data Locality Schemes for NUMA
- Parallelization of Security Algorithms
- A Parallel MP3 Decoder for Embedded Systems
- Development of a Linux Driver for Efficient I/O Rollback
- Parallel Genetic Algorithms
- Evaluation of Cache Coherence Protocol Traffic
- Support for Fault-Tolerance in an SMT Processor
Examples from SPRING 2002:
- Distributed Shared Memory Versus Message Passing on Clusters
- Parallel Game Tree Search Algorithms
- Developing and Evaluating Runtime Support for Heterogenous Dynamic Parallelization
- Parallelization of a Quantum Computing Simulator
- Performance of Speculative Locks on Shared Memory Multiprocessors
- Sphinx parallelization
- Parallel Chess
- Barnes Hut Parallelization
- Study of Scalable Directory-Based Cache COherence Schemes
- Fault Tolerant Cache COherence Protocol
- Checkpointing Strategies for Message Passing
- Adaptability of Protocols
- Optimizing collective communication
- Design and evaluation of resource sharing policies in SMTs
Simulator
One possibility is SESC, a multiprocessor
simulator that you can use for your projects. Enjoy it!
Project Midterm Reports:
Due in Class
These are some guidelines for the CS533 midterm project report:
- About 8-10 pages
- Describe:
- Problem you are addressing
- How you solve it
- What you have done so far
- code
- machine
- algorithms
- results
- What you plan to do until the final report
Please note that the project midterm report is a non-neglible
part of your grade.
Final project:
The Report is Due after classes finish
Build on top of the midterm report. Use the same structure. Think of
it as a conference paper.
In addition, we will have one session of final project presentations. Each team will
present for 15 minutes. Please bring a laptop with your presentation. Please be on time and do
not take more than the allotted time. Expect a couple of questions at
the end.
Students are encouraged to attend the presentations of all
the other students.
SCHEDULE: