Lecturer: Simon Winberg Lecture 18 Amdahl’s Law & YODA Blog & Design Review.

Slides:



Advertisements
Similar presentations
CSE 160 – Lecture 9 Speed-up, Amdahl’s Law, Gustafson’s Law, efficiency, basic performance metrics.
Advertisements

Performance Measurement n Assignment? n Timing #include double When() { struct timeval tp; gettimeofday(&tp, NULL); return((double)tp.tv_sec + (double)tp.tv_usec.
Prepared 7/28/2011 by T. O’Neil for 3460:677, Fall 2011, The University of Akron.
CS487 Software Engineering Omar Aldawud
Potential for parallel computers/parallel programming
Performance Analysis of Multiprocessor Architectures
11Sahalu JunaiduICS 573: High Performance Computing5.1 Analytical Modeling of Parallel Programs Sources of Overhead in Parallel Programs Performance Metrics.
PARALLEL PROGRAMMING with TRANSACTIONAL MEMORY Pratibha Kona.
Detailed Design Kenneth M. Anderson Lecture 21
1 COMP 206: Computer Architecture and Implementation Montek Singh Mon., Sep 5, 2005 Lecture 2.
1 Lecture 4 Analytical Modeling of Parallel Programs Parallel Computing Fall 2008.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming with MPI and OpenMP Michael J. Quinn.
CS 584 Lecture 11 l Assignment? l Paper Schedule –10 Students –5 Days –Look at the schedule and me your preference. Quickly.
Lecture 5 Today’s Topics and Learning Objectives Quinn Chapter 7 Predict performance of parallel programs Understand barriers to higher performance.
Using JetBench to Evaluate the Efficiency of Multiprocessor Support for Parallel Processing HaiTao Mei and Andy Wellings Department of Computer Science.
Lecturer: Simon Winberg Review of EEE4084F  Lecture content covered  Readings, seminars, chapters EEE4084F.
Data Structures and Programming.  John Edgar2.
1 Welcome to EQ2430/EQ2435/EQ2440 Project in Wireless Communication Lecture 1 March 20, 2015 Per Zetterberg School of Electrical Engineering.
Slides Prepared from the CI-Tutor Courses at NCSA By S. Masoud Sadjadi School of Computing and Information Sciences Florida.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Performance Evaluation of Parallel Processing. Why Performance?
Lecture 14 Reconfigurable Computing Basics Lecturer: Simon Winberg.
Extending Amdahl’s Law in the Multicore Era Erlin Yao, Yungang Bao, Guangming Tan and Mingyu Chen Institute of Computing Technology, Chinese Academy of.
INTEL CONFIDENTIAL Predicting Parallel Performance Introduction to Parallel Programming – Part 10.
Lecture 2 Process Concepts, Performance Measures and Evaluation Techniques.
Amdahl’s Law in the Multicore Era Mark D.Hill & Michael R.Marty 2008 ECE 259 / CPS 221 Advanced Computer Architecture II Presenter : Tae Jun Ham 2012.
Agenda Project discussion Modeling Critical Sections in Amdahl's Law and its Implications for Multicore Design, S. Eyerman, L. Eeckhout, ISCA'10 [pdf]pdf.
Software Engineering Management Lecture 1 The Software Process.
Chapter 12: Systems Investigation and Analysis. Agenda  How to Develop a CBIS?  Systems Development Life Cycle (SDLC)  Prototyping  Join Application.
Amdahl's Law Validity of the single processor approach to achieving large scale computing capabilities Presented By: Mohinderpartap Salooja.
CS453 Lecture 3.  A sequential algorithm is evaluated by its runtime (in general, asymptotic runtime as a function of input size).  The asymptotic runtime.
Performance Measurement. A Quantitative Basis for Design n Parallel programming is an optimization problem. n Must take into account several factors:
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
April 26, CSE8380 Parallel and Distributed Processing Presentation Hong Yue Department of Computer Science & Engineering Southern Methodist University.
ICOM 6115: COMPUTER SYSTEMS PERFORMANCE MEASUREMENT AND EVALUATION Nayda G. Santiago August 16, 2006.
Compiled by Maria Ramila Jimenez
Lecturer: Simon Winberg Lecture 18 Amdahl’s Law (+- 25 min)
Lecture 9 TTH 03:30AM-04:45PM Dr. Jianjun Hu CSCE569 Parallel Computing University of South Carolina Department of.
Topics Covered Phase 1: Preliminary investigation Phase 1: Preliminary investigation Phase 2: Feasibility Study Phase 2: Feasibility Study Phase 3: System.
From lecture slides for Computer Organization and Architecture: Designing for Performance, Eighth Edition, Prentice Hall, 2010 CS 211: Computer Architecture.
Parallel Programming with MPI and OpenMP
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
INFOMGP Student names and numbers Papers’ references Title.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1a.1 Parallel Computing and Parallel Computers ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006.
LECTURE #1 INTRODUCTON TO PARALLEL COMPUTING. 1.What is parallel computing? 2.Why we need parallel computing? 3.Why parallel computing is more difficult?
1 Potential for Parallel Computation Chapter 2 – Part 2 Jordan & Alaghband.
Computer Systems Architecture Edited by Original lecture by Ian Sunley Areas: Computer users Basic topics What is a computer?
Lecture 5: Lecturer: Simon Winberg Review of paper: Temporal Partitioning Algorithm for a Coarse-grained Reconfigurable Computing Architecture by Chongyong.
Lecture 1 Golden Measure and other terms (appropriate for pracs) Lecturer: Simon Winberg Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
Distributed and Parallel Processing George Wells.
Advanced Higher Computing Science
Software Engineering Management
Building Information Systems
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Introduction to Parallelism.
EE 193: Parallel Computing
Lecture 18 X: HDL & VHDL Quick Recap
CSE8380 Parallel and Distributed Processing Presentation
CHAPTER 4 PROPOSAL.
CHAPTER 4 PROPOSAL.
PERFORMANCE MEASURES. COMPUTATIONAL MODELS Equal Duration Model:  It is assumed that a given task can be divided into n equal subtasks, each of which.
Class 4: Repetition Pretest Posttest Counting Flowchart these!
Potential for parallel computers/parallel programming
Potential for parallel computers/parallel programming
Quiz Questions Parallel Programming Parallel Computing Potential
Potential for parallel computers/parallel programming
Dealing with reading assignments
Presentation transcript:

Lecturer: Simon Winberg Lecture 18 Amdahl’s Law & YODA Blog & Design Review

 Yoda phase 1 & 2  Amdahl’s Law

 Phase 1: Blog assignment  Due today (24 April)  Phase 2: Design Review:  10 May (fixed due date!)

Benefits & Drawbacks to this revised approach…

Main Drawbacks: Have to spend more time sooner to get this done for the project… Less implementation work and more design work Advantages (lots): The report will be implemented as: revised version of design review documents + some results from trials on simulator (or on hardware if you manage to get it working) Implementations running on a FPGA aren’t needed for the design review. Due to time considerations the final project may have to be mostly simulated (e.g. using ISIM) instead of getting anything running on the hardware (this would be acceptable – but try to make to get a good demo together that shows graphs) Why? ECSA evaluations need to be in by 24 May.

Phase 1 This blog must: Define the problem and suggested solution. Describes the chosen design problem and digital accelerator product concept that could potentially solve the indicated problem. Briefly described the digital application accelerator that you propose to solve the problem with. Problem list/design questions to be solve. Provide a short list of design problems relevant to the digital application accelerator you have chosen to develop. Reason about the engineering problem, components and processes needed to formulate the solution (provide a point form list in your blog that documents these considerations). Identify suitable criteria for an acceptable solution. Specify (e.g. list of points) what will constitute an acceptable solution to this proposed design project. Examples of criteria include performance (e.g. speed, latency, throughput) and resources used.

Phase 1 This blog must: Define the problem and suggested solution. Describes the chosen design problem and digital accelerator product concept that could potentially solve the indicated problem. Briefly described the digital application accelerator that you propose to solve the problem with. Problem list / design questions to be solve. Provide a short list of design problems relevant to the digital application accelerator you have chosen to develop. Reason about the engineering problem, components and processes needed to formulate the solution (provide a point form list in your blog that documents these considerations). Identify suitable criteria for an acceptable solution. Specify (e.g. list of points) what will constitute an acceptable solution to this proposed design project. Examples of criteria include performance (e.g. speed, latency, throughput) and resources used.

Phase 1 This blog must: Define the problem and suggested solution. Describes the chosen design problem and digital accelerator product concept that could potentially solve the indicated problem. Briefly described the digital application accelerator that you propose to solve the problem with. Problem list / design questions to be solve. Provide a short list of design problems relevant to the digital application accelerator you have chosen to develop. Reason about the engineering problem, components and processes needed to formulate the solution (provide a point form list in your blog that documents these considerations). Identify suitable criteria for an acceptable solution. Specify (e.g. list of points) what will constitute an acceptable solution to this proposed design project. Examples of criteria include performance (e.g. speed, latency, throughput) and resources used.

Phase 2: Design Review Identify information sources used in coming up with the proposed design. This can be presented as a list of references using a bibliography referencing standard such as Harvard or APA. At least 10 references should be provided. [1.1b] Example: [1] Bloggs, J. [2010]. “How to do references” In Journal of Writing Styles. 1(2). June pp

Phase 2: Design Review Identify the important skills needed to complete the YODA project (e.g., schematic design, HDL programming, C programming, using Linux, etc). Think broadly (no need to be very specific, e.g. understanding bubble sort is too specific). Provide ±200 words of description for this. [1.1b]

Phase 2: Design Review Describe the methodology that you will follow to develop the proposed YODA product. Your description needs to show two approaches: the second approach can be a modified (or simplified) version of the first approach (i.e. think of this in terms of a Plan A and Plan B, where Plan A presents a potentially more involved and time- costly approach, and Plan B a risk-reduced approach that could be used if Plan A fails). Presented in the form: project objective  identified design problems  proposed solution  evaluation process. Add a process diagram to illustrate the steps of this methodology. [1.1c]

Phase 2: Design Review Modelling and analysis. Present a (draft) model of your YODA product design. This can be in the form of a paper- based (or digital) block diagram or UML model. Prepare a PC-based golden measure for your YODA accelerator: this can be implemented using MatLab, Octave, Python, C or C++, or a combination of these languages.

Phase 2: Design Review Evaluate your design solutions using paper-based calculations, such as algorithm complexity calculations (e.g. big-O execution time performance of your solutions) and estimations of other performance criteria. These calculations need to be documented in your design review report submitted for this phase of the project. This must be done for both the PC-based golden measure and your proposed FPGA-based YODA design. Write a description of the evaluation steps that will be carried out to evaluate the performance.

Amdahl’s Law EEE4084F Speed-up Number of processors

 The guy: Gene Amdahl  Was chief architect for IBM's first mainframe series of computers  Founder of Amdahl Corporation  Amdahl found stringent restrictions on the speedup possible for given parallelized tasks.  Thee observations packaged as: Amdahl's Law

Linux Magazine Video: Understanding Parallel Computing: Amdahl's Law

 Define f as: fraction of computation that can be parallelized (ignoring scheduling overhead)  Then (1 - f ) is the fraction that is sequential  Define n = no. processors for parallel case  The maximum speed-up achievable is: 1 f ( 1 – f ) + n Speedup parallel = Classic version Should be able to remember this formula for exams

Amdahl’s Law: Alternate Representation P = expected performance improvement E u = Execution time on a uniprocessor (serial) E p = Execution time on a number of processors (parallel) n = number of processors S = fraction of time spent in the sequential time

 A great many papers on the subject of Amdahl’s law  Many mention the term BCE  BCE = Base Core Equivalent  A single processing core in a multicore processor design

Example proc. structures Symmetric multicore 16 one-BCE cores Symmetric multicore 4 x 4-BCE cores Asymmetric multicore comprising 2 x 4-BCE cores + 8 x 1-BCE cores

Amdahl’s Law Calculator Check out Hill and Marty’s Amdahl’s interactive grapher at: multifacet/amdahl/ multifacet/amdahl/ You can also download the OCTAVE / Matlab code to do these graphs! Quiz example of resultant graph…

Example run of Hill and Marty’s Amdahl’s interactive grapher:

 Hill and Marty 2008: “Amdahl’s Law in the Multicore Era” Available: amdahl_multicore.pdf (see Vula) amdahl_multicore.pdf  Good article on Wikipedia look over: