COURSE DESCRIPTION:
Current developments in computer
architecture covering
advanced concepts in sequential and parallel architectures. Topics include memory hierarchy, homogeneous and
heterogeneous architectures,
shared-memory (SMP and DSM) and distributed-memory machines (Beowulf cluster to high-end parallel
machines), dataflow and multithreaded
architectures, ILP and VLIW, pipelining,
and vector machines. Systolic arrays and application/language specific architectures.
Networks. Programming models for parallel
machines. Programming
for performance on different architectures.
This course has the main purpose
to give you a sound understanding of up-to-date computer architecture with the
main focus on being able to exploit the architectural features optimally for
performance programming or for systems programming. The course is not directly
addressing the development of own architectures. On the other hand, it
discusses architecture really at an advanced level with research orientation
and may thus not be suitable for those who just want also to know a bit about
computer architecture.
TEACHING MATERIAL:
- Dezsoe Sima,
Terence Fountain, Peter Kacsuk: Advanced
Computer Architectures - A Design-Oriented Approach, Addison Wesley, 1997
-
Kai Hwang, Zhiwei Xu:
Scalable Parallel Computing, McGraw-Hill, Boston etc., 1999
PREREQUISITES:
This course requires basic
knowledge in standard computer architecture and strongly recommends a good
understanding of basic operating system concepts. The course will only briefly
discuss basic architectural concepts but focus on approaches in modern computer
architecture to improve performance. And since most modern approaches involve
some kind of parallelism, processes/threads, concurrency and communication play
a major role. Without a basic knowledge in computer architecture a
participation in this course appears meaningless. If you lack basic knowledge
in the software topics mentioned (as typically taught in Operating Systems) you
may try to fill the gap on your own. Do
this in the first 3 weeks of the semester – or you will always stay behind. The
course will not be slowed down to accommodate weak prerequisites.
TOPICS COVERED
- What is computer architecture? – Introduction
- Why parallelism in architectures?
- Von Neuman architecture, CISC
and RISC, instruction scheduling, instruction pipelining
- Concurrency, dependencies, levels of concurrency,
multi-processor architectures and taxonomies
- Memory, caches, I/O, memory hierarchy, asynchrony
- Superscalar and VLIW
processors
- Qantification: performance
metrics (runtime, speedup, scalability etc.), benchmarks
- Vector processing
- Programming models: MPI, multithreading and others
- Shared-memory multiprocessors: SMP and DSM,
consistency, VSM
- Networks for HPC, network interfaces
- Distributed memory - Dedicated MPP machines, HPC and
Beowulf clusters
- Dataflow and multithreading machines
- Other architectures: language architectures, neural
computers, systolic arrays
- Distributed and grid computing, heterogeneous systems
COURSE REQUIREMENTS:
1.
Exams: One exam (midterm) will test conceptual
understanding (not memorization) of the material presented in the class.
2.
Project:
You will have to do practical work on a project
3.
Presentation/Report: Each student will be
required to give a presentation and prepare a report on research papers.
The presentation has to use Powerpoint or
typewritten transparencies. This part of the requirement is supposed to train
you ability in understanding papers, critically judging them and understanding
alternatives. Additionally it gives you the possibility to train presentation
and report writing. The report has to be 2500 to 4000 Words. Both a copy of this
report and your presentation transparencies have to be handed in.
4.
Reports: You
will have to write short reports on the student presentations.
5.
Small Assignments: There will be two small assignments to train
some basic skills.
6.
Active Participation: You are expected to attend
the class (the material is not easy and the class notes are not intended to be
a replacement for coming to class). Furthermore, you are encouraged to actively
participate by questions, answering questions, making comments (especially to
student presentations).
COMMENTS ON ASSIGNMENTS:
Presentation: A
list of topics will be provided. You may
not select a topic for which you fully or partially already got credit or will
get credit this semester in a different course. Exceptionally, own
suggestions for topics may be accepted
if approved. The topics provided are mainly case studies for the concepts
presented in the lectures. The presentation time will be announced later.
Small assignments: For training some basic skills. Will not be marked in detail.
Reports: Mainly
to make sure you will also listen to the student presentations plus it trains understanding
Project: The
project will have to be demonstrated.
Active participation: Supposed to get you involved
and out of the role of passive consumption.
GRADE COMPOSITION:
|
Midterm
|
30%
|
|
Seminar reports (of student
presentations)
|
10%
|
|
Paper presentation and report,
group of 2
|
20%
|
|
Project, group of 2
(implementation and presentation)
|
25%
|
|
Small Assignments (2),
individual
|
5%
|
|
Active Participation in Class
(presence and contributions)
|
10%
|
IMPORTANT GENERAL NOTICES:
·
All of the material presented in the
presentation or report must be in your
own words such that no section of the report has been copied from any other
student in this class, web, journal or conference proceeding. The presentation
and report should be based on your understanding of the information and should
train finding your own interpretation and formulation – even on the risk that the
English is imperfect.
·
Any information taken from a book, journal,
magazine or Internet site has to be properly
cited according to the general scientific rules (in case of using
information provided on the Internet, give the URL for the site from where you
got the information).
·
The project and the presentation are to be done
in a group of two. However, the individual contributions need to be clearly
stated. In the paper presentation and project presentation each of you has to
give an equal share of it. For the paper preparation and presentation, it is
meaningful each of you should focus on one paper (but, of course, you should
care about the other one, too). Though in most cases the mark will be the same
(as it is hard to figure out who has exactly contributed how much and as good
team work involves lots of mutual influences and some convergence in thought) you
may get different marks if there are clear indications that the quality of the contributions
is different (no “free ride”). Both partners have to sign a statement of what
was the focus in their contribution. You are strongly encouraged to look for an
equally strong partner as you depend to some degree on the partner. The
partners for the project and the presentation may be different.
Copying from others or failure to provide proper references
is plagiarism and will be a matter of disciplinary action. Similarly, putting
an improperly higher workload on your group partner is considered a violation
of work ethics and can lead to a serious reduction in marks.
___________________
“If you would hit the mark, you
must aim a little above it; every arrow that flies feels the attraction of the
earth.”
H.W.Y. Longfellow