E-mail : ra.ramadan@uoh.edu.sa Web: http://www.rabieramadan.org Parallel Computing Rabie A. Ramadan , PhD E-mail : ra.ramadan@uoh.edu.sa Web: http://www.rabieramadan.org.

Slides:



Advertisements
Similar presentations
CEG3420 L1 Intro.1 Copyright (C) 1998 UCB CEG3420 Computer Design Lecture 1 Philip Leong.
Advertisements

What Great Research ?s Can RAMP Help Answer? What Are RAMP’s Grand Challenges ?
Parallel Algorithms - Introduction Advanced Algorithms & Data Structures Lecture Theme 11 Prof. Dr. Th. Ottmann Summer Semester 2006.
Lecture 1: Introduction to High Performance Computing.
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
Introduction to Computer Architecture & Design Computer Architecture and Design Lecture 0.
Introduction CSE 1310 – Introduction to Computers and Programming
INTRODUCTION TO COMPUTING
CSc 2310 Principles of Programming (Java) Dr. Xiaolin Hu.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
C o n f i d e n t i a l 1 Course: BCA Semester: III Subject Code : BC 0042 Subject Name: Operating Systems Unit number : 1 Unit Title: Overview of Operating.
CSE 3322 Computer Architecture Dr. John Patterson 614 NH Office Hours: M, W 11 –12 noon Grading Policy: Project 25%
Data Structures and Algorithms in Java AlaaEddin 2012.
Introduction Computer Organization Spring 1436/37H (2015/16G) Dr. Mohammed Sinky Computer Architecture
Course Aims This course will help you understand the latest technologies & how they work. You will lean how to develop computer programs to solve problems.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 April 28, 2005 Session 29.
1 A simple parallel algorithm Adding n numbers in parallel.
“Babeş-Bolyai” University Faculty of Economics and Business Administration Second semester 1st year, English line of study Business IT Introductive course.
High Performance Computing (HPC)
Sub-fields of computer science. Sub-fields of computer science.
Advanced Algorithms Analysis and Design
Design and Analysis of Algorithms (09 Credits / 5 hours per week)
Fluency with Information Technology
Topic: Introduction to Computing Science and Programming + Algorithm
Computers & Programming (CSE 102)
Overview Parallel Processing Pipelining
Computer Science 2 What’s this course all about?
CSCI 161: Introduction to Programming Course Introduction
Advanced Operating Systems CIS 720
CSc 1302 Principles of Computer Science II
Chapter 1 Introduction.
ELEC 7770 Advanced VLSI Design Spring 2016 Introduction
Auburn University COMP8330/7330/7336 Advanced Parallel and Distributed Computing Interconnection Networks (Part 2) Dr.
Dynamic connection system
CSE 3322 Computer Architecture
GC101 Introduction to computers and programs
Chapter 1- Introduction
Chapter 1: Introduction
Distributed Systems CS
Assembly Language for Intel-Based Computers, 5th Edition
COSC 3406: Computer Organization
Ch. 11 Theory of Computation
CS 21a: Intro to Computing I
Computer Technology Trends Research Project
Computer Science 102 Data Structures CSCI-UA
Introduction CSE 1310 – Introduction to Computers and Programming
Frequently asked questions about software engineering
Overview of the Course Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved. Students enrolled in Comp 412 at Rice University.
ELEC 7770 Advanced VLSI Design Spring 2014 Introduction
Advanced Operating Systems
Lecture 1: Parallel Architecture Intro
COP 5611: Operating Systems
ELEC 7770 Advanced VLSI Design Spring 2012 Introduction
T Computer Architecture, Autumn 2005
Objective of This Course
ELEC 7770 Advanced VLSI Design Spring 2010 Introduction
CS 160 Introduction to Computer Science
ENG3380 Computer Organization
CSE8380 Parallel and Distributed Processing Presentation
Chapter 1 Introduction.
Advanced Programing practices
LO2 – Understand Computer Software
Distributed Systems CS
Principles of Computing – UFCFA Week 1
Basic Concepts of Algorithm
Module 6: Introduction to Parallel Computing
Dept. of Computer & Information Sciences (Course Introduction)
Design and Analysis of Algorithms
Sarah Diesburg Operating Systems CS 3430
CSC 241: Introduction to Computer Science I
Presentation transcript:

E-mail : ra.ramadan@uoh.edu.sa Web: http://www.rabieramadan.org Parallel Computing Rabie A. Ramadan , PhD E-mail : ra.ramadan@uoh.edu.sa Web: http://www.rabieramadan.org 1 1 1

About the Course Course Title: Parallel Computing. Course Number: COE 420 Credit Hours: 3 Time of Lectures: 8---9:40 . Room: 11002.

Description of Course This course will provide An introduction to parallel computing. Different models in parallelism. Different measurements in parallel computing. Different models of parallel programming. Different methods of paralyzing the problems

Objectives of Course Be familiar with the importance of parallelism. Be familiar with a collection of parallel models (architectures). Be able to evaluate the efficiency of parallel programs and solutions by using different measurements. Be familiar with the different parallel programming models. Be able to use an efficient technique to solve the problem by parallelism.

Contents of Course Introduction to parallel computing (chapter 1). Parallel Models (chapter 2). Performance Measurements(chapters 3). Parallel Programming Models (chapter 4). Parallel Techniques (chapter 5). Problem Solving (chapter 6). 6

References Parallel Processing and Parallel Algorithms Seyed H. Roosta Springer, 2000 Lecture Notes by instructor.

Evaluation Total Marks: 100 Exam 1 (Major 1 ) 20% Final Exam 45 % Quiz (3), Reports, Homework, Attendance 15% 8

Homework Assignments The deadline of the home work is ONE week after finishing the chapter. The score of the homework will be decrease if you submit the home work after one week. Can discuss in groups, but each student must turn in his/her own written solution.

How to Succeed in this Course Be there in class. Participate in class. Ask the instructor if there is any misunderstand in the class. Didn’t play in mobile or talk with your friends. Review the lecture after each class or by the end of the week. Be formal and precise on all problem sets, home work, in-class exams.

Accelerated Processing Units (APUs)

Part 1: Introduction Concept of Parallel Computing. Goals of Parallel Computing. Parallel Computer. Applications of Parallelism.

Concept of Parallelism First-View What is the main idea for designing the computer? simulate the person data processing memory mind information/data result/action/.. input data output output devices CPU input devices

sequence of instructions Objectives of this simulation Sequential Computer sequence of instructions sequence of data input unit control unit processor memory output unit Objectives of this simulation do the computation fast running in long time without suspend/stop does not effected by external affecting ….

required many specializations can you transfer these concepts to me. In real life, the persons are cooperate to what: dangerous fast big required many specializations unsolved …. can you transfer these concepts to me.

CPU CPU CPU

required many specialization dangerous fast big required many specialization unsolved ….

solve the problem on the computer Second-View computer Problem solve the problem on the computer Stages O.S. architecture language, compiler output problem algorithm Is the problem solved in an efficient time or not? If yes then thanks How If no then try to solve the problem fast.

increase the no. of processors O.S. language, compiler architecture problem algorithm new/modify optimization technology reducing the time. Until !!!!! Lower bound no improvement solution

First-View Second-View Parallel Computers

http://rabieramadan.org/classes/2015-2016/COE420/

Why parallel computing? (1)solve the large problem. Example: Web search engines/databases processing millions of transactions per second often bigger is more important than faster (2) solve the problem fast. Example: sorting problem takes O(n log n) . In parallelism we can sort n elements in O(log n) time

Why parallel computing? (3) cost-effectiveness (4) fault-tolerance Fault tolerance is the property that enables a system to continue operating properly in the event of the failure of (or one or more faults within) some of its components. 

Why parallel computing? (5) TAKE ADVANTAGE OF NON-LOCAL RESOURCES Using compute resources on a wide area network, or even the Internet when local compute resources are scarce or insufficient.

Key enabling factors (1) Advances in microprocessor

Key enabling factors (2) Advances in interconnect technology.

Key enabling factors (3) Advances in software technology. Operating system Programming languages (Compiler)

parallel computer A parallel computer is a collection of processing elements that can cooperate and communicate to solve large problem fast. a collection of processing elements How many? tens/hundred/thousand How powerful is each? powerful/weak Homogenous - heterogeneous Few very powerful or many weak ones

Shared memory / message passing that can communicate… how do PEs communicate? Shared memory / message passing Interconnection network p1 p2 p0 p11 p10 p9 p7 p6 p8 p3 p4 p5 p0 p1 pi pi+1 pn-1 memory access unit Shared memory Interconnection network architecture? bus / crossbar / multistage,… Cost / latency / scalability / fault tolerance Latency is the time it takes one message to travel from source to destination.. An architecture is scalable if it continues to yield the same performance per processor as the number of PEs increases.

General purpose machine Special purpose machine and cooperate… synchronization autonomy to solve large problem General purpose machine Special purpose machine What applications are amenable to parallel processing: Highly parallel applications Monte-Carlo, Numerical computation Medium parallel applications VLSI-CAD Not-so-parallel applications Editors, compilers

Science Global climate modeling Astrophysical modeling Biology: genomics; protein folding; drug design Computational Chemistry Computational Material Sciences and Nanosciences Engineering Crash simulation Semiconductor design Earthquake and structural modeling Computation fluid dynamics (airplane design) Combustion (engine design) Business Financial and economic modeling Transaction processing, web services and search engines Defense Nuclear weapons -- test by simulations Cryptography

When the problem is Complex, Large / small, Expensive, Dangerous