Number of transistors per chip continues to follow Moore’s Law; but the transistors are going into multiple cores, bigger cache, bridge technology, etc.

Slides:



Advertisements
Similar presentations
Divide-and-Conquer CIS 606 Spring 2010.
Advertisements

Algebra! It’s NOT Hard; in Fact, It’s Child Play
CSE431 Chapter 7A.1Irwin, PSU, 2008 CSE 431 Computer Architecture Fall 2008 Chapter 7A: Intro to Multiprocessor Systems Mary Jane Irwin (
Practical Caches COMP25212 cache 3. Learning Objectives To understand: –Additional Control Bits in Cache Lines –Cache Line Size Tradeoffs –Separate I&D.
 RAID stands for Redundant Array of Independent Disks  A system of arranging multiple disks for redundancy (or performance)  Term first coined in 1987.
1 Chapter 1 Why Parallel Computing? An Introduction to Parallel Programming Peter Pacheco.
CSCI-455/552 Introduction to High Performance Computing Lecture 11.
Partitioning and Divide-and-Conquer Strategies ITCS 4/5145 Parallel Computing, UNC-Charlotte, B. Wilkinson, Jan 23, 2013.
Routegadget analysis By: Matt Radford. Course information - The controls are labelled as if doing course A. - Control codes are next to the controls.
CS Section 600 CS Section 002 Dr. Angela Guercio Spring 2010.
1 Foundations of Software Design Lecture 3: How Computers Work Marti Hearst Fall 2002.
1 Lecture 6 Performance Measurement and Improvement.
Lecture 7 Sept 19, 11 Goals: two-dimensional arrays (continued) matrix operations circuit analysis using Matlab image processing – simple examples Chapter.
CS 300 – Lecture 2 Intro to Computer Architecture / Assembly Language History.
Activity for 1 1) Name some preconceptions you think students may have about and briefly describe how they would impact your teaching –Arrays Arrays are.
1 Lecture 1: CS/ECE 3810 Introduction Today’s topics:  logistics  why computer organization is important  modern trends.
Nifty Assignments Shamelessly Borrowed from Nick Parlante at Stanford University.
Stuart Hansen University of Wisconsin - Parkside.
Adding Automated Functionality to Office Applications.

Parallel Programming in.NET Kevin Luty.  History of Parallelism  Benefits of Parallel Programming and Designs  What to Consider  Defining Types of.
Parallel and Distributed Computing in CS2013 Mehran Sahami Computer Science Department Stanford University.
+ CS 325: CS Hardware and Software Organization and Architecture Introduction.
Exercise problems for students taking the Programming Parallel Computers course. Janusz Kowalik Piotr Arlukowicz Tadeusz Puzniakowski Informatics Institute.
Chapter 10 Review: Matrix Algebra
A COMPARISON MPI vs POSIX Threads. Overview MPI allows you to run multiple processes on 1 host  How would running MPI on 1 host compare with POSIX thread.
Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles Tim Richards University of Massachusetts Amherst.
LOGO Multi-core Architecture GV: Nguyễn Tiến Dũng Sinh viên: Ngô Quang Thìn Nguyễn Trung Thành Trần Hoàng Điệp Lớp: KSTN-ĐTVT-K52.
Practical PC, 7th Edition Chapter 17: Looking Under the Hood
Technology in Focus: Under the Hood
Physics 413 Chapter 1 Computer Architecture What is a Digital Computer ? A computer is essentially a fast electronic calculating machine. What is a program.
Parallel and Distributed Systems Instructor: Xin Yuan Department of Computer Science Florida State University.
Lecture 1: Performance EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2013, Dr. Rozier.
1 Computer Architecture Research Overview Rajeev Balasubramonian School of Computing, University of Utah
Chapter 2 Parallel Architecture. Moore’s Law The number of transistors on a chip doubles every years. – Has been valid for over 40 years – Can’t.
Spreading Curricular Change in PDC: Some Practical Tools This material is based on work supported by the National Science Foundation under Grant Nos. DUE / /
Chapter One Understanding Computer Hardware Part I: Processors.
Conclusions and Future Considerations: Parallel processing of raster functions were 3-22 times faster than ArcGIS depending on file size. Also, processing.
Chapter 1 Defining Social Studies. Chapter 1: Defining Social Studies Thinking Ahead What do you associate with or think of when you hear the words social.
Chapter 1 Performance & Technology Trends Read Sections 1.5, 1.6, and 1.8.
Introducing Every CS Major to Parallel Programming: Baby Steps at Ohio State Gagan Agrawal Feng Qin P. Sadayappan.
Problem of the Day  I am thinking of a question and propose 3 possible answers. Exactly one of the following is the solution. Which is it? A. Answer 1.
CS 460/660 Compiler Construction. Class 01 2 Why Study Compilers? Compilers are important – –Responsible for many aspects of system performance Compilers.
CS162 Week 5 Kyle Dewey. Overview Announcements Reactive Imperative Programming Parallelism Software transactional memory.
M U N - February 17, Phil Bording1 Computer Engineering of Wave Machines for Seismic Modeling and Seismic Migration R. Phillip Bording February.
Slide-1 Multicore Theory MIT Lincoln Laboratory Theory of Multicore Algorithms Jeremy Kepner and Nadya Bliss MIT Lincoln Laboratory HPEC 2008 This work.
Reviving Continuum Mechanics: Computation across the undergraduate curriculum Michael Dennin UC Irvine Special Thanks to Peter Taborek, Bill Heidbrink.
OpEnSp a Ce LCA Proposal Calvin Chin David Couvrette Jung Son Mikiko Jama CSE403 Summer 06.
Today we will learn MATLAB Click Start  All programm  Class Software  Matlab This command window will be seen with a prompt sign >> Any command can.
Surds – Thursday 26 th September 2013 Today’s Lesson Objectives: To be able to demonstrate that I can rationalise surds To be able to recognise square.
Central Processing Unit (CPU) MATTHEW BOWEN. Function  The function of the CPU is to execute all of the commands and calculations or “processes” that.
Lecture VIII: Software Architecture
Multi-core, Mega-nonsense. Will multicore cure cancer? Given that multicore is a reality –…and we have quickly jumped from one core to 2 to 4 to 8 –It.
What’s That Portion? Investigations Unit 4 5 th Grade Math Alliance Meeting Beverly Woods Elementary.
Observations about Error in Integral Approximations The Simplest Geometry.
Finishing up Chapter 5. Will this code enter the if statement? G=[30,55,10] if G
What do you think this lesson is all about? Write your answer on a sticky note.
1 A simple parallel algorithm Adding n numbers in parallel.
Multi-Core CPUs Matt Kuehn. Roadmap ► Intel vs AMD ► Early multi-core processors ► Threads vs Physical Cores ► Multithreading and Multi-core processing.
Computer Organization CS345 David Monismith Based upon notes by Dr. Bill Siever and from the Patterson and Hennessy Text.
Conclusions on CS3014 David Gregg Department of Computer Science
Eigenfaces (for Face Recognition)
Ioannis E. Venetis Department of Computer Engineering and Informatics
While multiplying larger numbers involves more steps, it’s not necessarily more challenging. If you know the steps to organize the process. So, what strategies.
The University of Adelaide, School of Computer Science
Sphero CPD 9.30 – 11am Introduction to Sphero 11 – 11.15am
Getting Started The first ~3 weeks of this course we are going to learn the fundamentals of computer science using the CS Fundamentals curriculum from.
Inculcating “Parallel Programming” in UG curriculum
Code Shape III Booleans, Relationals, & Control flow
Lecture 2 The Art of Concurrency
Presentation transcript:

Number of transistors per chip continues to follow Moore’s Law; but the transistors are going into multiple cores, bigger cache, bridge technology, etc But in 2003, clock speed hit a wall- Where are the 32GHz processors?

 Parallel & Distributed Computing (PD) is now its own Knowledge Area (KA).  Architecture and Organization (AR) is 16 Tier 2 core hours  PD is 5 Tier 1 hours, and 10 Tier 2 hours.  PD is seen as critical to many other KA’s, and can properly be placed there; Strawman seems to indicate a stand- alone course is fastest way to get up and running now.

  Using a Bloom’s taxonomy of Know- Comprehend-Apply this group proposes some 90 hours of instruction in PD  Only about 15 hours at the “Apply” level  They see 5 core courses involved, and a larger list of upper division electives › CS1, CS2, Architecture, DataStruc/Algor, Discrete

 ACM SIGCSE 2009 (Chattanooga)  Dr. Michael Wrinn (Intel Senior Course Architect) : › Intel is not going to be making any single core processors. The world has already gone parallel and you better start teaching parallel computing to your students.

 The Free Lunch is over  Professional societies have served notice that our curricula must include PD.  The world in which our students will live their careers will be a parallel world. It is already a multicore world.  It must begin as early as CS1/CS2

 Intel microgrant program to develop PD curricular material  ACM SIGCSE “Nifty Programming Assignments” › Nick Parlante at nifty.stanford.edu  If we want to target CS1/CS2, why not begin with those assignments the SIGCSE community has already endorsed as nifty?  My thanks to the 2011 Nifty Authors for their gracious permission to use their work › DO NOT MAKE SOURCE CODE AVAILABLE

 Take students’ serial solution to a problem and add parallelism by “grabbing the low-hanging fruit”.  We use C++ in the MS Visual Studio.NET IDE  The Intel Parallel Studio, especially the Parallel Advisor, is a natural choice. › Parallel Studio is also available for Unix as a stand-alone product, both as command line & GUI

 Trapezoidal Numerical Integration › Not a “nifty”, but is embarrassingly parallel  BMP puzzles: who done it? › David Malan, Harvard University  Book Recommendations: look out Netflix › Michele Craig, University of Toronto  Hamming Codes: old school error correction › Stuart Hansen, University of Wisconsin-Parkside  Evil Hangman: cheating is a strategy! › Keith Schwarz, Stanford University

 A classic Numerical Methods technique  Improves upon Riemann sums by adding area of trapezoids rather than simple rectangles.  N = number of subintervals  Obviously a big for-loop to add the f(x)’s

 Mr. Body has met foul play. But he left a “Clue” to his murderer’s identity by coding the green & blue pixel values in a harmless-looking BMP image. The red pixels merely obscure the message  So process the 2D array of pixels in the BMP, suppressing red and enhancing green/blue to find the killer.  2D arrays & parallel for loops is a natural

 Given a list of books, have a set of readers give their rating of the book [-5 to +5]. Then take a new reader and comparing her ratings to your total population, make the appropriate book recommendations to her.  Computing dot products (actually just about any array processing) in an O(n 2 ) environment is a parallel dream

 Prof Hansen uses this assignment to teach: › Error correcting codes › Matrix multiplication › Binary representations of data › Binary I/O (optional)  Use a generator matrix and a parity check matrix to manipulate Hamming(7,4)  Matrix multiplication (even tiny matrices) is bull's-eye parallel fodder.

 Find a big list of words. Challenge a human to solve Hangman. The wrinkle is that the computer never actually picks a word till it is forced to do so.  For every human guess, find the largest subset of words possible  For example: HEAR_ (can be HEARD, HEART, HEARS)  Essentially impossible to beat in 10 guesses.