next up previous


CISC 372: INTRODUCTION TO PARALLEL PROGRAMMING
Spring 2000
Group Project 1
Due Dates:
Deliverable 1: start of class, Tuesday, March 14, 2000
Deliverable 2: start of class, Tuesday, March 21, 2000
Deliverable 3: start of class, Thursday, April 6, 2000

Objectives

The main objectives of this project are:

Problem Description

You are working on a big project for the National Security Agency (NSA). The NSA and the Department of Defense want to design a computer system named ATTACK (Automated Threat Trouncer and Covert Kruncher) that will be able to scan images acquired from satellite cameras, determine locations of military stockades, and orchestrate an ATTACK.

This system is to be a very large and rather complex system, so the work has been broken up into manageable pieces. Each unit of work will be assigned to a project group for completion. Your group has been charged with the image processing phase to enable computer visualization and target recognition. Your job is to implement a module which when given an image, returns an altered version of that image that delineates all the edges within the original image. Such a system is called an edge detection processor.

To get a feel for what your project should do, try running the edge detection processor located at: /usa/jochen/bin/edge on the fast car cluster. In that same directory, there is a readme file that explains how to get this edge detector up and running (also where some initial test files can be found). The test files are in /usa/jochen/pgm/.

It is important that your code be fast and correct; lives depend on your work. The initial specifications for your module are as follows:

1.
Your software will run on an 8 processor cluster of machines in a mobile command unit. The machines will run MPICH v1.0.12 (coincidentally the same configuration available at University of Delaware!). Your code will use the MPI library with the C programming language.

2.
Images are stored in ascii PGM format. Given a filename at runtime, your software must read the PGM file, process the image, and then save the resulting version of the image to a PGM file with the file name also specified at runtime.

3.
Your program should accept any arbitrary size image, for which the matrix to store the image is evenly divisible by 8.

4.
Your software must perform all computations as quickly as possible.

5.
Your software must perform all computations correctly.

6.
You should be prepared to give a demo of your software by the third deliverable deadline.
7.
You must clearly and thoroughly document your code. You must also provide a well written user manual that covers all aspects of use, explains algorithms used, describes any problems or shortcomings and why they exist, describes possible approaches to eliminating any problems or bugs, and clearly delineates all specifications of your software. You should include a section on how you tested your software.

Deliverable 1

By the first deadline, you should turn in a report that answers the following questions:

1.
What algorithms are available for edge detection? Give general descriptions of the algorithms, pros and cons, and sources (citations to books, articles, web sites) where you found information on the algorithms.
2.
What general approach(es) could be used to parallelize the edge detection process? In each approach, where are the communication overheads?

3.
What is needed to handle the borders of the image and what solutions do you see?

4.
How are you going to do the file input/ouput?

5.
What performance issues do you expect to have to address for this project?

6.
How does load balancing come into play in this task?

7.
What characteristics are desirable in a good suite of benchmarks for testing your code thoroughly for both correctness and performance?

8.
What responsibility did each of your group members take on for this first deliverable?

Deliverable 2

A first prototype implementation. This prototype may be a correct sequential version of your system, or a first correct version of a parallel system. The first draft of Item 7 above should also be included with this deliverable. (more details to come)

Deliverable 3

A final parallel solution that meets the requirements specified in the problem description (more details to come).

Criteria for Evaluation

Your project will be evaluated according to the following criteria:

1.
(30 pts) Deliverable 1.
- (10) research: thorough investigation of solutions and their tradeoffs.
- (7) writing: detailed and clearly written discussion of solutions to the research questions.
- (8) citations: adequate documentation of sources of information.
- (5) group work: fair and working breakdown of the workload among group members.
2.
(30 pts) Deliverable 2. (more to come)
3.
(30 pts) Deliverable 3. (more to come)
4.
(10 pts) Peer Review. (more to come)

About this document ...

This document was generated using the LaTeX2HTML translator Version 98.1p1 release (March 2nd, 1998)

Copyright © 1993, 1994, 1995, 1996, 1997, Nikos Drakos, Computer Based Learning Unit, University of Leeds.

The command line arguments were:
latex2html -split 0 group1.tex.

The translation was initiated by Lori Pollock on 2000-03-07


next up previous
Lori Pollock
2000-03-07