Copyright, 1996 © Dale Carnegie & Associates, Inc. Life with Hardware Threads to Burn Todd C. Mowry Intel Research Pittsburgh & Carnegie Mellon University.

Slides:



Advertisements
Similar presentations
UW-Madison Computer Sciences Multifacet Group© 2011 Karma: Scalable Deterministic Record-Replay Arkaprava Basu Jayaram Bobba Mark D. Hill Work done at.
Advertisements

The Case for a SC-preserving Compiler Madan Musuvathi Microsoft Research Dan Marino Todd Millstein UCLA University of Michigan Abhay Singh Satish Narayanasamy.
OSDI ’10 Research Visions 3 October Epoch parallelism: One execution is not enough Jessica Ouyang, Kaushik Veeraraghavan, Dongyoon Lee, Peter Chen,
Copyright © 1997 Carnegie Mellon University Introduction to the Personal Software Process - Lecture 1 1 Introduction to the Personal Software Process Lecture.
Prof. Srinidhi Varadarajan Director Center for High-End Computing Systems.
Chrysalis Analysis: Incorporating Synchronization Arcs in Dataflow-Analysis-Based Parallel Monitoring Michelle Goodstein*, Shimin Chen †, Phillip B. Gibbons.
Information Technology Fundamentals (ITF) Mr. Shultz.
Submitted by: Omer & Ofer Kiselov Supevised by: Dmitri Perelman Networked Software Systems Lab Department of Electrical Engineering, Technion.
Randal E. Bryant Carnegie Mellon University CS:APP2e CS:APP Chapter 4 Computer Architecture Overview CS:APP Chapter 4 Computer Architecture Overview
October 2003 What Does the Future Hold for Parallel Languages A Computer Architect’s Perspective Josep Torrellas University of Illinois
Reverse Engineering When is it the most cost effective? Raymond Utz.
Yuanyuan ZhouUIUC-CS Architectural Support for Software Bug Detection Yuanyuan (YY) Zhou and Josep Torrellas University of Illinois at Urbana-Champaign.
1 Improving Hash Join Performance through Prefetching _________________________________________________By SHIMIN CHEN Intel Research Pittsburgh ANASTASSIA.
1 Testing. 2 About Testing  The reason the program is in testing is that it probably doesn’t work!  We test to find bugs before our users and hope that.
Reusability and Portability Chapter 8 CSCI Reusability and Portability  The length of the development process is critical.  No matter how high.
From Essentials of Computer Architecture by Douglas E. Comer. ISBN © 2005 Pearson Education, Inc. All rights reserved. 7.2 A Central Processor.
Chapter 1: Introduction To Computer | SCP1103 Programming Technique C | Jumail, FSKSM, UTM, 2005 | Last Updated: July 2005 Slide 1 Introduction To Computers.
Senior Design May AbstractDesign Alex Frisvold Alex Meyer Nazmus Sakib Eric Van Buren Our project is to develop a working emulator for an Android.
RCDC SLIDES README Font Issues – To ensure that the RCDC logo appears correctly on all computers, it is represented with images in this presentation. This.
1 Joe Meehean. 2 Testing is the process of executing a program with the intent of finding errors. -Glenford Myers.
Planning for SATE V Paul E. Black National Institute of Standards and Technology
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
15-740/ Oct. 17, 2012 Stefan Muller.  Problem: Software is buggy!  More specific problem: Want to make sure software doesn’t have bad property.
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
CBSSS 2002: DeHon Architecture as Interface André DeHon Friday, June 21, 2002.
Computer Programming I An Introduction to the art and science of programming with C++
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Native Client: A Sandbox for Portable, Untrusted x86 Native Code
Scheduler Activations: Effective Kernel Support for the User- Level Management of Parallelism. Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska,
Guiding Principles. Goals First we must agree on the goals. Several (non-exclusive) choices – Want every CS major to be educated in performance including.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
Alternative ProcessorsHPC User Forum Panel1 HPC User Forum Alternative Processor Panel Results 2008.
COMP 111 Threads and concurrency Sept 28, Tufts University Computer Science2 Who is this guy? I am not Prof. Couch Obvious? Sam Guyer New assistant.
Dean Tullsen UCSD.  The parallelism crisis has the feel of a relatively new problem ◦ Results from a huge technology shift ◦ Has suddenly become pervasive.
CS 3500 L Performance l Code Complete 2 – Chapters 25/26 and Chapter 7 of K&P l Compare today to 44 years ago – The Burroughs B1700 – circa 1974.
Shared Memory Consistency Models. SMP systems support shared memory abstraction: all processors see the whole memory and can perform memory operations.
Copyright © Mohamed Nuzrath Java Programming :: Syllabus & Chapters :: Prepared & Presented By :: Mohamed Nuzrath [ Major In Programming ] NCC Programme.
Template This is a template to help, not constrain, you. Modify as appropriate. Move bullet points to additional slides as needed. Don’t cram onto a single.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Computer Network Lab. Korea University Computer Networks Labs Se-Hee Whang.
Software Life-Cycle and Models
n Just as a human virus is passed from person from person, a computer virus is passed from computer to computer. n A virus can be attached to any file.
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young MACH: A New Kernel Foundation for UNIX Development Presenter: Wei-Lwun.
1 Copyright © 2010, Elsevier Inc. All rights Reserved Chapter 2 Parallel Hardware and Parallel Software An Introduction to Parallel Programming Peter Pacheco.
Debugging Threaded Applications By Andrew Binstock CMPS Parallel.
Template This is a template to help, not constrain, you. Modify as appropriate. Move bullet points to additional slides as needed. Don’t cram onto a single.
Detecting Atomicity Violations via Access Interleaving Invariants
Hardware Support for On-Demand Software Analysis Joseph L. Greathouse Advanced Computer Architecture Laboratory University of Michigan December 8, 2011.
Sampling Dynamic Dataflow Analyses Joseph L. Greathouse Advanced Computer Architecture Laboratory University of Michigan University of British Columbia.
CISC 879 : Advanced Parallel Programming Rahul Deore Dept. of Computer & Information Sciences University of Delaware Exploring Memory Consistency for Massively-Threaded.
Demand-Driven Software Race Detection using Hardware Performance Counters Joseph L. Greathouse †, Zhiqiang Ma ‡, Matthew I. Frank ‡ Ramesh Peri ‡, Todd.
Computer Software engineer By: Eric Musser. What is This? Computer engineers make programs to run a computer. Computer engineers make programs to run.
Introduction to Programming 1 1 2Introduction to Java.
By SPEC INFOTECH. A programming language reigning the IT industry Marking its presence around the globe Striking Features which make Java supreme: Simplistic.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Part 1 Introduction to Software Engineering 1 copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY.
Olatunji Ruwase* Shimin Chen+ Phillip B. Gibbons+ Todd C. Mowry*
Enabling machine learning in embedded systems
Faster Data Structures in Transactional Memory using Three Paths
Angela Brown and Todd Mowry Carnegie Mellon University
TRUST:Team for Research in Ubiquitous Secure Technologies
Multi-Processing in High Performance Computer Architecture:
Anne Pratoomtong ECE734, Spring2002
فصل نهم از کتاب طراحی آموزشی تألیف :آر.ام گانیه
ISCA 2005 Panel Guri Sohi.
Alternative Processor Panel Results 2008
Parallelizing Dynamic Information Flow Tracking
Machine Learning Course.
Stored program in a washing machine
Presentation transcript:

Copyright, 1996 © Dale Carnegie & Associates, Inc. Life with Hardware Threads to Burn Todd C. Mowry Intel Research Pittsburgh & Carnegie Mellon University ISCA Panel June 7, 2005

Todd C. Mowry ISCA Panel, June 7, Functional Correctness Trumps Performance oIf your software doesn’t behave correctly, it doesn’t matter how fast it runs. oWhat does matter (see “Software Engineering”):  code development and testing time  how quickly/easily a new developer can modify existing code  achieving acceptable performance oMost programmers who choose not to write parallel code today are making a rational choice  the cost/benefit ratio is unfavorable in too many cases

Todd C. Mowry ISCA Panel, June 7, Making Parallel Programming More Attractive oMinimizing programming complexity is the key:  Consistency models: SC -> RC -> SC  Machine models: PRAM -> logP -> ??? oBenchmarks for a successful parallel programming model:  does it work well when you’re modifying someone else’s code?  can we teach it to freshmen in an Algs & Data Structures course? oA “semi-automatic” approach seems like the sweet spot  the programmer thinks about sources of parallelism at a high level  the system does the heavy lifting and always preserves correctness  programmer can tweak performance through localized changes

Todd C. Mowry ISCA Panel, June 7, Use CMPs to Improve Functional Correctness oImpressive tools already exist to help identify/fix problems  bugs, data races, memory leaks, faults, security violations, etc. oHowever, sophisticated tools can add significant runtime overhead oBy offloading these tools onto other threads, we can:  run existing tools continuously  enable new tools that are even more sophisticated