From the New York Times Introduction to Concurrency
|
|
- Jeffery Lucas
- 5 years ago
- Views:
Transcription
1 From the New York Times Introduction to Concurrency dapted by CP from lectures by Maurice Herlihy at rown SN FRNCISCO, May Intel said on Friday that it was scrapping its development of two microprocessors, a move that is a shift in the company's business strategy Herlihy and Shavit 2 Moore s Law Transistor count still rising On Your Desktop: The Uniprocessor Clock speed flattening sharply cpu memory 2007 Herlihy and Shavit Herlihy and Shavit 4 In the Enterprise: The Shared Memory Multiprocessor (SMP) Your New Desktop: The Multicore processor (CMP) cache cache us cache us ll on the same chip cache cache cache us us shared memory Sun T2000 Niagara shared memory 2007 Herlihy and Shavit Herlihy and Shavit 6 1
2 Multicores re Here Intel ups ante with 4-core chip. New microprocessor, due this year, will be faster, use less electricity... [San Fran Chronicle] MD will launch a dual-core version of its Opteron server processor at an event in New York on pril 21. [PC World] Sun s Niagara will have eight cores, each core capable of running 4 threads in parallel, for 32 concurrently running threads.. [The Inquirer] 2007 Herlihy and Shavit 7 Why do we care? Time no longer cures software bloat The free ride is over When you double the work your program is doing you can t just wait 6 months for it to run the same speed again! Your software must somehow exploit twice as much concurrency 2007 Herlihy and Shavit 8 Traditional Scaling Process Multicore Scaling Process Speedup Speedup User code User code Traditional Uniprocessor Time: Moore s law 2007 Herlihy and Shavit 9 Multicore Unfortunately, not so simple 2007 Herlihy and Shavit 10 Real-World Scaling Process Speedup Sequential Computation thread User code Multicore memory Parallelization and Synchronization require great care 2007 Herlihy and Shavit Herlihy and Shavit 12 2
3 Concurrent Computation threads memory synchrony Sudden unpredictable delays Cache misses (short) Page faults (long) Scheduling quantum used up (really long) 2007 Herlihy and Shavit Herlihy and Shavit 14 Model Summary Multiple threads Sometimes called processes Single shared memory Unpredictable asynchronous delays Road Map Today: background on concurrency Monday: semantics of Haskell s basic concurrency primitives (threads/ MVars) Wednesday: thread programming Following week: Software Transactional Memory (STM) 2007 Herlihy and Shavit Herlihy and Shavit 16 Concurrency Jargon Hardware Processors Software Threads, processes Sometimes OK to confuse them, sometimes not. Parallel Primality Testing Challenge Print primes from 1 to Given Ten-processor multiprocessor One thread per processor Goal Get ten-fold speedup (or close) 2007 Herlihy and Shavit Herlihy and Shavit 18 3
4 1 Load alancing P 0 P 1 P 9 Idea: Split the work evenly Each thread tests range of 10 9 Procedure for Thread i void primeprint { int i = ThreadID.get(); // IDs in {0..9 for (j = i* , j<(i+1)*10 9 ; j++) { if (isprime(j)) print(j); Note Herlihy s slightly awkward pseudocode notation for Haskell 2007 Herlihy and Shavit Herlihy and Shavit 20 Issues Higher ranges have fewer primes Yet larger numbers harder to test Thread workloads Uneven Hard to predict Need dynamic load balancing Issues Higher ranges have fewer primes Yet larger numbers harder to test Thread workloads Uneven Hard to predict Need dynamic load balancing rejected 2007 Herlihy and Shavit Herlihy and Shavit 22 Shared Counter Procedure for Thread i each thread takes a number int counter = new Counter(1); void primeprint { long j = 0; while (j < ) { j = counter.getndincrement(); if (isprime(j)) print(j); 2007 Herlihy and Shavit Herlihy and Shavit 24 4
5 void primeprint { int i = ThreadID.get(); // IDs in {0..9 for (j = i* , j<(i +1)*10 9 ; j++) { if (isprime(j)) print(j); Procedure for Thread i Counter counter = new Counter(1); void primeprint { long j = 0; while (j < ) { j = counter.getndincrement(); if (isprime(j)) print(j); Shared counter object code Where Things Reside shared counter cache 1 cache us cache us shared memory Local variables 2007 Herlihy and Shavit Herlihy and Shavit 26 Procedure for Thread i Procedure for Thread i Counter counter = new Counter(1); void primeprint { long j = 0; while (j < ) { Stop when every j = counter.getndincrement(); value taken if (isprime(j)) print(j); 2007 Herlihy and Shavit 27 Counter counter = new Counter(1); void primeprint { long j = 0; while (j < ) { j = counter.getndincrement(); if (isprime(j)) print(j); Increment & return each new value 2007 Herlihy and Shavit 28 Counter Implementation Counter Implementation public long getndincrement() { return value++; public long getndincrement() { return value++; OK for single thread, not for concurrent threads (i.e., not thread safe ) 2007 Herlihy and Shavit Herlihy and Shavit 30 5
6 What It Means What It Means public long getndincrement() { return value++; public long getndincrement() { return value++; temp = value; value = value + 1; return temp; 2007 Herlihy and Shavit Herlihy and Shavit 32 Not so good Is this problem inherent? Value read write read 1 write 2 read 2 write 3 write read read 1 write 2 If we could only glue reads and writes time 2007 Herlihy and Shavit Herlihy and Shavit 34 Challenge Challenge public long getndincrement() { temp = value; value = temp + 1; return temp; 2007 Herlihy and Shavit 35 public long getndincrement() { temp = value; value = temp + 1; return temp; Make these steps atomic (indivisible) 2007 Herlihy and Shavit 36 6
7 Hardware Solution n side: Java public long getndincrement() { temp = value; value = temp + 1; return temp; ReadModifyWrite() instruction 2007 Herlihy and Shavit 37 Mutual Exclusion public long getndincrement() { synchronized { temp = value; value = temp + 1; return temp; 2007 Herlihy and Shavit 38 n side: Java n side: Java Haskell uses slightly different primitives to achieve the same effect public long getndincrement() { synchronized { temp = value; value = temp + 1; return temp; public long getndincrement() { synchronized { temp = value; value = temp + 1; return temp; Synchronized block 2007 Herlihy and Shavit Herlihy and Shavit 40 Mutual Exclusion, or lice & ob share a pond lice has a pet 2007 Herlihy and Shavit Herlihy and Shavit 42 7
8 ob has a pet The Problem The pets don t get along 2007 Herlihy and Shavit Herlihy and Shavit 44 Formalizing the Problem Two types of formal properties in asynchronous computation: Safety Properties Nothing bad happens ever Liveness Properties Something good happens eventually Formalizing our Problem Mutual Exclusion oth pets never in pond simultaneously This is a safety property No Deadlock if only one wants in, it gets in if both want in, one gets in This is a liveness property 2007 Herlihy and Shavit Herlihy and Shavit 46 Simple Protocol Idea Just look at the pond, see if it is empty, and release pet if so Gotcha oth look at the same instant oth release pets ad thing happens in pond 2007 Herlihy and Shavit 47 Telephone Protocol Idea ob calls lice (or vice-versa) Gotcha lice in shower when ob calls ob recharging phone battery when lice calls lice out shopping for pet food when ob calls 2007 Herlihy and Shavit 48 8
9 cola Patient Telephone Protocol Can Protocol Idea ob calls lice (or vice-versa) and lets phone ring until lice answers Gotcha lice goes on vacation for a month... Lesson Need to be able to leave persistent messages (like writing, not speaking) cola cola 2007 Herlihy and Shavit Herlihy and Shavit 50 ob conveys a bit ob conveys a bit cola 2007 Herlihy and Shavit Herlihy and Shavit 52 Can Protocol Flag Protocol Idea Cans on lice s windowsill Strings lead to ob s house ob pulls strings, knocks over cans Gotcha Cans cannot be reused ob runs out of cans 2007 Herlihy and Shavit Herlihy and Shavit 54 9
10 lice s Protocol (roughly) ob s Protocol (roughly) 2007 Herlihy and Shavit Herlihy and Shavit 56 lice s Protocol ob s Protocol Raise flag Wait until ob s flag is down Unleash pet Lower flag when pet returns Raise flag Wait until lice s flag is down Unleash pet Lower flag when pet returns danger! 2007 Herlihy and Shavit Herlihy and Shavit 58 ob s Protocol (2 nd try) ob defers Raise flag to lice While lice s flag is up Lower flag Wait for lice s flag to go down Raise flag Unleash pet Lower flag when pet returns 2007 Herlihy and Shavit 59 The Flag Principle Raise the flag Look at other s flag Flag Principle: If each raises and looks, then Last to look must see both flags up 2007 Herlihy and Shavit 60 10
11 Proof of Mutual Exclusion ssume both pets in pond Derive a contradiction y reasoning backwards Consider the last time lice and ob each looked before letting the pets in Without loss of generality assume lice was the last to look ob last raised flag time ob s last looked Proof lice last raised her flag lice s last look QED 2007 Herlihy and Shavit 61 lice must have seen 2007 ob s Herlihy and Flag. Shavit Contradiction 62 Proof of No Deadlock If only one pet wants in, it gets in. Proof of No Deadlock If only one pet wants in, it gets in. Deadlock requires both continually trying to get in Herlihy and Shavit Herlihy and Shavit 64 Proof of No Deadlock If only one pet wants in, it gets in. Deadlock requires both continually trying to get in. If ob sees lice s flag, he gives her priority (a gentleman ) Remarks Protocol is unfair ob s pet might never get in Protocol uses waiting If ob is eaten by his pet, lice s pet might never get in QED 2007 Herlihy and Shavit Herlihy and Shavit 66 11
12 Moral of Story Mutual Exclusion cannot be solved by transient communication (cell phones) interrupts (cans) It can be solved by one-bit shared variables that can be read or written The Fable Continues lice and ob fall in love & marry 2007 Herlihy and Shavit Herlihy and Shavit 68 The Fable Continues lice and ob fall in love & marry Then they fall out of love & divorce She gets the pets He has to feed them The Fable Continues lice and ob fall in love & marry Then they fall out of love & divorce She gets the pets He has to feed them Leading to a new coordination problem: Producer-Consumer 2007 Herlihy and Shavit Herlihy and Shavit 70 ob Puts Food in the Pond lice releases her pets to Feed mmm mmm 2007 Herlihy and Shavit Herlihy and Shavit 72 12
13 Producer/Consumer lice and ob can t meet Each has restraining order on other So he puts food in the pond nd later, she releases the pets void Releasing pets when there s no food Putting out food if uneaten food remains Producer/Consumer Need a mechanism so that ob lets lice know when food has been put out lice lets ob know when to put out more food 2007 Herlihy and Shavit Herlihy and Shavit 74 Surprise Solution ob puts food in Pond cola cola 2007 Herlihy and Shavit Herlihy and Shavit 76 ob knocks over Can lice Releases Pets yum yum cola cola 2007 Herlihy and Shavit Herlihy and Shavit 78 13
14 lice Resets Can when Pets are Fed Pseudocode cola while (true) { while (can.isup()){; pet.release(); pet.recapture(); can.reset(); lice s code 2007 Herlihy and Shavit Herlihy and Shavit 80 Pseudocode while (true) { while (can.isup()){; ob s code pet.release(); pet.recapture(); can.reset(); while (true) { while (can.isdown()){; pond.stockwithfood(); can.knockover(); lice s code 2007 Herlihy and Shavit 81 Correctness safety Mutual Exclusion Pets and ob never together in pond No Starvation If ob always willing to feed and pets always famished, then pets eat infinitely often. safety Producer/Consumer Pets never enter pond unless there is food, and ob never provides food if there is unconsumed food. liveness 2007 Herlihy and Shavit 82 Could lso Solve Using Flags Waiting oth solutions use waiting while (mumble) { Waiting is problematic If one participant is delayed, so is everyone else! ut delays are common & unpredictable 2007 Herlihy and Shavit Herlihy and Shavit 84 14
15 The Fable drags on ob and lice still have issues The Fable drags on ob and lice still have issues So they need to communicate 2007 Herlihy and Shavit Herlihy and Shavit 86 The Fable drags on illboards are Large ob and lice still have issues So they need to communicate So they agree to use billboards 2007 Herlihy and Shavit C 3 D 2 E 1 Letter Tiles From Scrabble box 2007 Herlihy and Shavit 88 Write One Letter at a Time To post a message W 4 1 S 1 H 4 W 4 1 S 1 H 4 T 1 H 4 E 1 C 3 1 R C 3 D 2 E Herlihy and Shavit 89 whe w 2007 Herlihy and Shavit 90 15
16 Let s send another mesage Uh-Oh L S 1 E 1 L 1 L 1 L 1 V M 3 P 3 S 1 S 1 E 1 L 1 L 1 T 1 H 4 E 1 C 3 1 R 1 L 1 OK 2007 Herlihy and Shavit Herlihy and Shavit 92 Readers/Writers Devise a protocol so that Writer writes one letter at a time Reader reads one letter at a time Reader sees Old message or new message No mixed messages Readers/Writers (continued) Easy with mutual exclusion ut mutual exclusion requires waiting One waits for the other Everyone executes sequentially Remarkably We can solve R/W without mutual exclusion 2007 Herlihy and Shavit Herlihy and Shavit 94 Why do we care? We want as much of the code as possible to execute concurrently (in parallel) larger sequential part implies reduced performance mdahl s law: this relation is not linear Speedup= mdahl s Law of computation given n CPUs instead of Herlihy and Shavit Herlihy and Shavit 96 16
17 mdahl s Law Sequential fraction Speedup= Number of processors 1 1 p + p n Parallel fraction Example Ten processors 60% concurrent, 40% sequential How close to 10-fold speedup? 2007 Herlihy and Shavit Herlihy and Shavit 98 Example Ten processors 60% concurrent, 40% sequential How close to 10-fold speedup? Example Ten processors 80% concurrent, 20% sequential How close to 10-fold speedup? Speedup=2.17= 2007 Herlihy and Shavit Herlihy and Shavit 100 Example Ten processors 80% concurrent, 20% sequential How close to 10-fold speedup? Example Ten processors 90% concurrent, 10% sequential How close to 10-fold speedup? Speedup=3.57= 2007 Herlihy and Shavit Herlihy and Shavit
18 Example Ten processors 90% concurrent, 10% sequential How close to 10-fold speedup? Example Ten processors 99% concurrent, 01% sequential How close to 10-fold speedup? Speedup=5.26= 2007 Herlihy and Shavit Herlihy and Shavit 104 Example Ten processors 99% concurrent, 01% sequential How close to 10-fold speedup? Speedup=9.17= The Moral The small % of a program that is hard to parallelize may have a large impact on overall speedup. :-( 2007 Herlihy and Shavit Herlihy and Shavit
Early Adopter : Multiprocessor Programming in the Undergraduate Program. NSF/TCPP Curriculum: Early Adoption at the University of Central Florida
Early Adopter : Multiprocessor Programming in the Undergraduate Program NSF/TCPP Curriculum: Early Adoption at the University of Central Florida Narsingh Deo Damian Dechev Mahadevan Vasudevan Department
More informationCS4961 Parallel Programming. Lecture 1: Introduction 08/24/2010. Course Details Time and Location: TuTh, 9:10-10:30 AM, WEB L112 Course Website
Parallel Programming Lecture 1: Introduction Mary Hall August 24, 2010 1 Course Details Time and Location: TuTh, 9:10-10:30 AM, WEB L112 Course Website - http://www.eng.utah.edu/~cs4961/ Instructor: Mary
More informationParallelism Across the Curriculum
Parallelism Across the Curriculum John E. Howland Department of Computer Science Trinity University One Trinity Place San Antonio, Texas 78212-7200 Voice: (210) 999-7364 Fax: (210) 999-7477 E-mail: jhowland@trinity.edu
More informationPeripheral Link Driver for ADSP In Embedded Control Application
Peripheral Link Driver for ADSP-21992 In Embedded Control Application Hany Ferdinando Jurusan Teknik Elektro Universitas Kristen Petra Siwalankerto 121-131 Surabaya 60236 Phone: +62 31 8494830, fax: +62
More informationCS4617 Computer Architecture
1/26 CS4617 Computer Architecture Lecture 2 Dr J Vaughan September 10, 2014 2/26 Amdahl s Law Speedup = Execution time for entire task without using enhancement Execution time for entire task using enhancement
More informationOverview. 1 Trends in Microprocessor Architecture. Computer architecture. Computer architecture
Overview 1 Trends in Microprocessor Architecture R05 Robert Mullins Computer architecture Scaling performance and CMOS Where have performance gains come from? Modern superscalar processors The limits of
More informationCS586: Distributed Computing Tutorial 1
CS586: Distributed Computing Tutorial 1 Professor: Panagiota Fatourou TA: Eleftherios Kosmas CSD - October 2011 Amdahl's Law It is used to predict the theoretical maximum speedup of a sequential program,
More informationAdministrative notes January 9, 2018
Administrative notes January 9, 2018 Survey: https://survey.ubc.ca/s/cpsc-100-studentexperience-pre-2017w2/ Worth bonus 1% on final course mark We ll be using iclickers today If you want to try REEF/iClicker
More informationExploiting Coarse-Grained Task, Data, and Pipeline Parallelism in Stream Programs
Exploiting Coarse-Grained Task, Data, and Pipeline Parallelism in Stream Programs Michael Gordon, William Thies, and Saman Amarasinghe Massachusetts Institute of Technology ASPLOS October 2006 San Jose,
More informationLeading by design: Q&A with Dr. Raghuram Tupuri, AMD Chris Hall, DigiTimes.com, Taipei [Monday 12 December 2005]
Leading by design: Q&A with Dr. Raghuram Tupuri, AMD Chris Hall, DigiTimes.com, Taipei [Monday 12 December 2005] AMD s drive to 64-bit processors surprised everyone with its speed, even as detractors commented
More informationImproving GPU Performance via Large Warps and Two-Level Warp Scheduling
Improving GPU Performance via Large Warps and Two-Level Warp Scheduling Veynu Narasiman The University of Texas at Austin Michael Shebanow NVIDIA Chang Joo Lee Intel Rustam Miftakhutdinov The University
More informationLec 24: Parallel Processors. Announcements
Lec 24: Parallel Processors Kavita ala CS 3410, Fall 2008 Computer Science Cornell University P 3 out Hack n Seek nnouncements The goal is to have fun with it Recitations today will talk about it Pizza
More informationParallel Computing in the Multicore Era
Parallel Computing in the Multicore Era Mikel Lujan & Graham Riley 21 st September 2016 Combining the strengths of UMIST and The Victoria University of Manchester MSc in Advanced Computer Science Theme
More informationRS-485 Transmit Enable Signal Control Nigel Jones
RMB Consulting Where innovation and execution go hand in hand RS-485 Transmit Enable Signal Control Nigel Jones Quite a few embedded systems include multiple processors. Sometimes these processors stand
More informationIntroduction to Real-Time Systems
Introduction to Real-Time Systems Real-Time Systems, Lecture 1 Martina Maggio and Karl-Erik Årzén 16 January 2018 Lund University, Department of Automatic Control Content [Real-Time Control System: Chapter
More informationInstructor: Dr. Mainak Chaudhuri. Instructor: Dr. S. K. Aggarwal. Instructor: Dr. Rajat Moona
NPTEL Online - IIT Kanpur Instructor: Dr. Mainak Chaudhuri Instructor: Dr. S. K. Aggarwal Course Name: Department: Program Optimization for Multi-core Architecture Computer Science and Engineering IIT
More informationGlobal State and Gossip
Global State and Gossip CS 240: Computing Systems and Concurrency Lecture 6 Marco Canini Credits: Indranil Gupta developed much of the original material. Today 1. Global snapshot of a distributed system
More informationStrategic Bargaining. This is page 1 Printer: Opaq
16 This is page 1 Printer: Opaq Strategic Bargaining The strength of the framework we have developed so far, be it normal form or extensive form games, is that almost any well structured game can be presented
More informationProcessors Processing Processors. The meta-lecture
Simulators 5SIA0 Processors Processing Processors The meta-lecture Why Simulators? Your Friend Harm Why Simulators? Harm Loves Tractors Harm Why Simulators? The outside world Unfortunately for Harm you
More informationReal Time Operating Systems Lecture 29.1
Real Time Operating Systems Lecture 29.1 EE345M Final Exam study guide (Spring 2014): Final is both a closed and open book exam. During the closed book part you can have a pencil, pen and eraser. During
More informationParallel Computing in the Multicore Era
Parallel Computing in the Multicore Era Prof. John Gurd 18 th September 2014 Combining the strengths of UMIST and The Victoria University of Manchester MSc in Advanced Computer Science Theme on Routine
More informationCS 110 Computer Architecture Lecture 11: Pipelining
CS 110 Computer Architecture Lecture 11: Pipelining Instructor: Sören Schwertfeger http://shtech.org/courses/ca/ School of Information Science and Technology SIST ShanghaiTech University Slides based on
More informationWireless in the Real World. Principles
Wireless in the Real World Principles Make every transmission count E.g., reduce the # of collisions E.g., drop packets early, not late Control errors Fundamental problem in wless Maximize spatial reuse
More information1. The decimal number 62 is represented in hexadecimal (base 16) and binary (base 2) respectively as
BioE 1310 - Review 5 - Digital 1/16/2017 Instructions: On the Answer Sheet, enter your 2-digit ID number (with a leading 0 if needed) in the boxes of the ID section. Fill in the corresponding numbered
More informationDepartment Computer Science and Engineering IIT Kanpur
NPTEL Online - IIT Bombay Course Name Parallel Computer Architecture Department Computer Science and Engineering IIT Kanpur Instructor Dr. Mainak Chaudhuri file:///e /parallel_com_arch/lecture1/main.html[6/13/2012
More informationCUDA Threads. Terminology. How it works. Terminology. Streaming Multiprocessor (SM) A SM processes block of threads
Terminology CUDA Threads Bedrich Benes, Ph.D. Purdue University Department of Computer Graphics Streaming Multiprocessor (SM) A SM processes block of threads Streaming Processors (SP) also called CUDA
More informationDistributed Slap Jack
Distributed Slap Jack Jim Boyles and Mary Creel Advanced Operating Systems February 6, 2003 1 I. INTRODUCTION Slap Jack is a card game with a simple strategy. There is no strategy. The game can be played
More informationLecture 3: Error Handling
Lecture 3: Error Handling CSE 123: Computer Networks Alex C. Snoeren HW 1 Due NEXT WEDNESDAY Lecture 3 Overview Framing wrap-up Clock-based framing Error handling through redundancy Hamming Distance When
More informationSimulation Performance Optimization of Virtual Prototypes Sammidi Mounika, B S Renuka
Simulation Performance Optimization of Virtual Prototypes Sammidi Mounika, B S Renuka Abstract Virtual prototyping is becoming increasingly important to embedded software developers, engineers, managers
More informationCOMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design
PH-315 COMINATIONAL and SEUENTIAL LOGIC CIRCUITS Hardware implementation and software design A La Rosa I PURPOSE: To familiarize with combinational and sequential logic circuits Combinational circuits
More informationThe Looming Software Crisis due to the Multicore Menace
The Looming Software Crisis due to the Multicore Menace Saman Amarasinghe Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology 2 Today: The Happily Oblivious Average
More informationIntroduction (concepts and definitions)
Objectives: Introduction (digital system design concepts and definitions). Advantages and drawbacks of digital techniques compared with analog. Digital Abstraction. Synchronous and Asynchronous Systems.
More informationa8259 Features General Description Programmable Interrupt Controller
a8259 Programmable Interrupt Controller July 1997, ver. 1 Data Sheet Features Optimized for FLEX and MAX architectures Offers eight levels of individually maskable interrupts Expandable to 64 interrupts
More informationLecture Topics. Announcements. Today: Memory Management (Stallings, chapter ) Next: continued. Self-Study Exercise #6. Project #4 (due 10/11)
Lecture Topics Today: Memory Management (Stallings, chapter 7.1-7.4) Next: continued 1 Announcements Self-Study Exercise #6 Project #4 (due 10/11) Project #5 (due 10/18) 2 Memory Hierarchy 3 Memory Hierarchy
More informationImproving Loop-Gain Performance In Digital Power Supplies With Latest- Generation DSCs
ISSUE: March 2016 Improving Loop-Gain Performance In Digital Power Supplies With Latest- Generation DSCs by Alex Dumais, Microchip Technology, Chandler, Ariz. With the consistent push for higher-performance
More informationPerformance Evaluation of Multi-Threaded System vs. Chip-Multi-Processor System
Performance Evaluation of Multi-Threaded System vs. Chip-Multi-Processor System Ho Young Kim, Robert Maxwell, Ankil Patel, Byeong Kil Lee Abstract The purpose of this study is to analyze and compare the
More informationHARDWARE ACCELERATION OF THE GIPPS MODEL
HARDWARE ACCELERATION OF THE GIPPS MODEL FOR REAL-TIME TRAFFIC SIMULATION Salim Farah 1 and Magdy Bayoumi 2 The Center for Advanced Computer Studies, University of Louisiana at Lafayette, USA 1 snf3346@cacs.louisiana.edu
More informationlogic system Outputs The addition of feedback means that the state of the circuit may change with time; it is sequential. logic system Outputs
Sequential Logic The combinational logic circuits we ve looked at so far, whether they be simple gates or more complex circuits have clearly separated inputs and outputs. A change in the input produces
More informationGrading Delays. We don t have permission to grade you (yet) We re working with tstaff on a solution We ll get grades back to you as soon as we can
Grading Delays We don t have permission to grade you (yet) We re working with tstaff on a solution We ll get grades back to you as soon as we can Due next week: warmup2 retries dungeon_crawler1 extra retries
More informationGame Architecture. 4/8/16: Multiprocessor Game Loops
Game Architecture 4/8/16: Multiprocessor Game Loops Monolithic Dead simple to set up, but it can get messy Flow-of-control can be complex Top-level may have too much knowledge of underlying systems (gross
More informationOn-chip Networks in Multi-core era
Friday, October 12th, 2012 On-chip Networks in Multi-core era Davide Zoni PhD Student email: zoni@elet.polimi.it webpage: home.dei.polimi.it/zoni Outline 2 Introduction Technology trends and challenges
More informationCOTSon: Infrastructure for system-level simulation
COTSon: Infrastructure for system-level simulation Ayose Falcón, Paolo Faraboschi, Daniel Ortega HP Labs Exascale Computing Lab http://sites.google.com/site/hplabscotson MICRO-41 tutorial November 9, 28
More informationCIS 480/899 Embedded and Cyber Physical Systems Spring 2009 Introduction to Real-Time Scheduling. Examples of real-time applications
CIS 480/899 Embedded and Cyber Physical Systems Spring 2009 Introduction to Real-Time Scheduling Insup Lee Department of Computer and Information Science University of Pennsylvania lee@cis.upenn.edu www.cis.upenn.edu/~lee
More informationChapter 3. H/w s/w interface. hardware software Vijaykumar ECE495K Lecture Notes: Chapter 3 1
Chapter 3 hardware software H/w s/w interface Problems Algorithms Prog. Lang & Interfaces Instruction Set Architecture Microarchitecture (Organization) Circuits Devices (Transistors) Bits 29 Vijaykumar
More informationSuggested Readings! Lecture 12" Introduction to Pipelining! Example: We have to build x cars...! ...Each car takes 6 steps to build...! ! Readings!
1! CSE 30321 Lecture 12 Introduction to Pipelining! CSE 30321 Lecture 12 Introduction to Pipelining! 2! Suggested Readings!! Readings!! H&P: Chapter 4.5-4.7!! (Over the next 3-4 lectures)! Lecture 12"
More informationFPGA-2012 Pre-Conference Workshop: FPGAs in 2032: Challenges and Opportunities
FPGA-2012 Pre-Conference Workshop: FPGAs in 2032: Challenges and Opportunities Shep Siegel Atomic Rules LLC 1 Agenda Pre-History: Our Future from our Past How Specialization Changed Us Why Research Matters
More informationDiffracting Trees and Layout
Chapter 9 Diffracting Trees and Layout 9.1 Overview A distributed parallel technique for shared counting that is constructed, in a manner similar to counting network, from simple one-input two-output computing
More information64/256/512/1K/2K/4K/8K x 9 Synchronous FIFOs
241/42 fax id: 549 CY7C4421/421/4211/4221 64/256/512/1K/2K/4K/8K x 9 Synchronous FIFOs Features High-speed, low-power, first-in, first-out (FIFO) memories 64 x 9 (CY7C4421) 256 x 9 (CY7C421) 512 x 9 (CY7C4211)
More informationLearning Concurrency Concepts while Playing Games
Learning Concurrency Concepts while Playing Games Cornelia P. Inggs, Taun Gadd and Justin Giffard Computer Science, Dept. of Mathematical Sciences, Stellenbosch Univ., Private Bag X1, 7602 Matieland, South
More information2Kx8 Dual-Port Static RAM
1CY 7C13 2/ CY7C1 36 fax id: 5201 CY7C132/CY7C136 Features True Dual-Ported memory cells which allow simultaneous reads of the same memory location 2K x 8 organization 0.65-micron CMOS for optimum speed/power
More informationEECS 579 Fall What is Testing?
EECS 579 Fall 2001 Recap Text (new): Essentials of Electronic Testing by M. Bushnell & V. Agrawal, Kluwer, Boston, 2000. Class Home Page: http://www.eecs.umich.edu/courses/eecs579 Lecture notes and other
More informationPrecise State Recovery. Out-of-Order Pipelines
Precise State Recovery in Out-of-Order Pipelines Nima Honarmand Recall Our Generic OOO Pipeline Instruction flow (pipeline front-end) is in-order Register and memory execution are OOO And, we need a final
More informationWhat is a Simulation? Simulation & Modeling. Why Do Simulations? Emulators versus Simulators. Why Do Simulations? Why Do Simulations?
What is a Simulation? Simulation & Modeling Introduction and Motivation A system that represents or emulates the behavior of another system over time; a computer simulation is one where the system doing
More informationPerformance Metrics, Amdahl s Law
ecture 26 Computer Science 61C Spring 2017 March 20th, 2017 Performance Metrics, Amdahl s Law 1 New-School Machine Structures (It s a bit more complicated!) Software Hardware Parallel Requests Assigned
More informationHardware Flags. and the RTI system. Microcomputer Architecture and Interfacing Colorado School of Mines Professor William Hoff
Hardware Flags and the RTI system 1 Need for hardware flag Often a microcontroller needs to test whether some event has occurred, and then take an action For example A sensor outputs a pulse when a model
More informationEnhanced Push-to-Talk Application for iphone
AT&T Business Mobility Enhanced Push-to-Talk Application for iphone Standard Version Release 8.3 Table of Contents Introduction and Key Features 2 Application Installation & Getting Started 2 Navigating
More informationLecture 1: Introduction to Digital System Design & Co-Design
Design & Co-design of Embedded Systems Lecture 1: Introduction to Digital System Design & Co-Design Computer Engineering Dept. Sharif University of Technology Winter-Spring 2008 Mehdi Modarressi Topics
More informationOutline for February 6, 2001
Outline for February 6, 2001 ECS 251 Winter 2001 Page 1 Outline for February 6, 2001 1. Greetings and felicitations! a. Friday times good, also Tuesday 3-4:30. Please send me your preferences! 2. Global
More informationCS61c: Introduction to Synchronous Digital Systems
CS61c: Introduction to Synchronous Digital Systems J. Wawrzynek March 4, 2006 Optional Reading: P&H, Appendix B 1 Instruction Set Architecture Among the topics we studied thus far this semester, was the
More informationwill talk about Carry Look Ahead adder for speed improvement of multi-bit adder. Also, some people call it CLA Carry Look Ahead adder.
Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture # 12 Carry Look Ahead Address In the last lecture we introduced the concept
More informationReal Time Simulation of Power Electronic Systems on Multi-core Processors
Real Time Simulation of Power Electronic Systems on Multi-core Processors Veenu Dixit Department Of Electrical Engineering Indian Institute of Technology Bombay Mumbai-400076, India. Email: veenudixit[at]iitb.ac.in
More informationUNIT-III POWER ESTIMATION AND ANALYSIS
UNIT-III POWER ESTIMATION AND ANALYSIS In VLSI design implementation simulation software operating at various levels of design abstraction. In general simulation at a lower-level design abstraction offers
More informationMM58174A Microprocessor-Compatible Real-Time Clock
MM58174A Microprocessor-Compatible Real-Time Clock General Description The MM58174A is a low-threshold metal-gate CMOS circuit that functions as a real-time clock and calendar in bus-oriented microprocessor
More informationPipelined Processor Design
Pipelined Processor Design COE 38 Computer Architecture Prof. Muhamed Mudawar Computer Engineering Department King Fahd University of Petroleum and Minerals Presentation Outline Pipelining versus Serial
More informationLesson UART. Clock Systems and Timing UART (Universal Asynchronous Receiver-Transmitter) Queues Lab Assignment: UART
Lesson UART Clock Systems and Timing UART (Universal Asynchronous Receiver-Transmitter) Queues Lab Assignment: UART Clock Systems and Timing Clock System & Timing A crystal oscillator is typically used
More informationEECS150 - Digital Design Lecture 28 Course Wrap Up. Recap 1
EECS150 - Digital Design Lecture 28 Course Wrap Up Dec. 5, 2013 Prof. Ronald Fearing Electrical Engineering and Computer Sciences University of California, Berkeley (slides courtesy of Prof. John Wawrzynek)
More informationClock Synchronization
Clock Synchronization Chapter 9 d Hoc and Sensor Networks Roger Wattenhofer 9/1 coustic Detection (Shooter Detection) Sound travels much slower than radio signal (331 m/s) This allows for quite accurate
More informationScheduling Switch-Mode Power Supply Noise for Real-Time Systems
Scheduling Switch-Mode Power Supply Noise for Real-Time Systems Subash Sachidananda and Alexander Dean Department of Electrical and Computer Engineering Center for Efficient Scalable and Reliable Computing,
More informationCS420/520 Computer Architecture I
CS42/52 Computer rchitecture I Designing a Pipeline Processor (C4: ppendix ) Dr. Xiaobo Zhou Department of Computer Science CS42/52 pipeline. UC. Colorado Springs dapted from UCB97 & UCB3 Branch Jump Recap:
More informationROM/UDF CPU I/O I/O I/O RAM
DATA BUSSES INTRODUCTION The avionics systems on aircraft frequently contain general purpose computer components which perform certain processing functions, then relay this information to other systems.
More information7/11/2012. Single Cycle (Review) CSE 2021: Computer Organization. Multi-Cycle Implementation. Single Cycle with Jump. Pipelining Analogy
CSE 2021: Computer Organization Single Cycle (Review) Lecture-10 CPU Design : Pipelining-1 Overview, Datapath and control Shakil M. Khan CSE-2021 July-12-2012 2 Single Cycle with Jump Multi-Cycle Implementation
More informationLecture 14: Datapath Functional Units Adders
Lecture 14: Datapath Functional Units dders Mark Horowitz omputer Systems Laboratory Stanford University horowitz@stanford.edu MH EE271 Lecture 14 1 Overview Reading W&E 8.2.1 - dders References Hennessy
More informationEE 382C EMBEDDED SOFTWARE SYSTEMS. Literature Survey Report. Characterization of Embedded Workloads. Ajay Joshi. March 30, 2004
EE 382C EMBEDDED SOFTWARE SYSTEMS Literature Survey Report Characterization of Embedded Workloads Ajay Joshi March 30, 2004 ABSTRACT Security applications are a class of emerging workloads that will play
More informationMultiple Clock and Voltage Domains for Chip Multi Processors
Multiple Clock and Voltage Domains for Chip Multi Processors Efraim Rotem- Intel Corporation Israel Avi Mendelson- Microsoft R&D Israel Ran Ginosar- Technion Israel institute of Technology Uri Weiser-
More informationECE473 Computer Architecture and Organization. Pipeline: Introduction
Computer Architecture and Organization Pipeline: Introduction Lecturer: Prof. Yifeng Zhu Fall, 2015 Portions of these slides are derived from: Dave Patterson UCB Lec 11.1 The Laundry Analogy Student A,
More informationWho we are: Asynchronous Computing. Sketchpad (1963) Five parts. Introduction. Marly Roncken > Born Netherlands > Utrecht, Philips, Intel, ARC
Asynchronous Computing 1. Marly Roncken and Ivan Sutherland (ARC) Maseeh College of Engineering and Computer Science Portland State University July 2018 Who we are: Marly Roncken > Born Netherlands > Utrecht,
More informationProject 5: Optimizer Jason Ansel
Project 5: Optimizer Jason Ansel Overview Project guidelines Benchmarking Library OoO CPUs Project Guidelines Use optimizations from lectures as your arsenal If you decide to implement one, look at Whale
More informationCOMPUTER ORGANIZATION & ARCHITECTURE DIGITAL LOGIC CSCD211- DEPARTMENT OF COMPUTER SCIENCE, UNIVERSITY OF GHANA
COMPUTER ORGANIZATION & ARCHITECTURE DIGITAL LOGIC LOGIC Logic is a branch of math that tries to look at problems in terms of being either true or false. It will use a set of statements to derive new true
More information3.5: Multimedia Operating Systems Resource Management. Resource Management Synchronization. Process Management Multimedia
Chapter 2: Basics Chapter 3: Multimedia Systems Communication Aspects and Services Multimedia Applications and Communication Multimedia Transfer and Control Protocols Quality of Service and 3.5: Multimedia
More informationSF2972: Game theory. Introduction to matching
SF2972: Game theory Introduction to matching The 2012 Nobel Memorial Prize in Economic Sciences: awarded to Alvin E. Roth and Lloyd S. Shapley for the theory of stable allocations and the practice of market
More informationResults & Confirmation, Clearing & Adjustment Exit 2018
Results & Confirmation, Clearing & Adjustment Exit 2018 What to do and when Results & Confirmation, Clearing & Adjustment 2018 What to do and when If you have already applied to university and currently
More informationINSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing
UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Departamento de Engenharia Informática Architectures for Embedded Computing MEIC-A, MEIC-T, MERC Lecture Slides Version 3.0 - English Lecture 23
More informationLow Power VLSI Circuit Synthesis: Introduction and Course Outline
Low Power VLSI Circuit Synthesis: Introduction and Course Outline Ajit Pal Professor Department of Computer Science and Engineering Indian Institute of Technology Kharagpur INDIA -721302 Agenda Why Low
More informationMITOCW R3. Document Distance, Insertion and Merge Sort
MITOCW R3. Document Distance, Insertion and Merge Sort The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high-quality educational
More informationCSCI-1680 Physical Layer Rodrigo Fonseca
CSCI-1680 Physical Layer Rodrigo Fonseca Based partly on lecture notes by David Mazières, Phil Levis, John Janno< Administrivia Signup for Snowcast milestone Make sure you signed up Make sure you are on
More informationCharacterizing and Improving the Performance of Intel Threading Building Blocks
Characterizing and Improving the Performance of Intel Threading Building Blocks Gilberto Contreras, Margaret Martonosi Princeton University IISWC 08 Motivation Chip Multiprocessors are the new computing
More information3. Draw a side-view picture of the situation below, showing the ringstand, rubber band, and your hand when the rubber band is fully stretched.
1 Forces and Motion In the following experiments, you will investigate how the motion of an object is related to the forces acting on it. For our purposes, we ll use the everyday definition of a force
More informationOutline Simulators and such. What defines a simulator? What about emulation?
Outline Simulators and such Mats Brorsson & Mladen Nikitovic ICT Dept of Electronic, Computer and Software Systems (ECS) What defines a simulator? Why are simulators needed? Classifications Case studies
More informationMITOCW R9. Rolling Hashes, Amortized Analysis
MITOCW R9. Rolling Hashes, Amortized Analysis The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources
More informationAC : A TURING MACHINE FOR THE 21ST CENTURY
AC 2007-745: A TURING MACHINE FOR THE 21ST CENTURY Christopher Carroll, University of Minnesota-Duluth CHRISTOPHER R. CARROLL Christopher R. Carroll earned his academic degrees from Georgia Tech and from
More informationEITF35: Introduction to Structured VLSI Design
EITF35: Introduction to Structured VLSI Design Part 4.2.1: Learn More Liang Liu liang.liu@eit.lth.se 1 Outline Crossing clock domain Reset, synchronous or asynchronous? 2 Why two DFFs? 3 Crossing clock
More informationTopic Notes: Digital Logic
Computer Science 220 Assembly Language & Comp. Architecture Siena College Fall 20 Topic Notes: Digital Logic Our goal for the next couple of weeks is to gain a reasonably complete understanding of how
More informationCustomer Service Training. University of Mississippi Medical Center Access Management Patient Access Specialists I
Customer Service Training University of Mississippi Medical Center Access Management Patient Access Specialists I As a Patient Access Specialist You are the FIRST IMPRESSION patients have of UMC. If patients
More informationDrivers for amd 64 processor Drivers for amd 64 processor 3700.zip
Drivers for amd 64 processor 3700 Drivers for amd 64 processor 3700.zip Download Now - driver updating utility for official AMD hardware drivers. Scan your PC for the missing AMD Athlon(tm) 64 Processor
More informationAsynchronous vs. Synchronous Design of RSA
vs. Synchronous Design of RSA A. Rezaeinia, V. Fatemi, H. Pedram,. Sadeghian, M. Naderi Computer Engineering Department, Amirkabir University of Technology, Tehran, Iran {rezainia,fatemi,pedram,naderi}@ce.aut.ac.ir
More informationUser Guide. PTT Radio Application. ios. Release 8.3
User Guide PTT Radio Application ios Release 8.3 March 2018 1 Table of Contents 1. Introduction and Key Features... 5 2. Application Installation & Getting Started... 6 Prerequisites... 6 Download... 6
More informationCS429: Computer Organization and Architecture
CS429: Computer Organization and Architecture Dr. Bill Young Department of Computer Sciences University of Texas at Austin Last updated: November 8, 2017 at 09:27 CS429 Slideset 14: 1 Overview What s wrong
More informationIntel and XENON Help Oil Search Dig Deeper Into Sub-Surface Oil and Gas Analysis
Intel and XENON Help Oil Search Dig Deeper Into Sub-Surface Oil and Gas Analysis Unique oil sector technology project returns strong cost to benefit ratio BACKGROUND About Oil Search Oil Search was established
More informationCity & Guilds Qualifications International ESOL Achiever level B1 Practice Paper 3
City & Guilds Qualifications International ESOL Achiever level B1 Practice Paper 3 NB Read out the text which is not in italics. Read at normal speed making it sound as much like spoken English (rather
More informationInterfacing ACT-R with External Simulations
Interfacing ACT-R with External Simulations Eric Biefeld, Brad Best, Christian Lebiere Human-Computer Interaction Institute Carnegie Mellon University We Have Integrated ACT-R With Several External Simulations
More information