SlideShare a Scribd company logo
1 of 9
Download to read offline
Parallel and Distributed Computing

            Zhiguo Zhang


            Winter, 2009
Course Objectives:

As multithreaded and multi-core processors become the mainstream computing platform,
writing parallel programs to exploit these processors’ computing potential becomes
increasingly important. This class will teach students concepts and techniques in
parallel and distributed computing. This course will concentrate on the basic
concepts, models, programming, system design and software engineering issues
associated with the development of parallel/distributed (enterprise) applications
or system. Many interesting programming projects will be assigned. Parallel and
distributed programming tools such as Pthreads, OpenMP, MPI, nVidia / CUDA will be
involved.


WWW: http://sist.sysu.edu.cn/~lnszzg/09w.PDC

Email: lnszzg@mail.sysu.edu.cn

Submission: 070000000.name.chapter01.hw.ver01.zip
Prerequisites:

This course requires courses in operating system, programming (C, C++). The
mastering of computer networks and computer architectures is preferred.

In general, you should have basic C/C++ programming skills and concepts such as
threads, cache, etc.
Principal Texts:

Foundations of Multithreaded, Parallel, and Distributed Programming, Gregory R.
Andrews, Addison Wesley, 2000, ISBN 0-201-35752-6.




Supplemental Texts:

Parallel Programming: Techniques and Applications Using Networked
Workstations and Parallel Computers, Barry Wilkinson and Michael Allen, Prentice
Hall, 1999, ISBN 0-13-671710-1. (China Machine Press, 2002)

Distributed Computing Principles and Applications, M. L. Liu, 清华大学

Scalable Parallel Computing: Technology, Architecture, Programming, Kai Hwang
and Zhiwei Xu, McGraw-Hill, 1999
Parallel Programming with MPI, Peter Pacheco, Morgan Kaufmann, 1996, ISBN
1-55860-339-5.

Java Network Programming and Distributed Computing, David Reilly and Michael
Reilly, Addison Wesley, 2002, ISBN 0-201-71037-4.

Java Distributed Computing Jim Farley, O'Reilly Publishers, 1998. ISBN
1-56592-206-9.

Designing and Building Parallel Programs: Concepts and Tools for Parallel Software
Engineering, Ian Foster, Addison Wesley, ISBN 0-201-57594-9.

Introduction to Parallel Computing: Design and Analysis of Algorithms, Vipin
Kumar, Ananth Grama, Anshul Gupta, and George Karypis, Benjamin Cummings,
1993, ISBN 0-8053-3170-0.
Grading Policy:

1. Homework, Lab And Class Projects (Individual): 60%
2. Final Exam: 40%

Bonus (10%): I will randomly give 10 simple quizzes in classes. The major purpose of quizzes is to
check your attendance.
Tentative Lecture Outline:

 Parallel and Distributed Computing – Basic concepts
 Computing Platforms
 Processes and synchronization
 Critical sections and locks
 Semaphores and Pthreads library
 Monitors and Java
 Multiprocessor implementations


 Parallel Computing
 Overview of parallel computing
 Barriers, data parallel algorithms, bag of tasks
 Semaphores and Pthreads library
 Message passing and MPI library
 Lab 1 (Parallel Programming)

 Distributed Computing
Distributed parallel computing
Clients and servers using message passing
RPC and rendezvous
Programming distributed systems: Ada, SR, Ada, Java sockets and RMI
Distributed implementations
Distributed computing paradigms
Lab 2 (Distributed Computing)

Networked Computing
Cluster Computing
Internet Applications (Client-Server and Distributed Objects)
Enterprise Computing (J2EE)
Assignment 2 (Distributed Computing)

Formal Models
CSP, SDL, Lotos, CTL and model checking
Writing (Report) Guideline:

  Title
  Introduction
  Conceptual Model
  Detailed Computing Model(s) or Architecture
  Software Architecture (Implementation)
  Programming Considerations and Examples
  Summary
  References


Final Exam:

  Multiple Choices
  Programming
  Explanation and design

More Related Content

Similar to Parallel and distributed computing.zhang zhiguo.2009w 1

Computer Organisation and Architecture Teaching Trends
Computer Organisation and Architecture Teaching TrendsComputer Organisation and Architecture Teaching Trends
Computer Organisation and Architecture Teaching Trendsyogesh1617
 
Computer Oraganisation and Architecture
Computer Oraganisation and ArchitectureComputer Oraganisation and Architecture
Computer Oraganisation and Architectureyogesh1617
 
Lecture 0 - Parallel Computing.pptx
Lecture 0 - Parallel Computing.pptxLecture 0 - Parallel Computing.pptx
Lecture 0 - Parallel Computing.pptxMasreshaA
 
Mit109 – software engineering
Mit109 – software engineeringMit109 – software engineering
Mit109 – software engineeringsmumbahelp
 
Mit109 – software engineering
Mit109 – software engineeringMit109 – software engineering
Mit109 – software engineeringsmumbahelp
 
SystemsProgrammingCourse FSDFFSFDSDSDSFSFS
SystemsProgrammingCourse FSDFFSFDSDSDSFSFSSystemsProgrammingCourse FSDFFSFDSDSDSFSFS
SystemsProgrammingCourse FSDFFSFDSDSDSFSFSmeharikiros2
 
OSCON 2014: Data Workflows for Machine Learning
OSCON 2014: Data Workflows for Machine LearningOSCON 2014: Data Workflows for Machine Learning
OSCON 2014: Data Workflows for Machine LearningPaco Nathan
 
Recent Advances in Machine Learning: Bringing a New Level of Intelligence to ...
Recent Advances in Machine Learning: Bringing a New Level of Intelligence to ...Recent Advances in Machine Learning: Bringing a New Level of Intelligence to ...
Recent Advances in Machine Learning: Bringing a New Level of Intelligence to ...Brocade
 
Presentation2.pptx
Presentation2.pptxPresentation2.pptx
Presentation2.pptxWaqasGul9
 
Role of python in hpc
Role of python in hpcRole of python in hpc
Role of python in hpcDr Reeja S R
 
Computer Tools for Academic Research
Computer Tools for Academic ResearchComputer Tools for Academic Research
Computer Tools for Academic ResearchMiklos Koren
 
IS 139 Course Outline - 2015
IS 139 Course Outline - 2015IS 139 Course Outline - 2015
IS 139 Course Outline - 2015Aron Kondoro
 
Computer Systems Lab Overview
Computer Systems Lab OverviewComputer Systems Lab Overview
Computer Systems Lab Overviewbutest
 
Deep Learning Enabled Question Answering System to Automate Corporate Helpdesk
Deep Learning Enabled Question Answering System to Automate Corporate HelpdeskDeep Learning Enabled Question Answering System to Automate Corporate Helpdesk
Deep Learning Enabled Question Answering System to Automate Corporate HelpdeskSaurabh Saxena
 

Similar to Parallel and distributed computing.zhang zhiguo.2009w 1 (20)

Computer Organisation and Architecture Teaching Trends
Computer Organisation and Architecture Teaching TrendsComputer Organisation and Architecture Teaching Trends
Computer Organisation and Architecture Teaching Trends
 
Computer Oraganisation and Architecture
Computer Oraganisation and ArchitectureComputer Oraganisation and Architecture
Computer Oraganisation and Architecture
 
01.intro
01.intro01.intro
01.intro
 
Lecture 0 - Parallel Computing.pptx
Lecture 0 - Parallel Computing.pptxLecture 0 - Parallel Computing.pptx
Lecture 0 - Parallel Computing.pptx
 
intro.pptx
intro.pptxintro.pptx
intro.pptx
 
Mit109 – software engineering
Mit109 – software engineeringMit109 – software engineering
Mit109 – software engineering
 
Mit109 – software engineering
Mit109 – software engineeringMit109 – software engineering
Mit109 – software engineering
 
SystemsProgrammingCourse FSDFFSFDSDSDSFSFS
SystemsProgrammingCourse FSDFFSFDSDSDSFSFSSystemsProgrammingCourse FSDFFSFDSDSDSFSFS
SystemsProgrammingCourse FSDFFSFDSDSDSFSFS
 
Mahsa ahmadi (1)
Mahsa ahmadi (1)Mahsa ahmadi (1)
Mahsa ahmadi (1)
 
Brochure curriculum (1)
Brochure curriculum (1)Brochure curriculum (1)
Brochure curriculum (1)
 
Chapter 1 pc
Chapter 1 pcChapter 1 pc
Chapter 1 pc
 
Be computer-engineering-2012
Be computer-engineering-2012Be computer-engineering-2012
Be computer-engineering-2012
 
OSCON 2014: Data Workflows for Machine Learning
OSCON 2014: Data Workflows for Machine LearningOSCON 2014: Data Workflows for Machine Learning
OSCON 2014: Data Workflows for Machine Learning
 
Recent Advances in Machine Learning: Bringing a New Level of Intelligence to ...
Recent Advances in Machine Learning: Bringing a New Level of Intelligence to ...Recent Advances in Machine Learning: Bringing a New Level of Intelligence to ...
Recent Advances in Machine Learning: Bringing a New Level of Intelligence to ...
 
Presentation2.pptx
Presentation2.pptxPresentation2.pptx
Presentation2.pptx
 
Role of python in hpc
Role of python in hpcRole of python in hpc
Role of python in hpc
 
Computer Tools for Academic Research
Computer Tools for Academic ResearchComputer Tools for Academic Research
Computer Tools for Academic Research
 
IS 139 Course Outline - 2015
IS 139 Course Outline - 2015IS 139 Course Outline - 2015
IS 139 Course Outline - 2015
 
Computer Systems Lab Overview
Computer Systems Lab OverviewComputer Systems Lab Overview
Computer Systems Lab Overview
 
Deep Learning Enabled Question Answering System to Automate Corporate Helpdesk
Deep Learning Enabled Question Answering System to Automate Corporate HelpdeskDeep Learning Enabled Question Answering System to Automate Corporate Helpdesk
Deep Learning Enabled Question Answering System to Automate Corporate Helpdesk
 

Parallel and distributed computing.zhang zhiguo.2009w 1

  • 1. Parallel and Distributed Computing Zhiguo Zhang Winter, 2009
  • 2. Course Objectives: As multithreaded and multi-core processors become the mainstream computing platform, writing parallel programs to exploit these processors’ computing potential becomes increasingly important. This class will teach students concepts and techniques in parallel and distributed computing. This course will concentrate on the basic concepts, models, programming, system design and software engineering issues associated with the development of parallel/distributed (enterprise) applications or system. Many interesting programming projects will be assigned. Parallel and distributed programming tools such as Pthreads, OpenMP, MPI, nVidia / CUDA will be involved. WWW: http://sist.sysu.edu.cn/~lnszzg/09w.PDC Email: lnszzg@mail.sysu.edu.cn Submission: 070000000.name.chapter01.hw.ver01.zip
  • 3. Prerequisites: This course requires courses in operating system, programming (C, C++). The mastering of computer networks and computer architectures is preferred. In general, you should have basic C/C++ programming skills and concepts such as threads, cache, etc.
  • 4. Principal Texts: Foundations of Multithreaded, Parallel, and Distributed Programming, Gregory R. Andrews, Addison Wesley, 2000, ISBN 0-201-35752-6. Supplemental Texts: Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers, Barry Wilkinson and Michael Allen, Prentice Hall, 1999, ISBN 0-13-671710-1. (China Machine Press, 2002) Distributed Computing Principles and Applications, M. L. Liu, 清华大学 Scalable Parallel Computing: Technology, Architecture, Programming, Kai Hwang and Zhiwei Xu, McGraw-Hill, 1999
  • 5. Parallel Programming with MPI, Peter Pacheco, Morgan Kaufmann, 1996, ISBN 1-55860-339-5. Java Network Programming and Distributed Computing, David Reilly and Michael Reilly, Addison Wesley, 2002, ISBN 0-201-71037-4. Java Distributed Computing Jim Farley, O'Reilly Publishers, 1998. ISBN 1-56592-206-9. Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering, Ian Foster, Addison Wesley, ISBN 0-201-57594-9. Introduction to Parallel Computing: Design and Analysis of Algorithms, Vipin Kumar, Ananth Grama, Anshul Gupta, and George Karypis, Benjamin Cummings, 1993, ISBN 0-8053-3170-0.
  • 6. Grading Policy: 1. Homework, Lab And Class Projects (Individual): 60% 2. Final Exam: 40% Bonus (10%): I will randomly give 10 simple quizzes in classes. The major purpose of quizzes is to check your attendance.
  • 7. Tentative Lecture Outline: Parallel and Distributed Computing – Basic concepts Computing Platforms Processes and synchronization Critical sections and locks Semaphores and Pthreads library Monitors and Java Multiprocessor implementations Parallel Computing Overview of parallel computing Barriers, data parallel algorithms, bag of tasks Semaphores and Pthreads library Message passing and MPI library Lab 1 (Parallel Programming) Distributed Computing
  • 8. Distributed parallel computing Clients and servers using message passing RPC and rendezvous Programming distributed systems: Ada, SR, Ada, Java sockets and RMI Distributed implementations Distributed computing paradigms Lab 2 (Distributed Computing) Networked Computing Cluster Computing Internet Applications (Client-Server and Distributed Objects) Enterprise Computing (J2EE) Assignment 2 (Distributed Computing) Formal Models CSP, SDL, Lotos, CTL and model checking
  • 9. Writing (Report) Guideline: Title Introduction Conceptual Model Detailed Computing Model(s) or Architecture Software Architecture (Implementation) Programming Considerations and Examples Summary References Final Exam: Multiple Choices Programming Explanation and design