TIME |
MONDAY |
TUESDAY |
WEDNESDAY |
THURSDAY |
FRIDAY |
Contents |
|
---|---|---|---|---|---|---|---|
8:40 10:30 |
|
|
|
|
|
||
10:40 12:30 |
|
|
|
|
|
||
12:40 14:30 |
|
|
|
|
|
||
14:40 16:30 |
CENG 471 (T) B301 |
|
|
|
|
||
16:40 18:30 |
CENG 471 (L) INT3 |
|
|
|
|
|
|
Instructoroffice:
Computer Engineering Department, A318 |
TA
office: |
Watch this space for the latest updates (If the characters do not show properly, please try viewing this page with Unicode (UTF-8) encoding). Last updated:
Do not involve “tiny” for the calculations, just use the flag “nolocal”
Repeat the same calculations at least twice and take average for your final table entry
Choose the input values carefully, such that the resulting graphs are meaningful.
Mehmet Kadri Toprak - Parallel Computing with CORBA
Sina Çetiner - Parallel Processing Granularity, Fine and Coarse Grained Parallelism
Ali Evren Küt - General-Purpose Computing on Graphics Processing Units (GPGPU)
Batuhan Demirkan - COPACOBANA, The Cost-Optimized Parallel Code Breaker
Hüseyin Burhan Özkan - Applications of Parallel Computing and Some Real World Examples
Oğuzhan Yücetürk - Design Patterns for Parallel Programming
Mehmet Elvanağaç - Types of Parallel Computing
Bilal Genç - High Performance Computing in Microsoft Server Platforms Using MS MPI
Ebru Gündede - Parallel Operating Systems
Esin Karabacakoğlu - Linux Clustering
Özge Gürbüz - Parallel Programming Languages
Ayşegül Özkaya - Advantages and Disadvantages of Parallel Computing
Selma Duman - Parallel File Systems
Afşar Türk - Storage Area Network (SAN)
Fahreddin Şükrü Torun - Grid Computing
Erdem Demir - Message Passing in Java
Please visit the previous years' class pages for other possible titles or you pick one by yourself and submit to my approval.
Parallel Summation
General Solution
with point-to-point communications
with collective communicatins
performance analysis (Speed-Up, efficiency, (Amdahl and Gustafson laws : optional))
Parallel vector-vector multiplication
General Solution
with point-to-point communications
with collective communicatins
performance analysis (Speed-Up, efficiency, (Amdahl and Gustafson laws : optional))
Parallel matrix-vector multiplication (Optional)
General Solution
with point-to-point communications
with collective communicatins
performance analysis (Speed-Up, efficiency, (Amdahl and Gustafson laws : optional))
This course provides an introduction to parallel and distributed computing and practical experiences in writing parallel programs on a cluster of computers. You will learn about the following topics:
Parallel Computers
Message Passing Computing
Embarrassingly Parallel Computations
Partitioning and Divide-and-Conquer Strategies
Pipelined Computations
Synchronous Computations
Load Balancing
Programming with Shared Memory
Topics might be classifed into two main parts as;
Parallel computers: architectural types, shared memory, message passing, interconnection networks, potential for increased speed.
Basic techniques: embarrassingly parallel computations, partitioning and divide and conquer, pipelined computations, synchronous computations, load balancing, shared memory programming.
There is one group for lecturing. You will be expected to do significant programming assignments, as well as run programs we supply and analyze the output. Since we will program in C on a UNIX environment, some experience using C on UNIX will be important. We will provide tutorials for basic C on UNIX during the first few class periods.
In lab sessions, we will concentrate upon the message-passing method of parallel computing and use the standard parallel computing environment called MPI (Message Passing Interface). Thread-based programming will also be outlined, and the distributed shared memory (DSM) approach (If we have enough time). Each student will complete a project based on parallel computing for the laboratory study.
Also, each student will complete a project based on parallel computing, (distributed computing, cluster computing) for the midterm exam.
Important announcements will be posted to the Announcements section of this web page above, so please check this page frequently. You are responsible for all such announcements, as well as announcements made in lecture.
Parallel Programming: Techniques and Application Using Networked Workstations and Parallel Computers, 2nd edition, by B. Wilkinson and M. Allen, Prentice Hall Inc., 2005, ISBN 0-13-140563-2.
Beowulf Cluster Computing with Linux, 2nd edition, edited by William Gropp, Ewing Lusk, Thomas Sterling, MIT Press, 2003, ISBN 0-262-69292-9.
Beowulf Cluster Computing with Windows, Thomas Sterling , MIT Press, 2001, ISBN 0-262-69275-9.
Using MPI , Portable Parallel Programming with the Message Passing Interface, William Gropp, Ewing Lusk and Anthony Skjellum, The MIT Press, 1999, ISBN 0-262-57132-3.
Using MPI-2, Advanced Features of the Message Passing Interface, William Gropp, Ewing Lusk, Rajeev Thakur, The MIT Press, 1999, ISBN 0-262-57133-1.
MPI: The Complete Reference (Vol. 1) - The MPI Core, Marc Snir, Steve Otto, Steven Huss-Lederman, David Walker and Jack Dongarra, The MIT Press, 1998, ISBN 0-262-69215-5.
MPI: The Complete Reference (Vol. 2) - The MPI-2 Extensions, William Gropp, Steven Huss-Lederman, Andrew Lumsdaine, Ewing Lusk, Bill Nitzberg, William Saphir and Marc Snir, The MIT Press, 1998, ISBN 0-262-57123-4.
In Search of Clusters: The ongoing battle in lowly parallel computing, Second Edition, by Gregory F. Pfister, Prentice Hall Publishing Company, 1998, ISBN: 0-13-899709-8.
How to Build a Beowulf – A Guide to the Implementation and Application of PC Clusters, by Thomas Sterling, John Salmon, Donald J. Becker and Daniel F. Savarese, MIT Press, 1999, ISBN 0-262-69218-X.
PVM: Parallel Virtual Machine, A Users' Guide and Tutorial for Network Parallel Computing, Al Geist, Adam Beguelin, Jack Dongarra, Weicheng Jiang, Robert Manchek and Vaidyalingam S. Sunderam, MIT Press, 1994, ISBN 0-262-57108-0.
This texts are only recommended rather than required. This books are useful for reference, for an alternative point of view.
Some materials are given. Please inform me about the usefullness of the materials. Check this place for updates.
The following references are available online
There will be a final exam: 40%
Term Project as Midterm exam: 25%
Term Project as Lab. exam: 25%
Attendance is required and constitutes part of your course grade; 10%
Attendance is not compulsory, but you are responsible for everything said in class.
I encourage you to ask questions in class. You are supposed to ask questions. Don't guess, ask a question!
You may discuss homework problems with classmates (although it is not to your advantage to do so).
You can use ideas from the literature (with proper citation).
You can use anything from the textbook/notes.
The code you submit must be written completely by you.
The following schedule is tentative; it may be updated later in the semester, so check back here frequently.
Week |
Dates |
Topic Lecture Notes (Power Points Slides) |
Laboratory Studies |
Quizes & Grades |
||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Lectures |
||||||||||||||||||
1 |
September 22-26, 2008 |
First Meeting |
||||||||||||||||
2 |
September 29-3, 2008 |
Ramadan Holiday |
||||||||||||||||
3 |
October 6-10, 2008 |
|||||||||||||||||
4 |
October 13-17, 2008 |
|||||||||||||||||
5 |
October 20-24, 2008 |
|||||||||||||||||
6 |
October 27-31, 2008 |
|||||||||||||||||
7 |
November 3-7, 2008 |
No Class |
||||||||||||||||
8 |
November 10-14, 2008 |
|||||||||||||||||
9 |
November 17-21, 2008 |
|||||||||||||||||
10 |
November 24-28, 2008 |
Midterm Week |
||||||||||||||||
11 |
December 1-5, 2008 |
|||||||||||||||||
12 |
December 8-12, 2008 |
Sacrifice Holiday (4 days) |
||||||||||||||||
13 |
December 15-19, 2008 |
|||||||||||||||||
14 |
December 22-26, 2008 |
|||||||||||||||||
15 |
December 29-2, 2009 |
|||||||||||||||||
16 |
January 5-9, 2009 |
|||||||||||||||||
17 |
January 12-16, 2009 |
NO LECTURE |
||||||||||||||||
NO LAB |
||||||||||||||||||
Exams |
|
|||||||||||||||||
|
No Midterm Exam |
|
|
|||||||||||||||
18 |
Final Exam Ceng471 + Ceng505 January 27, 2009 Tuesday, 17:30 B-328 |
|