Parallel Computing

/ MSCS Program

CS582

Parallel Computing

Summer 2012 Term

COURSE TYPE:

The majority of professor-led contact hours take place in a traditional classroom. The overall nature of the course is “traditional”.

Instructor Information:

/ Name: / Nagi Mekhiel
Phone Numbers: / 416-979-5000 EX 7251
Office Location: / D8
Office Hours: / T 5-6PM
Email: /
Web: / http://www.ee.ryerson.ca/~courses/ee8218

Time / Place:

·  Term Dates: May 21-Aug 8, 2012

·  Weekly Class Meeting: Wednesday 6-9:30PM

·  Classroom: D8

·  Drop Date: 6/4 without “W”, 7/2 with “W”. ( consult with registrar’s office for its accuracy).

ReadingS:

The required textbook for this course is:

Author(s): / David E. Culler, Jaswinder Pal Singh
Text Title: / Parallel Computer Architecture: A Software/Hardware Approach
Year of publication: / 1999
Edition: / second
Publisher: / Morgan Kaufmann Publishers, San Francisco, California
ISBN Number: / 1-55860-343-3

Course Description:

Parallel Computing:

This course introduces students to parallel computing including parallel algorithms, parallel programming and the different parallel architectures. The course covers the basic programming models used in parallel computers, parallel algorithms, parallel programming, the shared memory multiprocessor and NUMA multiprocessor. The Laboratory projects include parallel programming using one of the parallel models

(SIMD, MPI, OPENMP).

TECHNOLOGY REQUIREMENTS:

Students may use their own computers with MPI or OPENMP software available for free to download and install. Either you should be able to come to D8 lab outside class time or you must provide your own computer for this course.

CLU utilizes Blackboard to enhance course learning and achieve the designated student learning outcomes. Technology requirements for the Blackboard system can be found at the following website:

http://www.callutheran.edu/ctl/Blackboard.php

Outline of STUDENT LEARNING Objectives

(COURSE GOASL /OBJECTIVES)

Upon completion of this course, you should be able to:

1.  Understand fundamentals concept of parallel computing.

2.  Build a parallel computer

3.  Run parallel programs

4.  Evaluate performance gain of Parallel Computing

5.  Understand how to optimize performance of parallel computing

Didactic Approach:
This course rests on several components – self-study, lectures, interaction, as well as practice and application:

·  Self-Study

o  Preparation in self-study by students before lecture to become familiar with new material and to stimulate thinking, generate ideas and questions.

·  Lecture

o  Presentation of topics in class by instructor using blackboard and PowerPoint slides.

·  Hands on session.

o  Reinforcement of fundamental theory covered in class using Lab projects.

·  Student-Instructor Interaction

o  Discussion of selected questions, finding of examples, answering of questions etc. in the weekly asynchronous, instructor-facilitated discussion of relevant topics on discussion boards.

o  Direct interaction between student and instructor.

o  Discussion through emails.

·  Practice and Application

o  Participation in discussion during Labs.

o  Deepening of concepts in discussion.

o  Final project / presentation on a selected topic.

ASSESSMENT:

Assessment in this course is based on multiple elements. Each form of assessment addresses different (sometimes multiple) learning outcomes and each form of assessment requires a different set of knowledge, skills and abilities:

Attendance and Participation:

Attendance is critical to successful learning. Absences related to jobs, health, and/or civil/military duties need to be made known to the instructor as early as possible. Please come to class prepared by reading course materials in advance and participate in class discussion actively.

Homework:

Homework assignment will be given to assess your preparation and understanding of the subject material. Assignments must be completed individually. Peer discussion for homework assignments is encourages.

Projects:

Projects will be given to solidify theoretical concept discussed in class and to provide hands-on experience with real parallel computer running useful applications. Projects may be completed as group work of up to 4 students.

DEADLINES AND DUE DATES:

Following is an overview of various due dates for the different forms of assessment: (NOTES: Dates in this section should match with them in “Overview of topics and schedule of topics and activities” section).

Assessment / Start Date (if applicable) / Due Date / Remarks
Assignment / 7/11 / 7/25 / please see course web page
Project 1 / 5/23 / 5/30 / Download SIMPiL Simulator
Project 2 / 5/30 / 6/6 / Running SIMPiL
Project 3 / 6/6 / 6/13 / Running useful Application in SIMPiL
Final Project / 6/20 / 7/30 / Using MPI, OPENMP and presentation
grading:

Grading in this class will be based on the following elements and the grading scale provided below:

Percentage / Grade / Assessment / Points
>94% / A / Assignment / 10
90% to 93% / A- / Lab Projects / 20
87% to 89% / B+ / Final Project / 60
84% to 86% / B / Class Participation / 10
80% to 83% / B- / Total / 100
77% to 79% / C+
74% to 76% / C
70% to 73% / C-
50% to 69% / D
RADING STANDARDS / Student Achievement
Below Average / Average / Above Average / Outstanding
Homework Assignments & Projects / Students do not follow the instructions for the assignment and/or are not sufficiently capable of presenting their ideas in a concise, coherent, relevant and insightful manner / Students largely follow the instructions for the assignment. Their comprehension of the assignment is not complete. Their work shows considerable room for improvement concerning coherence, conciseness, relevance, and insightfulness. / Students closely follow the instructions for this assignment. They demonstrate comprehension of the assignment. Their work shows some room for improvement concerning coherence, conciseness, relevance and insightfulness. / Students closely follow the instructions for this assignment. They not only clearly demonstrate comprehension of the assignment, but they also display flawless coherence, conciseness, relevance and insightfulness.

ASSESSMENTS AND LEARNING OUTCOMES:

CLU Student Learning Outcomes:

The course meets the following CLU’s student Learning Outcome.

1.  Field-specific Knowledge and Experience

2.  Ethical and professional judgment.

3.  Interpersonal & teamwork skills

4.  Critical Thinking

5.  Information Literacy and Computer Skills

6.  Ability to comprehend issues from disciplinary and interdisciplinary perspectives

Form of Assessment / Student Learning Outcomes
1 / 2 / 3 / 4 / 5
Homework Assignment / x / x
Lab Projects / x / x / x
Final Project / x / x / x / x / x

MSCS Program Outcomes:

The course meets the following MSCS program student Learning Outcome.

1.  Acquiring mastery of knowledge in each of following focused area: database, network security, embedded system, intelligent information systems, creative technology.

2.  Creating efficient algorithms and well structured computer solutions to successfully solve problems.

3.  Evaluating and choose appropriate and necessary technology as a tool to solve problems.

Form of Assessment / Student Learning Outcomes
1 / 2 / 3
Homework Assignment / x / x / x
Projects / x / x / x
Discussion Board / x / x
Exam / x / x / x

OVERVIEW OF TOPICS AND SCHEDULE OF TOPICS AND ACTIVITIES

Date / Topic / Homework & Project discussion
5/23/12 / Introduction to Parallel Architecture
-shared memory
-message passing
-other parallel architectures
-programming model and communication / Introduction to SIMD (download SIMPil simulator)
5/30/12 / Parallel Programs
-Examples of Parallel Applications / Using SIMPil
6/6/12 / Parallel Programs
-Examples of Parallel Applications
-Parallelization Process / Running application on SIMPil
6/13/12 / Parallel Programs
-Examples of Parallel Applications
-Parallelization Process / Installing MPI, OpenMP
6/20/12 / Parallel Programs
-Example Program / Installing MPI, OpenMP
6/27/12 / -Programming for Performance
-partitioning / Installing MPI, OpenMP
7/6/12
(Friday 6-9:30 PM) / -Programming for Performance
-partitioning
-Communication-Programming for Performance / Compile, Running application
7/11/12 / Shared Memory Multiprocessors
-Cache Coherence
-Memory Consistency / Compile, Running application
7/18/12 / Shared Memory Multiprocessors
-Design Snooping Protocol
-Design Trade-offs / Compile, Running application
7/25/12 / Shared Memory Multiprocessors
-Synchronization
-Implication for Software / Optimization of Performance
7/30/12
(Monday
6-9 PM) / Projects Presentation / Final Presentation

Saturday June 9, 11:00 AM-6:00 PM MPI Lab Support Session

Saturday July 28, 11:00 AM-6:00 PM Projects Support Session

STUDENT WORKLOAD FOR THIS COURSE:

This is an 11-week, 4 credit unit course that consists of a minimum of 60 hours of instructor-led components and a minimum of 120 hours of non-instructor led, independent activities. A detailed breakdown of times (1 hour = 50 minutes) and activities can be found from the following table:

Activity / Instructor-Led / Independent / Remarks
Weekly / Course / Weekly / Course
Lecture / 4 / 44 / 1 hour * 11 weeks = 11 hours
Discussion / 1 / 11 / 1.5 / 16.5 / 1 hour * 11 weeks = 11 hours
1.5 hours * 11 weeks = 16.5 hours
1 Homework assignments (average) / 2 / 20 / 2 hours * 10 weeks = 20 hours
2 Projects (average) / 2 / 10 / 2 hours * 10 weeks = 20 hours
Reading (PowerPoint slides, textbooks) / 3 / 44 / 4 hours * 11 weeks = 44 hours
Consultations with instructor by email or phone / 0.5 / 5
Final Project preparation / 34.5
SUM / 60 / 125

Course policies:

·  For late assignments/projects. With a valid reason, I will accept late exercise without penalty. Otherwise a late exercise carries 10% of its total point value for each calendar day. No late turn in assignment/projects will be accepted beyond July 28th Saturday midnight.

·  Collaboration and discussion is encouraged, but the work itself should be done independently unless it is a group work.

·  Exams: You are expected to take exams during the regular class period on the dates scheduled. Exceptions to this policy will be allowed if you have a documented medical excuses and only if you make arrangements with me before the scheduled exam period.

Course Evaluations:

All course evaluations are conducted online. Your feedback is important to us. You will receive an email message reminding you when the website is open for your feedback. The link is: http://courseval.callutheran.edu

Academic integrity:

The educational programs of California Lutheran University are designed and dedicated to achieve academic excellence, honesty and integrity at every level of student life. Part of CLU’s dedication to academic excellence is our commitment to academic honesty. Students, faculty, staff and administration share the responsibility for maintaining high levels of scholarship on campus. Any behavior or act which might be defined as “deceitful” or “dishonest” will meet with appropriate disciplinary sanctions, including dismissal from the University, suspension, grade F in a course or various forms of academic probation. Policies and procedures regarding academic honesty are contained in the faculty and student handbooks.

Plagiarism, cheating, unethical computer use and facilitation of academic dishonest are examples of behavior that will result in disciplinary sanctions. Plagiarism includes, but is not limited to:

·  Word for word copying without using quotation marks or presenting the work as yours

·  Using the ideas or work of others without acknowledgement

·  Not citing quoted material.Students must cite sources for any information that is not either the result of original research or common knowledge.

Pearson Library:

At CLU we won't tell you what to think — we'll teach you how to think. You'll learn how to gather information, analyze and synthesize. Don't worry about the "gathering"... that's the easy part. We have technicians, information specialists, and trainers to help you find the information you need. Pearson Library provides access to scholarly books, journals, ebooks, and databases of full text articles from scholarly journals. To begin using these materials, visit the library web page http://www.callutheran.edu/iss/research/. Librarians are available to assist you at the Thousand Oaks campus or via Meebo chat on the Library’s home page or emailing . You may contact the library at (805) 493-3250. If you attend classes at one of CLU’s satellite locations, see http://www.callutheran.edu/iss/research/satellite.phpfor the full range of services provided.

CLU Writing Center:

Experienced Writing Center tutors help CLU's undergraduate and graduate students with their writing projects: reading free writes to find the best ideas; refining thesis statements; showing students how to structure paragraphs; and using specific exercises to improve sentence syntax. They work with whole classes as well as with individual students on the style guidelines required for papers in the various disciplines. All enrolled CLU students are invited to make use of the Writing Center’s services. For additional information, please visit http://www.callutheran.edu/writing_center/, call 805-493-3257, or email in order to schedule an appointment or contact.

Disability Statement:

California Lutheran University is committed to providing reasonable accommodations in compliance with ADA of 1990 and Section 504 of the Rehabilitation Act of 1973 to students with documented disabilities. If you are a student requesting accommodations for this course, please contact your professor at the beginning of the semester and register with the Accessibility Resource Coordinator for the facilitation and verification of need. The Accessibility Resource Coordinator is located in the Center for Academic and Accessibility Resources (CAAR) Office, and can be contacted by calling 805.493.3878 or by completing the online form at http://www.callutheran.edu/car/contact/.

Instructor BIO:

Dr. Klassen received her master's degree in computer and information science and her doctorate in computer science and engineering. Before coming to CLU, she served as an assistant and associate professor at Chinese University of Hong Kong in Hong Kong and Soochow University in Taipei.In addition to her established research record and teaching skills, Dr. Klassen has several years of experience working in industry as a programmer and systems analyst.Her doctorate work and specialty is artificial intelligence (AI), machine learning and pattern recognition. Her recent research interest is in data mining, bioinformatics and web mining.

DISCLAIMER:

This syllabus may change from time to time to accommodate changing circumstances. Every effort will be made to alert students to changes that occur in a timely manner.

5