From the New York Times Introduction to Concurrency

Size: px
Start display at page:

Download "From the New York Times Introduction to Concurrency"

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 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 information

CS4961 Parallel Programming. Lecture 1: Introduction 08/24/2010. Course Details Time and Location: TuTh, 9:10-10:30 AM, WEB L112 Course Website

CS4961 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 information

Parallelism Across the Curriculum

Parallelism 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 information

Peripheral Link Driver for ADSP In Embedded Control Application

Peripheral 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 information

CS4617 Computer Architecture

CS4617 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 information

Overview. 1 Trends in Microprocessor Architecture. Computer architecture. Computer architecture

Overview. 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 information

CS586: Distributed Computing Tutorial 1

CS586: 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 information

Administrative notes January 9, 2018

Administrative 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 information

Exploiting Coarse-Grained Task, Data, and Pipeline Parallelism in Stream Programs

Exploiting 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 information

Leading 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] 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 information

Improving GPU Performance via Large Warps and Two-Level Warp Scheduling

Improving 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 information

Lec 24: Parallel Processors. Announcements

Lec 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 information

Parallel Computing in the Multicore Era

Parallel 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 information

RS-485 Transmit Enable Signal Control Nigel Jones

RS-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 information

Introduction to Real-Time Systems

Introduction 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 information

Instructor: Dr. Mainak Chaudhuri. Instructor: Dr. S. K. Aggarwal. Instructor: Dr. Rajat Moona

Instructor: 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 information

Global State and Gossip

Global 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 information

Strategic Bargaining. This is page 1 Printer: Opaq

Strategic 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 information

Processors Processing Processors. The meta-lecture

Processors 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 information

Real Time Operating Systems Lecture 29.1

Real 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 information

Parallel Computing in the Multicore Era

Parallel 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 information

CS 110 Computer Architecture Lecture 11: Pipelining

CS 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 information

Wireless in the Real World. Principles

Wireless 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 information

1. The decimal number 62 is represented in hexadecimal (base 16) and binary (base 2) respectively as

1. 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 information

Department Computer Science and Engineering IIT Kanpur

Department 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 information

CUDA Threads. Terminology. How it works. Terminology. Streaming Multiprocessor (SM) A SM processes block of threads

CUDA 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 information

Distributed Slap Jack

Distributed 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 information

Lecture 3: Error Handling

Lecture 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 information

Simulation Performance Optimization of Virtual Prototypes Sammidi Mounika, B S Renuka

Simulation 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 information

COMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design

COMBINATIONAL 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 information

The Looming Software Crisis due to the Multicore Menace

The 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 information

Introduction (concepts and definitions)

Introduction (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 information

a8259 Features General Description Programmable Interrupt Controller

a8259 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 information

Lecture Topics. Announcements. Today: Memory Management (Stallings, chapter ) Next: continued. Self-Study Exercise #6. Project #4 (due 10/11)

Lecture 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 information

Improving Loop-Gain Performance In Digital Power Supplies With Latest- Generation DSCs

Improving 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 information

Performance Evaluation of Multi-Threaded System vs. Chip-Multi-Processor System

Performance 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 information

HARDWARE ACCELERATION OF THE GIPPS MODEL

HARDWARE 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 information

logic system Outputs The addition of feedback means that the state of the circuit may change with time; it is sequential. logic system Outputs

logic 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 information

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

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 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 information

Game Architecture. 4/8/16: Multiprocessor Game Loops

Game 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 information

On-chip Networks in Multi-core era

On-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 information

COTSon: Infrastructure for system-level simulation

COTSon: 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 information

CIS 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. 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 information

Chapter 3. H/w s/w interface. hardware software Vijaykumar ECE495K Lecture Notes: Chapter 3 1

Chapter 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 information

Suggested Readings! Lecture 12" Introduction to Pipelining! Example: We have to build x cars...! ...Each car takes 6 steps to build...! ! Readings!

Suggested 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 information

FPGA-2012 Pre-Conference Workshop: FPGAs in 2032: Challenges and Opportunities

FPGA-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 information

Diffracting Trees and Layout

Diffracting 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 information

64/256/512/1K/2K/4K/8K x 9 Synchronous FIFOs

64/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 information

Learning Concurrency Concepts while Playing Games

Learning 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 information

2Kx8 Dual-Port Static RAM

2Kx8 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 information

EECS 579 Fall What is Testing?

EECS 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 information

Precise State Recovery. Out-of-Order Pipelines

Precise 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 information

What is a Simulation? Simulation & Modeling. Why Do Simulations? Emulators versus Simulators. Why Do Simulations? Why Do Simulations?

What 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 information

Performance Metrics, Amdahl s Law

Performance 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 information

Hardware Flags. and the RTI system. Microcomputer Architecture and Interfacing Colorado School of Mines Professor William Hoff

Hardware 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 information

Enhanced Push-to-Talk Application for iphone

Enhanced 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 information

Lecture 1: Introduction to Digital System Design & Co-Design

Lecture 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 information

Outline for February 6, 2001

Outline 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 information

CS61c: Introduction to Synchronous Digital Systems

CS61c: 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 information

will talk about Carry Look Ahead adder for speed improvement of multi-bit adder. Also, some people call it CLA Carry Look Ahead adder.

will 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 information

Real Time Simulation of Power Electronic Systems on Multi-core Processors

Real 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 information

UNIT-III POWER ESTIMATION AND ANALYSIS

UNIT-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 information

MM58174A Microprocessor-Compatible Real-Time Clock

MM58174A 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 information

Pipelined Processor Design

Pipelined 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 information

Lesson 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 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 information

EECS150 - Digital Design Lecture 28 Course Wrap Up. Recap 1

EECS150 - 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 information

Clock Synchronization

Clock 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 information

Scheduling Switch-Mode Power Supply Noise for Real-Time Systems

Scheduling 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 information

CS420/520 Computer Architecture I

CS420/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 information

ROM/UDF CPU I/O I/O I/O RAM

ROM/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 information

7/11/2012. Single Cycle (Review) CSE 2021: Computer Organization. Multi-Cycle Implementation. Single Cycle with Jump. Pipelining Analogy

7/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 information

Lecture 14: Datapath Functional Units Adders

Lecture 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 information

EE 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 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 information

Multiple Clock and Voltage Domains for Chip Multi Processors

Multiple 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 information

ECE473 Computer Architecture and Organization. Pipeline: Introduction

ECE473 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 information

Who we are: Asynchronous Computing. Sketchpad (1963) Five parts. Introduction. Marly Roncken > Born Netherlands > Utrecht, Philips, Intel, ARC

Who 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 information

Project 5: Optimizer Jason Ansel

Project 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 information

COMPUTER ORGANIZATION & ARCHITECTURE DIGITAL LOGIC CSCD211- DEPARTMENT OF COMPUTER SCIENCE, UNIVERSITY OF GHANA

COMPUTER 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 information

3.5: Multimedia Operating Systems Resource Management. Resource Management Synchronization. Process Management Multimedia

3.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 information

SF2972: Game theory. Introduction to matching

SF2972: 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 information

Results & Confirmation, Clearing & Adjustment Exit 2018

Results & 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 information

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing

INSTITUTO 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 information

Low Power VLSI Circuit Synthesis: Introduction and Course Outline

Low 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 information

MITOCW R3. Document Distance, Insertion and Merge Sort

MITOCW 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 information

CSCI-1680 Physical Layer Rodrigo Fonseca

CSCI-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 information

Characterizing and Improving the Performance of Intel Threading Building Blocks

Characterizing 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 information

3. Draw a side-view picture of the situation below, showing the ringstand, rubber band, and your hand when the rubber band is fully stretched.

3. 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 information

Outline Simulators and such. What defines a simulator? What about emulation?

Outline 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 information

MITOCW R9. Rolling Hashes, Amortized Analysis

MITOCW 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 information

AC : A TURING MACHINE FOR THE 21ST CENTURY

AC : 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 information

EITF35: Introduction to Structured VLSI Design

EITF35: 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 information

Topic Notes: Digital Logic

Topic 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 information

Customer 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 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 information

Drivers for amd 64 processor Drivers for amd 64 processor 3700.zip

Drivers 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 information

Asynchronous vs. Synchronous Design of RSA

Asynchronous 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 information

User Guide. PTT Radio Application. ios. Release 8.3

User 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 information

CS429: Computer Organization and Architecture

CS429: 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 information

Intel 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 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 information

City & Guilds Qualifications International ESOL Achiever level B1 Practice Paper 3

City & 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 information

Interfacing ACT-R with External Simulations

Interfacing 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