Computer Science
Project Assignment
Proposal due: At beginning of class, Friday, 6 May 2005
Final Proposal due: At beginning of class, Friday, 13 May 2005
Progress Report: At beginning of class, Tuesday, 24 May 2005
Final Project Report: In my mailbox before 9am Friday 3 June 2005
Weight: 30%
The project has two options. The first option is to do some original research in parallel computers (e.g., use/extend a simulator and gather some simple numbers) or to re-validate data found in a published paper. This type of project is especially recommended for students considering a Ph.D. You will be graded on how well you define your problem, survey previous work, design and conduct experiments, and present your results. The goal to shoot for is conference paper, like the ones in your reader. Since time is limited, however, the above goal is hard to reach, and I will reward those that aim high even if they do not completely succeed. The key is insuring that some aspects of your work are completely done; it is very hard to grade a project where the simulator did not quite work. This type of project is recommended for groups of two.
In the second option, you may work alone to write a paper that surveys an area within computer architecture. The paper should: summarize work in an area, giving extensive references, present opinions of others for and against various options (with references), and conclude with your opinion of the strengths and weaknesses of arguments presented. You will be graded on the completeness of your survey, the accuracy of your summaries, the support you give for your opinions, and the quality of your presentation. Since a survey paper is "safer" than a research project, I will hold survey papers to a higher standard of completeness and analysis of the literature.
I normally accept no late assignments. For this project, papers turned upto 24 hours hours late will be accepted with a 25% penalty. Don't avail yourself of this option; your hard work deserves full credit.
Initial Proposal
Proposals may be turned in earlier to get earlier feedback. Feel free to come and talk with me, by appointment or when I'm free. Your initial proposal should be about one page long. It should include:
- A description of your topic.
- A statement of why you think the topic is interesting or important.
- (For projects with original research) a description of the methods you will use to evaluate your ideas.
Final Proposal
The final proposals should be a more complete version of the initial proposal, but should reflect feedback and show more maturity of concept. Again, feel free to come and talk with me. Your final proposal should be about two pages long. In addition to the original information, it should include:
- References to at least three papers you have obtained.
The text and the papers we've read point to many papers. See also Proceedings of the International Symposium on Computer Architecture (ISCA), Proceedings of the High-Performance Computer Architecture (HPCA), Proceedings of the conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), International Symposium on Microarchitecture (MICRO), IEEE Trans. on Computers, ACM Trans. on Computer Systems, IEEE Computer, IEEE Micro, and IEEE Trans. on Parallel and Distributed Systems.
A particularly interesting, contemporary opportunity is a website containing
all papers to appear in the Proceedings of the 2005 International Symposium
on Computer Architecture. This conference is the premier conference in Computer
Architecture, and as an experiment, the papers to be presented at the conference
have been made available in advance:
http://www.cs.wisc.edu/~isca2005/finalprogram.html
.
Progress Report
Progress Reports should include an updated version of the final proposal (if your plans have changed significantly) plus one page describing accomplishments so far. Concentrate on describing sub-tasks completed, rather than the tasks started. For example, say "completed simulator design at subroutine level" rather than saying "started writing simulator."
Final Report
Reports should consist of an abstract, body and optional appendices, much like a conference paper. The abstract should summarize the contributions of the report in one or two paragraphs. The length of the body should be the equivalent of 10-15 pages at double-spaced 10-point. Additional supporting material of any length can be put in appendices. I will read the body and skim appendices.
Possible Topics
- Comparison of latency-tolerance techniques
- Compare any two cache coherence protocols
- Evaluate some aspect of a victim cache
- Evaluate the benefits of out-of-order execution
- Study cache parameters: size, associativity, block size, write policy, ....
- Evaluate the effect on cache hierarchies of multi-core processors on-chip
- The future of multi-threading and multicores: will they merge?
- Ways of using multi-threading capability to support a single thread of execution
- Compare successive processors in a given series (MIPS, Intel, Cray, Alpha, etc.)
- Alternative forms of parallel processing: dataflow, SIMD, data-parallel
- Methods of support reliability, availability, or serviceability of parallel systems
-
Related Programmes