CS 684 - Project List and Information
Each student is required to pick a project from the list below. Upon prior approval from
the professor, a different project my be selected. However, the project should not be
a simple parallelization of an embarassingly parallel application.
Each student is required to turn in or be part of a project proposal. The proposal should
be 1.5 pages in length for each student participating in a group, with a minimum of 2 pages.
For example, if a group of 3 students is combining on a project, they should turn a proposal
that is 4.5 pages long. Further, the proposal should have 2 references per student in the
group with a minimum of 3 references total. So a student working solo should turn in a proposal
that is 2 pages with 3 references minimum.
All proposals should follow this format:
- Introduction - Introduce the topic area then move to the specific reason for
doing the research.
- Review of Previous Work - Review each of the other references about this area
and related areas.
- Proposal - What you propose to do and why.
- Methods - How will you accomplish what you proposed? What will you need?
What metrics will you use to determine success?
- Contribution - What good will accomplishing this proposal do? (-: besides getting a grade :-)
- Annotated Bibliography - List each full reference and notes about each.
Project List
- Parallel Phylogenetic Inference Performance Analysis
The field of phylogenetic inference has seen a dramatic increase in the number of
programs available to do analysis. However, to date, there is no clear answer to
which program will generate the best answers in the shortest time. This group project
will analyze the performance of several phylogenetic inference packages and make
the packages available for use on the supercomputers. The programs that will be
included are: PAUP*, NONA, POY, fastDNAml, gaML, qsoda, and others.
- Grid enabled MPI over HTTP
Current research in parallel processing involves using the combined resources of
multiple supercomputers and supercomputer centers as well as using all available
compute cycles on the internet. Various libraries have been created to enable this:
MPICH-G, PACX-MPI, STAMPI, and the SOCKS library. This group will focus on the
development of a library that uses HTTP when communicating between supercomputers
and uses native MPI when available for speed.
- Efficient Use of Idle-time resources for parallel processing
The DOGMA system currently has access to many labs on campus for idle-time
computation. However, a process on the machine may be frequently interrupted.
If we could predict how long a machine will be available, we could decide
whether or not to use the machine. One way to do this is to have each machine
keep track of its profile (when and for how long it is available). Then
use this profile for making decisions.
- MPI and OpenMP vs MPI
We will read a paper describing one researcher's attempt at answering this question.
This project will first reproduce the results and then look at another approach to
implementing the parallelism in the MPI and OpenMP systems.