Parallel Algorithm Design & Analysis Course Dr. Stephen V. Providence Motivation, Overview, Expectations, What’s next.

Slides:



Advertisements
Similar presentations
ICS 556 Parallel Algorithms Ebrahim Malalla Office: Bldg 22, Room
Advertisements

© Janice Regan Problem-Solving Process 1. State the Problem (Problem Specification) 2. Analyze the problem: outline solution requirements and design.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Parallel and Distributed Algorithms (CS 6/76501) Spring 2010 Johnnie W. Baker.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
Parallel & Distributed Computing Fall 2004 Comments About Final.
CSE 221: Probabilistic Analysis of Computer Systems Topics covered: Course outline and schedule Introduction (Sec )
A-1 © 2000 UW CSE University of Washington Computer Programming I Lecture 1: Overview and Welcome Dr. Martin Dickey University of Washington.
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
Exercise problems for students taking the Programming Parallel Computers course. Janusz Kowalik Piotr Arlukowicz Tadeusz Puzniakowski Informatics Institute.
Parallel and Distributed Computing Overview and Syllabus Professor Johnnie Baker Guest Lecturer: Robert Walker.
CHALLENGING SCHEDULING PROBLEM IN THE FIELD OF SYSTEM DESIGN Alessio Guerri Michele Lombardi * Michela Milano DEIS, University of Bologna.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson.
Discrete mathematics Kwon, Taekyoung Courtesy of Dr. Michael P. Frank University of Florida.
Guiding Principles. Goals First we must agree on the goals. Several (non-exclusive) choices – Want every CS major to be educated in performance including.
Intro: FIT1001 Computer Systems S Important Notice for Lecturers This file is in skeleton form only Lecturers are expected to modify / enhance.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
240-Current Research Easily Extensible Systems, Octave, Input Formats, SOA.
Ministry of Higher Education Sohar College of Applied Sciences IT department Comp Introduction to Programming Using C++ Fall, 2011.
Architectural Engineering Department. AE151  Teaching the students all about the drawing methods and techniques using CAD programs in 2D Architectural.
ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
Parallel and Distributed Computing Overview and Syllabus Professor Johnnie Baker Guest Lecturer: Robert Walker.
3/12/2013Computer Engg, IIT(BHU)1 INTRODUCTION-1.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 April 28, 2005 Session 29.
Introductory Lecture. What is Discrete Mathematics? Discrete mathematics is the part of mathematics devoted to the study of discrete (as opposed to continuous)
SubjectEngineering Mathematics 2 CodeDME 2133 StatusCompulsory LevelDiploma Credit Value3(2+1) 1 credit hour lecture is equivalent to 1 hour contact per.
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
APPLIED MANAGEMENT SCIENCE IN AGRICULTURAL SYSTEMS I
Advanced Algorithms Analysis and Design
CSC 222: Object-Oriented Programming
Computer Engineering Department Islamic University of Gaza
Algorithms and Problem Solving
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
MATH/COMP 340: Numerical Analysis I
CSC 321: Data Structures Fall 2016
ECE 3301 General Electrical Engineering
CSC 221: Computer Programming I Spring 2010
CSC 221: Computer Programming I Fall 2005
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing Data Partition Dr. Xiao Qin Auburn University.
Activating Prior Knowledge Lecture Preparation
University of Washington Computer Programming I
Principles of Computing – UFCFA Lecture-1
Parallel and Distributed Algorithms (CS 6/76501) Spring 2007
Course Description Algorithms are: Recipes for solving problems.
COSC051: Computer Science I
COMS W1004 Introduction to Computer Science and Programming in Java
Foundations of Computer Science
Data Structures and Algorithms in Parallel Computing
Parallel and Distributed Computing Overview
Parallel and Distributed Algorithms Spring 2005
COP 5611: Operating Systems
Objective of This Course
Unit-2 Divide and Conquer
CSCE569 Parallel Computing
Introduction CSE 373 Data Structures.
Numerical Algorithms Quiz questions
Parallel & Distributed Computing Fall 2008
Algorithms and Problem Solving
Administrivia- Introduction
CompSci 1: Principles of Computer Science Lecture 1 Course Overview
Mattan Erez The University of Texas at Austin
Principles of Computing – UFCFA Week 1
Computer Engineering Department Islamic University of Gaza
Course Description Algorithms are: Recipes for solving problems.
Design and Analysis of Algorithms
Lecture 1a- Introduction
Parallel & Distributed Computing Fall 2006
Presentation transcript:

Parallel Algorithm Design & Analysis Course Dr. Stephen V. Providence Motivation, Overview, Expectations, What’s next.

Dr. Stephen V. Providence Parallel Algorithms 2 Motivation The most important element of parallel computation and the primary focus of this course is the parallel algorithm, without which no problem could be solved in parallel.

Dr. Stephen V. Providence Parallel Algorithms 3 Motivation The manner in which algorithms occupy a central place in computer science, parallel algorithms occupy the center in parallel computation. Given a problem to be solved in parallel, a parallel algorithm defines how the problem can be solved on the given parallel computer. (i.e. Grid Computing System)

Dr. Stephen V. Providence Parallel Algorithms 4 Motivation Specifically, parallel computation must specify how the problem is divided into sub-problems, how the processors communicate, and how the partial solutions are combined to produce the final answer.

Dr. Stephen V. Providence Parallel Algorithms 5 Motivation An understanding of the role of parallel algorithms and a good knowledge of the techniques of designing and analyzing them are essential to anyone entering the field of HPC or Computational Science.

Dr. Stephen V. Providence Parallel Algorithms 6 Overview To be taught in a manner analogous to a course on sequential algorithms, –this course will apply a similar course schema to parallel algorithm design and analysis. –there are topics unique to parallel algorithms.

Dr. Stephen V. Providence Parallel Algorithms 7 Overview Start with simple searching and sorting algorithms. Then design them for parallel execution over given parallel topology (hypercube, mesh, grid), –details in the syllabus. Progress made to more advanced algorithms, –such as: sorting networks, polynomial products, DFT and FFT. –details in the syllabus.

Dr. Stephen V. Providence Parallel Algorithms 8 Overview The textbook will outline the principles and give students and in-hand guide. Handouts may be ed to students along with technical data from journal articles. The following texts are under consideration: –S.G. Akl, Parallel Computation: Models and Methods (reference). –S.G. Alk, The Design and Analysis of Parallel Algorithms (source) –M.J. Quinn, Parallel Programming in C with MPI and OpenMP (practical).

Dr. Stephen V. Providence Parallel Algorithms 9 Overview Programming in Parallel is an essential component of the course. All algorithms must be coded and run on an available parallel computing system. –The binding language of choice is MPI. –We may use C or HPF (ForTran), probably C. –HPC++ and Java are possibilities (not Perl).

Dr. Stephen V. Providence Parallel Algorithms 10 Overview This course lends itself well to NCREN; –much of the work can be done online, parallel codes easily demonstrated over NCREN, lectures explaining algorithm functionality can be given over NCREN, presentations of complex parallel computing concepts can be given visually (animations), –exams and the like may be done off-line.

Dr. Stephen V. Providence Parallel Algorithms 11 Overview Culmination of course: –work on real research project, –execute algorithm design cycle, 1.preliminary algorithms designed and analyzed, 2.prototype codes created and tested, 3.codes verified and run, –extend and refine, –repeat design cycle.

Dr. Stephen V. Providence Parallel Algorithms 12 Overview Real world problem: –research in sparse matrix by vector products, –current research relies on matrix transformations, –use of structured matrices (Vandermonde, Cauchy, Toeplitz, Hankel, and matrices of related structure), –create diagonally dominant block matrices, –utilize super-fast linear system solvers, –all derived algorithms are highly parallelizable (sic), –applications to material science, CFD, and pure mathematics, details in the syllabus.

Dr. Stephen V. Providence Parallel Algorithms 13 Expectations All students will appreciate the relevance and utility of parallel algorithms in HPC; –their realization of parallel algorithm, importance will force them to seek the relevant algorithm first, then code the efficient solution (same as sequential).

Dr. Stephen V. Providence Parallel Algorithms 14 Expectations They will be able to solve problems more efficiently and know the limits of their solution (time and memory constraints); –NP-hard and NP-complete problems, –principle of parallel synergy (not limited by Amdahl’s speedup rule), –real time parallel computing

Dr. Stephen V. Providence Parallel Algorithms 15 Expectations They will have the facility to extend well- known algorithms to solve specific problems; –many interesting problems require modification of parallel algorithm to exploit hidden parallelism, –often these modifications are minor.

Dr. Stephen V. Providence Parallel Algorithms 16 Expectations Focus is on algorithms: –not parallel architecture, –not parallel programming. Although this course uses elements of both, it will give the student a foundation for work in HPC.

Dr. Stephen V. Providence Parallel Algorithms 17 What’s next Tasks: –set timetable –generate syllabus, lecture schedule, assignment, quiz and exam schedule, grading rules, –choose textbook (listed above), –select computing platform (IBM p-series 690), –programming language (C or ForTran 90/95 w/ MPI, HPF, HPC++…).

Dr. Stephen V. Providence Parallel Algorithms 18 What’s next Contact: Dr. Stephen V. Providence North Carolina A&T State University Department of Computer Science McNair Hall E. Market St. Greensboro, NC 27411