Dealing with reading assignments

Slides:



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

1 Formal Methods in SE Qaisar Javaid Assistant Professor Lecture 05.
1 COMP 206: Computer Architecture and Implementation Montek Singh Mon., Sep 5, 2005 Lecture 2.
VLSI Systems--Spring 2009 Introduction: --syllabus; goals --schedule --project --student survey, group formation.
1 Lecture 4 Analytical Modeling of Parallel Programs Parallel Computing Fall 2008.
Arquitectura de Sistemas Paralelos e Distribuídos Paulo Marques Dep. Eng. Informática – Universidade de Coimbra Ago/ Quantitative.
Microprocessors Introduction to ia64 Architecture Jan 31st, 2002 General Principles.
Describing Syntax and Semantics
Introduction to Software Testing
CSULB EE400D Documentation Instructional Series
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
Lecture 3 – Parallel Performance Theory - 1 Parallel Performance Theory - 1 Parallel Computing CIS 410/510 Department of Computer and Information Science.
Lecture 14 Reconfigurable Computing Basics Lecturer: Simon Winberg.
Introduction to Algorithms Jiafen Liu Sept
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
Introduction Algorithms and Conventions The design and analysis of algorithms is the core subject matter of Computer Science. Given a problem, we want.
Amdahl's Law Validity of the single processor approach to achieving large scale computing capabilities Presented By: Mohinderpartap Salooja.
April 26, CSE8380 Parallel and Distributed Processing Presentation Hong Yue Department of Computer Science & Engineering Southern Methodist University.
Lecturer: Simon Winberg Lecture 18 Amdahl’s Law (+- 25 min)
This chapter is extracted from Sommerville’s slides. Textbook chapter
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Chapter 19 Verification and Validation.
Lecture 11: Parallel Design Patterns, Where to in Term 2 … Lecturer: Simon Winberg.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
CSCI1600: Embedded and Real Time Software Lecture 28: Verification I Steven Reiss, Fall 2015.
This chapter is extracted from Sommerville’s slides. Textbook chapter 22 1 Chapter 8 Validation and Verification 1.
Course: Software Engineering – Design I IntroductionSlide Number 1 What is a specification Description of a (computer) system, which:  is precise;  defines.
LECTURE #1 INTRODUCTON TO PARALLEL COMPUTING. 1.What is parallel computing? 2.Why we need parallel computing? 3.Why parallel computing is more difficult?
Design and Analysis of Algorithms 4 th Semester Computer Engineering Spring 2016 Conf.dr.ing. Ioana Ṣ ora
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
1 Potential for Parallel Computation Chapter 2 – Part 2 Jordan & Alaghband.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Lecture 1 Golden Measure and other terms (appropriate for pracs) Lecturer: Simon Winberg Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVII. Verification and Validation.
Distributed and Parallel Processing George Wells.
Final project Simone Campanoni
Lecture 3 – MapReduce: Implementation CSE 490h – Introduction to Distributed Computing, Spring 2009 Except as otherwise noted, the content of this presentation.
Potential for parallel computers/parallel programming
Software Configuration Management (SCM)
CMPE 280 Web UI Design and Development August 29 Class Meeting
September 2 Performance Read 3.1 through 3.4 for Tuesday
Software Verification and Validation
CSC 480 Software Engineering
TQS - Teste e Qualidade de Software (Software Testing and Quality) Introduction To Software Testing Concepts João Pascoal.
Verification and Testing
Verification and Validation Overview
Verification & Validation
Introduction to Parallelism.
FPGA: Real needs and limits
Verification and Validation
Course Description Algorithms are: Recipes for solving problems.
EE 193: Parallel Computing
Compiler Construction
Introduction to Software Testing
Lecture 09:Software Testing
Objective of This Course
Bryan Burlingame 28 November 2018
CSE8380 Parallel and Distributed Processing Presentation
1.1 The Characteristics of Contemporary Processors, Input, Output and Storage Devices Types of Processors.
Algorithm and Ambiguity
Mattan Erez The University of Texas at Austin
Applying Use Cases (Chapters 25,26)
Potential for parallel computers/parallel programming
Potential for parallel computers/parallel programming
Basic Concepts of Algorithm
Potential for parallel computers/parallel programming
Lecture 13 Teamwork Bryan Burlingame 1 May 2019.
Course Description Algorithms are: Recipes for solving problems.
Chapter 7 Software Testing.
Potential for parallel computers/parallel programming
Presentation transcript:

Dealing with reading assignments EEE4084F Digital Systems Lecture 2: Terms, Amdahl Law & Dealing with reading assignments Lecturer: Simon Winberg Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)

Outline for Lecture Class Activity – Quiz#0 Terms Validation vs. Verification Commonly used verification methods Amdahl’s Law Dealing with reading assignments

TODO … short quiz EEE4084F Digital Systems

Class Activity Quiz #0 - “Initial impressions” 10 minutes to complete a few simple survey questions and prerequisite tests. This quiz is not for marks Name & student number voluntary

Marking of Quiz0 ?! Please swap your Quiz0 with a buddy I’ll show you the correct solutions in a moment  Please hand back your quizzes at end of the lecture (you’re about to find out why!)

Quiz 0 marking … other slideshow

TERMS TRENDS

Terms Golden measure: A (usually) sequential solution that you develop as the ‘yard stick’ A solution that may run slowly, isn’t optimized, but you know it gives (numerically speaking) excellent results E.g., a solution written in OCTAVE or MatLab, verify it is correct using graphs, inspecting values, checking by hand with calculator, etc. Discussed a bit more later…

Terms Sequential / Serial (serial.c) A non-parallized code solution Generally, you can call your code solutions parallel.c (or para1.c, para2.c if you have multiple versions) You can also include some test data (if it isn’t too big, <1Mb), e.g. gold.csv or serial.csv, and paral1.csv

Speed-up Speed-up = Tp1 /Tp2 Where Tp1 = Run-time of original (or non-optimized) program Tp2 = Run-time of optimised program Best practice for measuring speedup: Run the program more than one, discarding the first result (where the cache, etc. is getting ‘warmed up’) To be precise should indicate results from when system wasn’t ‘warmed up’* * (which can be simulated by running a whole lot of other things like CounterStrike, Half-Life, maybe some Solitare* for good measure -- but more seriously you could write your own ‘cache cleaning program’)

Speed-up graphs

Other Important Terms Verification Validation Testing Correctness proof These terms are not merely theoretical terms to remember, but relate directly to your project. Not something done in the project (but if you want to, you can experiment with doing a correctness proof if you are keen)

Verification and Validation (V&V) Two terms you should already know… Verification “Are we building the product right?” Have we made what we understood we wanted to make? Does the product satisfy its specifications? Validation “Are we building the right product?” Does the product satisfy the users’ requirements Verification before validation (except in duress)… While it would be nice to be able to validate before verifying, doing so would mean your specifications and design may be wrong in the final version (obviously this sometimes happens in practice due to insufficient time for proper validation) Sommerville, I. Software Engineering. Addison-Wesley, 2000.

Verification before validation The RC engineer (i.e., you) are effectively designing both custom hardware and custom software for the RC platform Before attempting to make claims about the validity of your system, it’s usually best practice to establish your own (or team’s) confidence in what your system is doing, i.e. be sure that: The custom hardware working; The software implementation is doing what it was designed to do; and The custom software runs reliably on the custom hardware.

Verification Checking plans, documents, code, requirements and specifications Is everything that you need there? Algorithms/functions working properly? Done during phase interval (e.g., design => implementation) Activities: Review meetings, walkthroughs, inspections Informal demonstrations Focus of project Focus of project

Commonly used verification methods Dual processing, producing two result sets One version using PC & simulation only; Other version including RC platform Assume the PC version is the correct one (i.e., the gold measure) Correlate the results to establish correlation coefficients (complex systems may have many different sets of possibly multidimensional data that need to be compared) The correlation coefficients can be used as a kind of ‘confidence factor’

Validation Testing of the whole product / system Focus of project Testing of the whole product / system Input: checklist of things to test or list of issues that need to have been provided/fixed Towards end of project Activities: Formal demonstrations Factory Acceptance Test

Testing and Correctness proofs Generally refers to aspects of dynamic validation in which a program is executed and the results analysed Correctness proofs / formal verification More a mathematical approach Exhaustive test => specification guaranteed correct Formal verification of hardware is especially relevant to RC. Formal methods include: Model checking / state space exploration Use of linear temporal logic and computational tree logic Mathematical proof (e.g. proof by induction)

Speed-up Amdahl’s Law Number of processors EEE4084F

Amdahl’s Law: History 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

Video Clip… Linux Magazine Video: Understanding Parallel Computing: Amdahl's Law https://www.youtube.com/watch?v=WdRiZEwBhsM Amdahl.flv

Amdahl’s Law Classic version 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 Speedupparallel = Should be able to remember this formula for exams

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

Homework task Watch 2nd part of Amdahl’s law video Understanding Parallel Computing (Part 2): The Lawn Mower Law LinuxMagazine Amdahl2.flv

Dealing with reading assignments, seminar and blog You are suppose to read (at least speed read) the chapters and readings assigned for each seminar Each Seminar Facilitation Group meant to read their aspects in depth, i.e. Whole team to read word-for-word over chapter and paper. Look up things you don’t understand or make notes to discuss with rest of team Meet with team to discuss the readings, to plan your blog and seminar, allocate who does what. Make notes on the work allocations (e.g. you could have one person write up most of the blog, from team notes, and the other two make most of the slides)

For Thursday next week… Assigned Reading For Thursday next week… S1 - Landscape of parallel computing research: a view from Berkeley Find it on: Vula Resources/SEMINARS Short Seminar #1 facilitated by lecturer next Thursday 2pm

End of Lecture 2