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:

Project List

  1. 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.
  2. 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.
  3. 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.
  4. 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.