Presentation Schedule and Due date
(Subject to change)
Each team will present their term project on April 22, April 27, 2010.
The term project report is due on April 29 (Thursday) by 11:30am.
Give a hard copy to me (ES 3.226) by 11:30am.
If no one is in the office (ES 3.226), please slide your report
under through the door and send an email to me.
Suggestions
The term project can be a literature survey of a selected topic or
a design or implementation of something, for example using MPI.
Please have three, four
members or five members in your team.
All the members will get the same grade for the project.
For three-member teams, your report should be at least 12 pages
long, for four-member teams, at least 14 pages long,
and for five-member teams, at least 16 pages long.
Possible projects for the course:
You should go to the course web page and find the IEEE link and other links there and
start to do literature search. This is the beginning of any
research.
Here I just list some possible projects for your considerations.
You do not have to choose one of them. Actually I encourage
you to come out your
own project.
The possible topics:
- Study of various multi-core CPU, memory structure,
interconnection networks, performance, and their programming models.
- Case study of some parallel architectures or parallel
programming systems. Please go to browse those links.
For example, IBM/SONY CELL Processor, SUN Niagara, CRAY XMT, TOP 500
supercomputers (http://www.top500.org/),
stanford FLASH, COMA architectures, IBM Blue Gene, IBM SP,
PRISM, Berkeley IRAM, Princeton SHRIMP, etc.
- Implement your own Java MPI or .net MPI.
-
Parallel Graphics Processing Units GPU by Nvidia, ATI.
-
Simultaneous Multithreading, Intel Hyper Threading, Multi-cores.
- Parallel data mining, parallel database computations.
-
Study of VLIW architectures such as TI DSP, and Intel and HP new IA-64 architectures.It is easy to find related information on the web.
-
Study of network processors and its programming such as Intel IXP.
Go to search the web to find informations.
-
Interconnection network study. Study the tradeoff of all kinds of
interconnection networks.
-
Multicast routing, fast communications, Any routing issues.
-
Pick an application and then try to parallelize it using shared memory or
MPI models. For example, factorization problem, travelling salesman problem,
or cracking a secret code?
-
Parallel algorithms for any specific application.
For example, study parallel sorting algorithms, parallel database
algorithms, parallel graph algorithms, etc.
-
Issues on Operating Systems. The scheduling, resouce allocation?
Multiple threads or distributed memory? How to improve the communication
overhead in OS level?
- Real-time Systems: The issues of designing systems
which satisfy all the timing constraints... hard realtime or soft realtime.
Scheduling issues for multiprocessor systems.
-
Grid Computing. A lot of information on the web. Though it is more distributed
computing, a lot of issues are similar. How about cloud computing?
-
Debugging or prorgamming environments
for parallel programming systems such as MPI.
It includes programming visualization. How to ``see" the performance
of a parallel program? A very important problem.
- Optical Computing: It is very new and very important to develop
automatic design methodology for optical systems. Literature survey
and study will be a good project.
-
Network Router Designs: DWDM routers requires extremely high performance.
We need specially designed parallel architectures.
- Loop Schedulings : Optimal scheduling for
DFGs and graph transformation techniques such as
extended retiming, fusion, distribution, interchange, unfolding.
- Fault Tolerance: The methodologies of making a system fault
tolerant (hardware and software). or Fault diagnosis.
- Embedded Systems;
hardware-software co-designs. A rapid prototyping
style which is very popular in industry today. Survey the issues.
- Instruction-Level parallelism: Study the code generation
techniques for VLIW or superscalar type of processors.
- Reconfigurable architectures: A good idea to make an architecture
reconfigurable for various applications and fault tolerance.
- Partitioning and Scheduling: The best partitions and schedulings
which minimize data accesses and computation time.
- Digital Video Processing: A survey of popular
image processing algorithms and multi-media algorithms. Then a case
study of a special architecture design for a related application such as
MPEG.
- Welcome any idea. Please come to discuss with me.
Revised by Edwin Sha - 2009.