An Esterel Virtual Machine

Size: px
Start display at page:

Download "An Esterel Virtual Machine"

Transcription

1 An Esterel Virtual Machine Stephen A. Edwards Columbia University Octopi Workshop Chalmers University of Technology Gothenburg, Sweden December 28

2 An Esterel Virtual Machine Goal: Run big Esterel programs in memory constrained settings. Our target: the Hitachi H8 based RCX Microcontroller for Lego Mindstorms [SLAP 26]

3 An Example s s s= s= S s3 P s3 ÑÓ ÙÐ Ü ÑÔÐ ÒÔÙØ Á Ë ÓÙØÔÙØ Ç Ò Ð Ê Ò Ú ÖÝ Ë Ó Û Ø Á Û ÓÖØ Ù Ø Ò Ê Û Ò ÑÑ Ø Ñ Ø Ç ÐÓÓÔ Ô Ù Ô Ù ÔÖ ÒØ Ê Ø Ò Ñ Ø Ò ÔÖ ÒØ Ò ÐÓÓÔ Ò Ú ÖÝ Ò Ò Ð Ò ÑÓ ÙÐ * s6 2 * s s6 s3= s3= s6=2 s6= A P R s6 s6= s6= s3= s6= s6 s6= R s3= I s A 3 3 O P s6= P s= P s= s= s= A s6=2 R

4 Challenges Esterel s semantics require any implementation to deal with three issues: Concurrent execution of sequential threads of control within a cycle The scheduling constraints among these threads due to communication dependencies How control state is updated between cycles

5 How did we handle them? A virtual machine specifically designed to support Esterel features A sequentializing algorithm Conversion from GRC to BAL and then to a compact byte code

6 Phase : Schedule Schedule 2 3 4

7 Phase 2: Assign Threads Assign Threads

8 Phase 3: Sequentialize Sequentialize

9 Phase 4: Add Labels case Add Labels jmp done done 4 4

10 Phase 5: Convert to BAL 2 jmp done 3 case done Convert to BAL ؼ ËÌÀÊ ½ ؽ ÅÌ ½ ËÏ ½ ËÌÀÊ ½ Æʽ Æ Æʽ ËÏ Í Ø½ ÌÏ ¾ ¾ ½ ÂÅÈ ÓÒ ½ ÓÒ ËÏ ¼ 4

11 Phase 6: Convert to Byte Code ؼ ËÌÀÊ ½ ؽ ÅÌ ½ ËÏ ½ ËÌÀÊ ½ Æʽ Æ Convert to byte code ¼ ¼½ ¼¼ ¼ ¼ ¼½ ¼ ¼½ ¼ ¼½ ¼¼ ¼ ¼ Æʽ ËÏ Í Ø½ ÌÏ ¾ ¾ ½ ÂÅÈ ÓÒ ½ ÓÒ ËÏ ¼ ¼ ¼¾ ¼¼ ½ ¼ ¼¼ ½ ¼ ¼¼

12 Sequential Code Generation. Schedule the nodes in the graph 2. Assign thread numbers 3. Sequentialize the graph 4. Set the execution path by adding labels 5. Convert to BAL 6. Assemble to produce bytecode

13 Sequentialization

14 Sequentialization F 2 3 The dotted line labeled F represents the frontier. The frontier starts at the top of the graph. 4

15 Sequentialization F 2 3 The frontier moves down a node at a time in scheduledorder. 4

16 Sequentialization F 2 3 When a node is in the same thread as the most recently moved one, it is simply moved above the frontier. 4

17 Sequentialization F 2 3 However, when the next node is from a different thread, a switch is added to the previous thread and an active point is added to the new thread just above the just moved node. 4

18 Sequentialization 2 3 The algorithm is complete when the frontier has swept across all nodes in scheduled order. F 4

19 Sequentializing Algorithm : for each thread t in G do 2: create new active point p 3: copy first node n of t in G to n new node in G 4: connect p and n 5: add p to P[t ] and add n to A[t ] 6: t = the first thread 7: for each node n in scheduled order do 8: t is thread of n 9: if t t then : for each parent p in P[t ] do : for each successor c of p in A[t ] do 2: create switch node s from t to t and connect s between p and c 3: replace P[t ] with the set of new switch nodes 4: move n to P[t ] and remove it from A[t ] 5: for each unreached successor c of n do 6: copy c to c new node in G 7: if n is a fork then 8: add child to A[thread of c] 9: else 2: add child to A[t ] 2: t = t {remember the last thread}

20 Why VM? Goal: constrained memory environment Instruction set has direct support for Esterel constructs like concurrency, preemption, and signals E.g., a context switch can be specified in just two bytes

21 VM Details

22 VM Details Signal status registers Completion code registers Per thread program counters Inter instant state holding registers

23 VM: Signal, State, and Thread Opcode Description Encoding EMT Emit a Signal 4 RR SSIG Clear Signal A RR SSTT Set State B RR VV STHR Set Thread 7 TT HH LL

24 VM: Control Flow Instructions Opcode Description Encoding END Tick End 3 JMP Jump 6 HH LL NOP No Operation

25 VM: Branch, Switch, Terminate Opcode Description Encoding MWB Multiway Branch (State) 2D NL RR HH2 LL2... Multiway Branch (Comp.) 4D NL RR HH2 LL2... Two Way Branch (State) 29 RR HH LL TWB Two Way Branch (Signal) 49 RR HH LL Two Way Branch (Comp.) 69 RR HH LL SWC Switch Thread 5 TT SWCU Switch Unknown C TRM Set Completion Code 8 RR VV for Join

26 VM: Context Switch ººº Û Ø ÓÔÓ ² ¼Ü½ µß ººº ËÏ»» ÁÒÖ Ñ ÒØ Ø ÔÖÓ Ö Ñ ÓÙÒØ Ö Ô»» ËØÓÖ Ø ÙÖÖ ÒØ Ø Ö Ø Ð Ø Ø Ö Ð Ø Ø Ö ÙÖÖ ÒØ Ø Ö»» Ø Ø Ò ÜØ Ø Ö ÙÖÖ ÒØ Ø Ö Ô»» ÁÒÖ Ñ ÒØ Ø ÔÖÓ Ö Ñ ÓÙÒØ Ö Ô»» ËØÓÖ ÓÐ Ô Ó Ø Û Ø Ø ÓÐ Ø Ö Ø Ö Ð Ø Ø Ö Ô»» ÄÓ Ø Ô Ó Ø Û Ø Ø Ò Û Ø Ö Ô Ø Ö ÙÖÖ ÒØ Ø Ö Ö ººº

27 VM: Switch Unknown ººº ËÏ Í»» Å Ø Ø Ö ØÓÖ Ò Ð Ø Ø Ö Ø ÙÖÖ ÒØ Ø Ö Ø ÑÔ ÙÖÖ ÒØ Ø Ö ÙÖÖ ÒØ Ø Ö Ð Ø Ø Ö Ð Ø Ø Ö Ø ÑÔ»» ËØÓÖ ÓÐ Ô Ø Ö Ð Ø Ø Ö Ô»» ÄÓ Ò Û Ô Ô Ø Ö ÙÖÖ ÒØ Ø Ö Ö ººº

28 VM in action

29 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = last_thread = Threads Signals States Joins....

30 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = 4 last_thread = Threads Signals 6 States Joins....

31 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = 6 last_thread = Threads Signals 6 States Joins....

32 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = 6 last_thread = Threads Signals 8 6 States Joins....

33 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = 9 last_thread = Threads Signals 8 6 States Joins....

34 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = 22 last_thread = Threads Signals 8 6 States Joins....

35 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = 8 last_thread = Threads Signals 8 24 States Joins....

36 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = 2 last_thread = Threads Signals 8 5 States Joins....

37 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = 5 last_thread = Threads Signals 4 5 States Joins....

38 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = 4 last_thread = Threads Signals 4 5 States Joins....

39 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = 5 last_thread = Threads Signals 5 5 States Joins....

40 The engineering details brickos 2.6. on Redhat Linux gcc cross compiler for H83 Download lx files to the lego RCX via USB IR tower

41 Code Sizes Example BAL x86 H8 dacexample % % abcd % % greycounter % % tcint % 74 5% atds % % BAL: the size of our bytecode (in bytes) x86: the size of optimized C code for an x86 H8: the size of optimized C code for an Hitachi H8 Percentages represent the size savings of using bytecode.

42 Execution Times Example x86 BAL dacexample.6µs.µs 8 tcint.28µs.µs 4 atds.2µs.4µs 7

43 Conclusions Simple Virtual Machine Compilation scheme statically schedules the concurrent behavior and generates straight line code for each thread VM supports context switching well Bytecode for our virtual machine is roughly half the size of optimized native assembly code generated from C Speed tradeoff not that bad! Between 4 and 7 times slower than optimized C code

An Esterel Virtual Machine for Embedded Systems

An Esterel Virtual Machine for Embedded Systems SLA 6 An Esterel Virtual Machine for Embedded Systems Becky lummer Department of Computer Science Columbia University New York, USA Mukul Khajanchi Department of Computer Science Columbia University New

More information

Models, Notation, Goals

Models, Notation, Goals Scope Ë ÕÙ Ò Ð Ò ÐÝ Ó ÝÒ Ñ ÑÓ Ð Ü Ô Ö Ñ Ö ² Ñ ¹Ú ÖÝ Ò Ú Ö Ð Ö ÒÙÑ Ö Ð ÔÓ Ö ÓÖ ÔÔÖÓÜ Ñ ÓÒ ß À ÓÖ Ð Ô Ö Ô Ú ß Ë ÑÙÐ ÓÒ Ñ Ó ß ËÑÓÓ Ò ² Ö Ò Ö Ò Ô Ö Ñ Ö ÑÔÐ ß Ã ÖÒ Ð Ñ Ó ÚÓÐÙ ÓÒ Ñ Ó ÓÑ Ò Ô Ö Ð Ð Ö Ò Ð ÓÖ Ñ

More information

Using SmartXplorer to achieve timing closure

Using SmartXplorer to achieve timing closure Using SmartXplorer to achieve timing closure The main purpose of Xilinx SmartXplorer is to achieve timing closure where the default place-and-route (PAR) strategy results in a near miss. It can be much

More information

Ancillary Software Development at GSI. Michael Reese. Outline: Motivation Old Software New Software

Ancillary Software Development at GSI. Michael Reese. Outline: Motivation Old Software New Software Ancillary Software Development at GSI Michael Reese Outline: Motivation Old Software New Software Work supported by BMBF NuSTAR.DA - TP 6, FKZ: BMBF 05P12RDFN8 (TP 6). March 20, 2013 AGATA week 2013 at

More information

Concurrent Architectures - Unix: Sockets, Select & Signals

Concurrent Architectures - Unix: Sockets, Select & Signals Concurrent Architectures - Unix: Sockets, Select & Signals Assignment 1: Drop In Labs reminder check compiles in CS labs & you have submitted all your files in StReAMS! formatting your work: why to 80

More information

Concurrent Execution

Concurrent Execution Concurrent Execution Overview: concepts and definitions modelling: parallel composition action interleaving algebraic laws shared actions composite processes process labelling, action relabeling and hiding

More information

THE AUSTRALIAN NATIONAL UNIVERSITY Practice Final Examination, October 2012

THE AUSTRALIAN NATIONAL UNIVERSITY Practice Final Examination, October 2012 THE AUSTRALIAN NATIONAL UNIVERSITY Practice Final Examination, October 2012 COMP2310 / COMP6310 (Concurrent and Distributed Systems ) Writing Period: 3 hours duration Study Period: 15 minutes duration

More information

Control-Flow Graph and. Local Optimizations

Control-Flow Graph and. Local Optimizations Control-Flow Graph and - Part 2 Department of Computer Science and Automation Indian Institute of Science Bangalore 560 012 NPTEL Course on Principles of Compiler Design Outline of the Lecture What is

More information

This file contains an excerpt from the character code tables and list of character names for The Unicode Standard, Version 3.0.

This file contains an excerpt from the character code tables and list of character names for The Unicode Standard, Version 3.0. Range: This file contains an excerpt from the character code tables and list of character names for The Unicode Standard, Version.. isclaimer The shapes of the reference glyphs used in these code charts

More information

Using USB Hot-Plug For UMTS Short Message Service. Technical Brief from Missing Link Electronics:

Using USB Hot-Plug For UMTS Short Message Service. Technical Brief from Missing Link Electronics: Technical Brief 20100507 from Missing Link Electronics: Using USB Hot-Plug For UMTS Short Message Service This Technical Brief describes how the USB hot-plug capabilities of the MLE Soft Hardware Platform

More information

Graphs (MTAT , 4 AP / 6 ECTS) Lectures: Fri 12-14, hall 405 Exercises: Mon 14-16, hall 315 või N 12-14, aud. 405

Graphs (MTAT , 4 AP / 6 ECTS) Lectures: Fri 12-14, hall 405 Exercises: Mon 14-16, hall 315 või N 12-14, aud. 405 Graphs (MTAT.05.080, 4 AP / 6 ECTS) Lectures: Fri 12-14, hall 405 Exercises: Mon 14-16, hall 315 või N 12-14, aud. 405 homepage: http://www.ut.ee/~peeter_l/teaching/graafid08s (contains slides) For grade:

More information

Instruction Scheduling. Software Pipelining - 3

Instruction Scheduling. Software Pipelining - 3 Instruction Scheduling and Software Pipelining - 3 Department of Computer Science and Automation Indian Institute of Science Bangalore 560 012 NPTEL Course on Principles of Compiler Design Instruction

More information

Overview: Concurrent Architectures - Unix: Forks and Pipes

Overview: Concurrent Architectures - Unix: Forks and Pipes Overview: Concurrent Architectures - Unix: Forks and Pipes Other Matters: TuteLab-5 solutions and the proof of Peterson s Algorithm Ref: [Coulouris&al Ch 4] history architecture: monolithic vs microkernels,

More information

Review: Test-and-set spinlock

Review: Test-and-set spinlock p. 1/3 Review: Test-and-set spinlock struct var { int lock; int val; ; void atomic_inc (var *v) { while (test_and_set (&v->lock)) ; v->val++; v->lock = 0; void atomic_dec (var *v) { while (test_and_set

More information

How to Implement DOTGO Engines. CMRL Version 1.0

How to Implement DOTGO Engines. CMRL Version 1.0 How to Implement DOTGO Engines CMRL Version 1.0 Copyright c 2009 DOTGO. All rights reserved. Contents 1 Introduction 3 2 A Simple Example 3 2.1 The CMRL Document................................ 3 2.2 The

More information

Introduction to Scientific Typesetting Lesson 11: Foreign Languages, Columns, and Section Titles

Introduction to Scientific Typesetting Lesson 11: Foreign Languages, Columns, and Section Titles Introduction to Scientific Typesetting Lesson 11: Foreign Languages,, and Ryan Higginbottom January 19, 2012 1 Ð The Package 2 Without Ð What s the Problem? With Ð Using Another Language Typing in Spanish

More information

Constraint Logic Programming (CLP): a short tutorial

Constraint Logic Programming (CLP): a short tutorial Constraint Logic Programming (CLP): a short tutorial What is CLP? the use of a rich and powerful language to model optimization problems modelling based on variables, domains and constraints DCC/FCUP Inês

More information

Lecture 5 C Programming Language

Lecture 5 C Programming Language Lecture 5 C Programming Language Summary of Lecture 5 Pointers Pointers and Arrays Function arguments Dynamic memory allocation Pointers to functions 2D arrays Addresses and Pointers Every object in the

More information

³ ÁÒØÖÓÙØÓÒ ½º ÐÙ ØÖ ÜÔÒ ÓÒ Ò ÌÒ ÓÖ ÓÖ ¾º ÌÛÓ¹ÓÝ ÈÖÓÔÖØ Ó ÓÑÔÐÜ ÆÙÐ º ËÙÑÑÖÝ Ò ÓÒÐÙ ÓÒ º ² ± ÇÆÌÆÌË Åº ÐÚÓÐ ¾ Ëʼ

³ ÁÒØÖÓÙØÓÒ ½º ÐÙ ØÖ ÜÔÒ ÓÒ Ò ÌÒ ÓÖ ÓÖ ¾º ÌÛÓ¹ÓÝ ÈÖÓÔÖØ Ó ÓÑÔÐÜ ÆÙÐ º ËÙÑÑÖÝ Ò ÓÒÐÙ ÓÒ º ² ± ÇÆÌÆÌË Åº ÐÚÓÐ ¾ Ëʼ È Ò È Æ ÇÊÊÄÌÁÇÆË È ÅÁÍŹÏÁÀÌ ÆÍÄÁ ÁÆ Åº ÐÚÓÐ ÂÄ ÇØÓÖ ¾¼¼ ½ ³ ÁÒØÖÓÙØÓÒ ½º ÐÙ ØÖ ÜÔÒ ÓÒ Ò ÌÒ ÓÖ ÓÖ ¾º ÌÛÓ¹ÓÝ ÈÖÓÔÖØ Ó ÓÑÔÐÜ ÆÙÐ º ËÙÑÑÖÝ Ò ÓÒÐÙ ÓÒ º ² ± ÇÆÌÆÌË Åº ÐÚÓÐ ¾ Ëʼ À Ò Ò Ò ÛØ À Ç Òµ Ú Ò µ Ç Òµ

More information

Banner 8 Using International Characters

Banner 8 Using International Characters College of William and Mary Banner 8 Using International Characters A Reference and Training Guide Banner Support January 23, 2009 Table of Contents Windows XP Keyboard Setup 3 VISTA Keyboard Setup 7 Creating

More information

Event List Management In Distributed Simulation

Event List Management In Distributed Simulation Event List Management In Distributed Simulation Jörgen Dahl ½, Malolan Chetlur ¾, and Philip A Wilsey ½ ½ Experimental Computing Laboratory, Dept of ECECS, PO Box 20030, Cincinnati, OH 522 0030, philipwilsey@ieeeorg

More information

Probabilistic analysis of algorithms: What s it good for?

Probabilistic analysis of algorithms: What s it good for? Probabilistic analysis of algorithms: What s it good for? Conrado Martínez Univ. Politècnica de Catalunya, Spain February 2008 The goal Given some algorithm taking inputs from some set Á, we would like

More information

SFU CMPT Lecture: Week 8

SFU CMPT Lecture: Week 8 SFU CMPT-307 2008-2 1 Lecture: Week 8 SFU CMPT-307 2008-2 Lecture: Week 8 Ján Maňuch E-mail: jmanuch@sfu.ca Lecture on June 24, 2008, 5.30pm-8.20pm SFU CMPT-307 2008-2 2 Lecture: Week 8 Universal hashing

More information

Lecture 20: Classification and Regression Trees

Lecture 20: Classification and Regression Trees Fall, 2017 Outline Basic Ideas Basic Ideas Tree Construction Algorithm Parameter Tuning Choice of Impurity Measure Missing Values Characteristics of Classification Trees Main Characteristics: very flexible,

More information

Administrivia. Lab 1 will be up by tomorrow, Due Oct. 11

Administrivia. Lab 1 will be up by tomorrow, Due Oct. 11 p.1/45 Administrivia Lab 1 will be up by tomorrow, Due Oct. 11 - Due at start of lecture 4:15pm - Free extension to midnight if you come to lecture - Or for SCPD students only if you watch lecture live

More information

O-Trees: a Constraint-based Index Structure

O-Trees: a Constraint-based Index Structure O-Trees: a Constraint-based Index Structure Inga Sitzmann and Peter Stuckey Department of Computer Science and Software Engineering The University of Melbourne Parkville, Victoria, 3052 inga,pjs @cs.mu.oz.au

More information

Text and Image Metasearch on the Web

Text and Image Metasearch on the Web Appears in International Conference on Parallel and Distributed Processing Techniques and Applications, PDPTA 99, CSREA Press, pp. 89 835, 1999. Copyright c CSREA Press. Text and Image Metasearch on the

More information

Pointers. CS2023 Winter 2004

Pointers. CS2023 Winter 2004 Pointers CS2023 Winter 2004 Outcomes: Introduction to Pointers C for Java Programmers, Chapter 8, sections 8.1-8.8 Other textbooks on C on reserve After the conclusion of this section you should be able

More information

Team Practice October 2012: 1:00 6:00 PM Contest Problem Set

Team Practice October 2012: 1:00 6:00 PM Contest Problem Set Team Practice 1 14 October 2012: 1:00 6:00 PM Contest Problem Set The ten problems on this contest are referred to, in order, by the following names: stones, birdtree, money, duke1, dull, maze, howbig,

More information

tranx86 an Optimising ETC to IA32 Translator

tranx86 an Optimising ETC to IA32 Translator Communicating Process Architectures 2001 Alan Chalmers, Majid Mirmehdi and Henk Muller (Eds.) IOS Press, 2001 265 tranx86 an Optimising ETC to IA32 Translator Frederick R.M. Barnes Computing Laboratory,

More information

Reverse Engineering Assembler Code

Reverse Engineering Assembler Code Reverse Engineering Assembler Code Martin Ward martin@gkc.org.uk http://www.cse.dmu.ac.uk/ mward Software Technology Research Lab De Montfort University Leicester, UK Outline Program Transformation Theory

More information

CPSC 310: Database Systems / CSPC 603: Database Systems and Applications Exam 2 November 16, 2005

CPSC 310: Database Systems / CSPC 603: Database Systems and Applications Exam 2 November 16, 2005 CPSC 310: Database Systems / CSPC 603: Database Systems and Applications Exam 2 November 16, 2005 Name: Instructions: 1. This is a closed book exam. Do not use any notes or books, other than your two 8.5-by-11

More information

Turning High-Level Plans into Robot Programs in Uncertain Domains

Turning High-Level Plans into Robot Programs in Uncertain Domains Turning High-Level Plans into Robot Programs in Uncertain Domains Henrik Grosskreutz and Gerhard Lakemeyer ½ Abstract. The actions of a robot like lifting an object are often best thought of as low-level

More information

Structure and Complexity in Planning with Unary Operators

Structure and Complexity in Planning with Unary Operators Structure and Complexity in Planning with Unary Operators Carmel Domshlak and Ronen I Brafman ½ Abstract In this paper we study the complexity of STRIPS planning when operators have a single effect In

More information

Graph Traversal. 1 Breadth First Search. Correctness. find all nodes reachable from some source node s

Graph Traversal. 1 Breadth First Search. Correctness. find all nodes reachable from some source node s 1 Graph Traversal 1 Breadth First Search visit all nodes and edges in a graph systematically gathering global information find all nodes reachable from some source node s Prove this by giving a minimum

More information

ESUIF: An Open Esterel Compiler

ESUIF: An Open Esterel Compiler ESUIF: An Open Esterel Compiler Stephen A. Edwards Department of Computer Science Columbia University www.cs.columbia.edu/ sedwards Not Another One... My research agenda is to push Esterel compilation

More information

TCP Non-Renegable Selective Acknowledgments (NR-SACKs) and benefits for space and satellite communications

TCP Non-Renegable Selective Acknowledgments (NR-SACKs) and benefits for space and satellite communications November 3, 07, ISAE SUPAERO Toulouse, France TCP Non-Renegable Selective Acknowledgments (NR-SACKs) and benefits for space and satellite communications Fan Yang, Paul D. Amer, Si Quoc Viet Trang, and

More information

THE XML QUERY EXECUTION ENGINE (XEE)

THE XML QUERY EXECUTION ENGINE (XEE) THE XML QUERY EXECUTION ENGINE (XEE) Dieter Scheffner Humboldt-Universität zu Berlin, Dept of Computer Science, 199 Berlin, Germany scheffne@dbis.informatik.hu-berlin.de Johann-Christoph Freytag Humboldt-Universität

More information

Generation of Interactive Visual Interfaces for Resource Management

Generation of Interactive Visual Interfaces for Resource Management Generation of Interactive Visual Interfaces for Resource Management Andreas Dangberg, Wolfgang Mueller C LAB, Fuerstenallee 11, 33102 Paderborn, Germany Abstract This paper introduces the VIVID (Visual

More information

To provide state and district level PARCC assessment data for the administration of Grades 3-8 Math and English Language Arts.

To provide state and district level PARCC assessment data for the administration of Grades 3-8 Math and English Language Arts. 200 West Baltimore Street Baltimore, MD 21201 410-767-0100 410-333-6442 TTY/TDD msde.maryland.gov TO: FROM: Members of the Maryland State Board of Education Jack R. Smith, Ph.D. DATE: December 8, 2015

More information

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È.

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. Let Ò Ô Õ. Pick ¾ ½ ³ Òµ ½ so, that ³ Òµµ ½. Let ½ ÑÓ ³ Òµµ. Public key: Ò µ. Secret key Ò µ.

More information

) $ G}] }O H~U. G yhpgxl. Cong

) $ G}] }O H~U. G yhpgxl. Cong » Þ åî ïî á ë ïý þý ÿ þ ë ú ú F \ Œ Œ Ÿ Ÿ F D D D\ \ F F D F F F D D F D D D F D D D D FD D D D F D D FD F F F F F F F D D F D F F F D D D D F Ÿ Ÿ F D D Œ Ÿ D Ÿ Ÿ FŸ D c ³ ² í ë óô ò ð ¹ í ê ë Œ â ä ã

More information

Appendix C. Numeric and Character Entity Reference

Appendix C. Numeric and Character Entity Reference Appendix C Numeric and Character Entity Reference 2 How to Do Everything with HTML & XHTML As you design Web pages, there may be occasions when you want to insert characters that are not available on your

More information

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È.

RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. Let Ò Ô Õ. Pick ¾ ½ ³ Òµ ½ so, that ³ Òµµ ½. Let ½ ÑÓ ³ Òµµ. Public key: Ò µ. Secret key Ò µ.

More information

Pointers & Arrays. CS2023 Winter 2004

Pointers & Arrays. CS2023 Winter 2004 Pointers & Arrays CS2023 Winter 2004 Outcomes: Pointers & Arrays C for Java Programmers, Chapter 8, section 8.12, and Chapter 10, section 10.2 Other textbooks on C on reserve After the conclusion of this

More information

District Institute of Education and Training Lawspet, Puducherry.

District Institute of Education and Training Lawspet, Puducherry. District Institute of Education and Training Lawspet, Puducherry. Educational Computing Record work done by with the Register Number. Submitted for the Internal Assessment examination, April / May 2011,

More information

Unified Configuration Knowledge Representation Using Weight Constraint Rules

Unified Configuration Knowledge Representation Using Weight Constraint Rules Unified Configuration Knowledge Representation Using Weight Constraint Rules Timo Soininen ½ and Ilkka Niemelä ¾ and Juha Tiihonen ½ and Reijo Sulonen ½ Abstract. In this paper we present an approach to

More information

Computing optimal linear layouts of trees in linear time

Computing optimal linear layouts of trees in linear time Computing optimal linear layouts of trees in linear time Konstantin Skodinis University of Passau, 94030 Passau, Germany, e-mail: skodinis@fmi.uni-passau.de Abstract. We present a linear time algorithm

More information

On the Complexity of List Scheduling Algorithms for Distributed-Memory Systems.

On the Complexity of List Scheduling Algorithms for Distributed-Memory Systems. On the Complexity of List Scheduling Algorithms for Distributed-Memory Systems. Andrei Rădulescu Arjan J.C. van Gemund Faculty of Information Technology and Systems Delft University of Technology P.O.Box

More information

Mesh Smoothing via Mean and Median Filtering Applied to Face Normals

Mesh Smoothing via Mean and Median Filtering Applied to Face Normals Mesh Smoothing via Mean and ing Applied to Face Normals Ý Hirokazu Yagou Yutaka Ohtake Ý Alexander G. Belyaev Ý Shape Modeling Lab, University of Aizu, Aizu-Wakamatsu 965-8580 Japan Computer Graphics Group,

More information

From Clarity to Efficiency for Distributed Algorithms

From Clarity to Efficiency for Distributed Algorithms From Clarity to Efficiency for Distributed Algorithms Yanhong A. Liu Scott D. Stoller Bo Lin Michael Gorbovitski Computer Science Department, State University of New York at Stony Brook, Stony Brook, NY

More information

CS577 Modern Language Processors. Spring 2018 Lecture Interpreters

CS577 Modern Language Processors. Spring 2018 Lecture Interpreters CS577 Modern Language Processors Spring 2018 Lecture Interpreters 1 MAKING INTERPRETERS EFFICIENT VM programs have an explicitly specified binary representation, typically called bytecode. Most VM s can

More information

Transformations Review

Transformations Review Transformations Review 1. Plot the original figure then graph the image of Rotate 90 counterclockwise about the origin. 2. Plot the original figure then graph the image of Translate 3 units left and 4

More information

Oracle Primavera P6 Enterprise Project Portfolio Management Performance and Sizing Guide. An Oracle White Paper December 2011

Oracle Primavera P6 Enterprise Project Portfolio Management Performance and Sizing Guide. An Oracle White Paper December 2011 Oracle Primavera P6 Enterprise Project Portfolio Management Performance and Sizing Guide An Oracle White Paper December 2011 Disclaimer The following is intended to outline our general product direction.

More information

Searching Multi-Hierarchical XML Documents: the Case of Fragmentation

Searching Multi-Hierarchical XML Documents: the Case of Fragmentation Searching Multi-Hierarchical XML Documents: the Case of Fragmentation Alex Dekhtyar, Ionut E. Iacob, Srikanth Methuku Department of Computer Science, University of Kentucky, dekhtyar@cs.uky.edu; eiaco0@cs.uky.edu;

More information

Communication and processing of text in the Kildin Sámi, Komi, and Nenets, and Russian languages.

Communication and processing of text in the Kildin Sámi, Komi, and Nenets, and Russian languages. TYPE: 96 Character Graphic Character Set REGISTRATION NUMBER: 200 DATE OF REGISTRATION: 1998-05-01 ESCAPE SEQUENCE G0: -- G1: ESC 02/13 06/00 G2: ESC 02/14 06/00 G3: ESC 02/15 06/00 C0: -- C1: -- NAME:

More information

Extending Path Profiling across Loop Backedges and Procedure Boundaries

Extending Path Profiling across Loop Backedges and Procedure Boundaries Extending Path Profiling across Loop Backedges and Procedure Boundaries Sriraman Tallam Xiangyu Zhang Rajiv Gupta Department of Computer Science The University of Arizona Tucson, Arizona 872 tmsriram,xyzhang,gupta

More information

Modeling Java Programs for Diagnosis ½

Modeling Java Programs for Diagnosis ½ Modeling Java Programs for Diagnosis ½ Cristinel Mateis and Markus Stumptner and Franz Wotawa ¾ Abstract. A key advantage of model-based diagnosis is the ability to use a generic model for the production

More information

Steam Boiler Control An Example in ASM Formalisation

Steam Boiler Control An Example in ASM Formalisation Formal Specification and Verification of Software Steam Boiler Control An Example in ASM Formalisation Bernhard Beckert UNIVERSITÄT KOBLENZ-LANDAU B. Beckert: Formal Specification and Verification of Software

More information

[DP19] DN-500CD. Serial Command Protocol Guide

[DP19] DN-500CD. Serial Command Protocol Guide [DP19] Serial Command Protocol Guide Ver. 1.2 January 16, 2017 inmusic Brands, Inc. 1 1 Contents 2 General... 3 2.1 RS-232C Control... 3 3 Specification... 4 3.1 RS-232C Control... 4 4 Communication Protocol...

More information

Personal Conference Manager (PCM)

Personal Conference Manager (PCM) Chapter 3-Basic Operation Personal Conference Manager (PCM) Guidelines The Personal Conference Manager (PCM) interface enables the conference chairperson to control various conference features using his/her

More information

Database Languages and their Compilers

Database Languages and their Compilers Database Languages and their Compilers Prof. Dr. Torsten Grust Database Systems Research Group U Tübingen Winter 2010 2010 T. Grust Database Languages and their Compilers 4 Query Normalization Finally,

More information

PHANTOM TYPES AND SUBTYPING

PHANTOM TYPES AND SUBTYPING PHANTOM TYPES AND SUBTYPING Matthew Fluet and Riccardo Pucella Department of Computer Science Cornell University ßfluet,riccardoÐ@cs.cornell.edu Abstract We investigate a technique from the literature,

More information

Chapter 10 Storage and File Structure

Chapter 10 Storage and File Structure Chapter 10 Storage and File Structure Table of Contents z 2 ºÆ Ö c z Storage Media z Buffer Management z File Organization Chapter 10-1 1 1. 2 ºÆ Ö c z File Structure Selection Sequential, Indexed Sequential,

More information

Mining Transformation Rules for Semantic Matching

Mining Transformation Rules for Semantic Matching Mining Transformation Rules for Semantic Matching Peter Yeh, Bruce Porter, and Ken Barker University of Texas at Austin, Department of Computer Sciences Austin, TX 78712 USA e-mail: pzyeh,porter,kbarker

More information

Using Aspect-GAMMA in the Design of Embedded Systems

Using Aspect-GAMMA in the Design of Embedded Systems Using Aspect-GAMMA in the Design of Embedded Systems (Extended Abstract) MohammadReza Mousavi, Giovanni Russello, Michel Chaudron, Michel Reniers, Twan Basten Technische Universiteit Eindhoven (TU/e) P.O.

More information

The Software Stack: From Assembly Language to Machine Code

The Software Stack: From Assembly Language to Machine Code COMP 506 Rice University Spring 2018 The Software Stack: From Assembly Language to Machine Code source code IR Front End Optimizer Back End IR target code Somewhere Out Here Copyright 2018, Keith D. Cooper

More information

ERNST. Environment for Redaction of News Sub-Titles

ERNST. Environment for Redaction of News Sub-Titles ERNST Environment for Redaction of News Sub-Titles Introduction ERNST (Environment for Redaction of News Sub-Titles) is a software intended for preparation, airing and sequencing subtitles for news or

More information

CMPT 470 Based on lecture notes by Woshun Luk

CMPT 470 Based on lecture notes by Woshun Luk * ) ( & 2XWOLQH &RPSRQHQ 2EMHF 0RGXOHV CMPT 470 ased on lecture notes by Woshun Luk What is a DLL? What is a COM object? Linking two COM objects Client-Server relationships between two COM objects COM

More information

Multiprogramming on physical memory

Multiprogramming on physical memory p. 1/15 Multiprogramming on physical memory Makes it hard to allocate space contiguously - Convenient for stack, large data structures, etc. Need fault isolation between processes - (Even Microsoft now

More information

Tizen/Artik IoT Lecture Chapter 3. JerryScript Parser & VM

Tizen/Artik IoT Lecture Chapter 3. JerryScript Parser & VM 1 Tizen/Artik IoT Lecture Chapter 3. JerryScript Parser & VM Sungkyunkwan University Contents JerryScript Execution Flow JerryScript Parser Execution Flow Lexing Parsing Compact Bytecode (CBC) JerryScript

More information

A Fusion-based Approach for Handling Multiple Faults in Distributed Systems

A Fusion-based Approach for Handling Multiple Faults in Distributed Systems A Fusion-based Approach for Handling Multiple Faults in Distributed Systems Bharath Balasubramanian, Vijay K. Garg Parallel and Distributed Systems Laboratory, Dept. of Electrical and Computer Engineering,

More information

IMPROVING PERFORMANCE OF PARALLEL SIMULATION KERNEL FOR WIRELESS NETWORK SIMULATIONS

IMPROVING PERFORMANCE OF PARALLEL SIMULATION KERNEL FOR WIRELESS NETWORK SIMULATIONS IMPROVING PERFORMANCE OF PARALLEL SIMULATION KERNEL FOR WIRELESS NETWORK SIMULATIONS M. Thoppian, S. Venkatesan, H. Vu, R. Prakash, N. Mittal Department of Computer Science, The University of Texas at

More information

RESET # Reform reset procedure when using the Personal Organizer for the first time.

RESET # Reform reset procedure when using the Personal Organizer for the first time. RESET # Reform reset procedure when using the Personal Organizer for the first time. # Warning! Reset will erase any user-entered information and clear all settings. 1. Press reset button on the back of

More information

For information on how to access the swashes and alternates, visit LauraWorthingtonType.com/faqs

For information on how to access the swashes and alternates, visit LauraWorthingtonType.com/faqs Juicy User s Guide opent ype faq: For information on how to access the swashes and alternates, visit LauraWorthingtonType.com/faqs All operating systems come equipped with a utility that make it possible

More information

Turbulence et Génération de Bruit Equipe de recherche du Centre Acoustique LMFA, UMR CNRS 5509, Ecole Centrale de Lyon Simulation Numérique en Aéroacoustique Institut Henri Poincaré - 16 novembre 2006

More information

Step 0 How to install VirtualBox on Windows operating system?

Step 0 How to install VirtualBox on Windows operating system? Written and cooked by Janusz R. Getta, School of Computing and Information Technology, University of Wollongong Building 3, room 2120, ext 4339, jrg@uow.edu.au, http://www.uow.edu.au/ jrg ËÁ̽½ Ø Å Ò Ñ

More information

APPLESHARE PC UPDATE INTERNATIONAL SUPPORT IN APPLESHARE PC

APPLESHARE PC UPDATE INTERNATIONAL SUPPORT IN APPLESHARE PC APPLESHARE PC UPDATE INTERNATIONAL SUPPORT IN APPLESHARE PC This update to the AppleShare PC User's Guide discusses AppleShare PC support for the use of international character sets, paper sizes, and date

More information

Graph Based Communication Analysis for Hardware/Software Codesign

Graph Based Communication Analysis for Hardware/Software Codesign Graph Based Communication Analysis for Hardware/Software Codesign Peter Voigt Knudsen and Jan Madsen Department of Information Technology, Technical University of Denmark pvk@it.dtu.dk, jan@it.dtu.dk ØÖ

More information

High-Level Reformulation of Constraint Programs

High-Level Reformulation of Constraint Programs High-Level Reformulation of Constraint Programs Brahim Hnich Pierre Flener Computer Science Division Department of Information Science Uppsala University Box 513 S 751 20 Uppsala Sweden Brahim.Hnich, Pierre.Flener

More information

Designing Networks Incrementally

Designing Networks Incrementally Designing Networks Incrementally Adam Meyerson Kamesh Munagala Ý Serge Plotkin Þ Abstract We consider the problem of incrementally designing a network to route demand to a single sink on an underlying

More information

Propagating XML Constraints to Relations

Propagating XML Constraints to Relations Propagating XML Constraints to Relations Susan Davidson U. of Pennsylvania Wenfei Fan Ý Bell Labs Carmem Hara U. Federal do Parana, Brazil Jing Qin Temple U. Abstract We present a technique for refining

More information

]a a. ] v. A. Silberschatz, H. Korth and S. Sudarshan, Database System Concepts (3rd Edition), The McGraw Hill Company, 1997.

]a a. ] v. A. Silberschatz, H. Korth and S. Sudarshan, Database System Concepts (3rd Edition), The McGraw Hill Company, 1997. ]a a î íf= áõâfé ] v = A. Silberschatz, H. Korth and S. Sudarshan, Database System Concepts (3rd Edition), The McGraw Hill Company, 1997. C. Batini, S.Ceri, and S. Navathe, Conceptual Database Design -

More information

Parallel Functional Reactive Programming

Parallel Functional Reactive Programming Parallel Functional Reactive Programming John Peterson, Valery Trifonov, and Andrei Serjantov Yale University Ô Ø Ö ÓÒ¹ Ó Ò ºÝ Ð º Ù ØÖ ÓÒÓÚ¹Ú Ð ÖÝ ºÝ Ð º Ù Ò Ö º Ö ÒØÓÚÝ Ð º Ù Abstract In this paper,

More information

Weighted Pushdown Systems and their Application to Interprocedural Dataflow Analysis

Weighted Pushdown Systems and their Application to Interprocedural Dataflow Analysis Weighted Pushdown Systems and their Application to Interprocedural Dataflow Analysis ¾ ½ Thomas Reps ½, Stefan Schwoon ¾, and Somesh Jha ½ Comp. Sci. Dept., University of Wisconsin; reps,jha@cs.wisc.edu

More information

An Object-Oriented Metamodel for Bunge-Wand-Weber Ontology

An Object-Oriented Metamodel for Bunge-Wand-Weber Ontology An Object-Oriented Metamodel for Bunge-Wand-Weber Ontology Arvind W. Kiwelekar, Rushikesh K. Joshi Department of Computer Science and Engineering Indian Institute of Technology Bombay Powai, Mumbai-400

More information

InterWorx Control Panel Installation Guide. by InterWorx LLC

InterWorx Control Panel Installation Guide. by InterWorx LLC InterWorx Control Panel Installation Guide by InterWorx LLC Contents I Installing InterWorx Control Panel 3 1 InterWorx Installation Requirements 4 1.1 Operating System Support........................................

More information

Improved Controller Synthesis from Esterel

Improved Controller Synthesis from Esterel Improved Controller Synthesis from Esterel Cristian Soviani Jia Zeng Stephen. Edwards Department of Computer Science, Columbia University msterdam venue, New York, New York, 7 {soviani, jia, sedwards}@cs.columbia.edu

More information

Composable Memory Transactions

Composable Memory Transactions Composable Memory Transactions December 20, 2004 Tim Harris, Simon Marlow, Simon Peyton Jones, Maurice Herlihy Microsoft Research, Cambridge Abstract Writing concurrent programs is notoriously difficult,

More information

Separation Logic: A Logic for Shared Mutable Data Structures

Separation Logic: A Logic for Shared Mutable Data Structures This is a preprint of a paper to appear in the Proceedings of the Seventeenth Annual IEEE Symposium on Logic in Computer Science, to be held July 22-25, 2002 in Copenhagen, Denmark. Copyright 2002 IEEE.

More information

A Comparison of Mesh Smoothing Methods

A Comparison of Mesh Smoothing Methods A Comparison of Mesh Smoothing Methods Alexander Belyaev Yutaka Ohtake Computer Graphics Group, Max-Planck-Institut für Informatik, 66123 Saarbrücken, Germany Phone: [+49](681)9325-408 Fax: [+49](681)9325-499

More information

CS140 Operating Systems

CS140 Operating Systems p. 1/2 CS140 Operating Systems Instructor: David Mazières CAs: Varun Arora, Chia-Hui Tai, Megan Wachs Stanford University p. 2/2 Administrivia Class web ØØÔ»» ½ ¼º º Ø Ò ÓÖ º Ù» page: - All assignments,

More information

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 02, FALL 2012

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 02, FALL 2012 CMSC 33 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 2, FALL 22 TOPICS TODAY Bits of Memory Data formats for negative numbers Modulo arithmetic & two s complement Floating point formats

More information

Blocking System Calls in KRoC/Linux

Blocking System Calls in KRoC/Linux Communicating Process Architectures 2 P.H. Welch and A.W.P. Bakkers (Eds.) IOS Press, 2 155 Blocking System Calls in KRoC/Linux Frederick R.M. Barnes Computing Laboratory, University of Kent, Canterbury,

More information

Code Shape Comp 412 COMP 412 FALL Chapters 4, 5, 6 & 7 in EaC2e. source code. IR IR target. code. Front End Optimizer Back End

Code Shape Comp 412 COMP 412 FALL Chapters 4, 5, 6 & 7 in EaC2e. source code. IR IR target. code. Front End Optimizer Back End COMP 412 FALL 2017 Code Shape Comp 412 source code IR IR target Front End Optimizer Back End code Copyright 2017, Keith D. Cooper & Linda Torczon, all rights reserved. Students enrolled in Comp 412 at

More information

A Hybrid Multicast Scheduling Algorithm for Single-Hop WDM Networks

A Hybrid Multicast Scheduling Algorithm for Single-Hop WDM Networks A Hybrid Multicast Scheduling Algorithm for Single-Hop WDM Networks Hwa-Chun Lin and Chun-Hsin Wang Abstract This paper shows that, for single-hop WDM networks, a multicast scheduling algorithm which always

More information

Cofactoring-Based Upper Bound Computation for Covering Problems

Cofactoring-Based Upper Bound Computation for Covering Problems TR-CSE-98-06, UNIVERSITY OF MASSACHUSETTS AMHERST Cofactoring-Based Upper Bound Computation for Covering Problems Congguang Yang Maciej Ciesielski May 998 TR-CSE-98-06 Department of Electrical and Computer

More information

Efficient Deterministic Replay through Dynamic Binary Translation

Efficient Deterministic Replay through Dynamic Binary Translation Efficient Deterministic Replay through Dynamic Binary Translation Piyus Kedia Amarnath and Shashi Khosla School of IT This dissertation is submitted for the degree of Doctor of Philosophy Indian Institute

More information

CSc 453 Interpreters & Interpretation

CSc 453 Interpreters & Interpretation CSc 453 Interpreters & Interpretation Saumya Debray The University of Arizona Tucson Interpreters An interpreter is a program that executes another program. An interpreter implements a virtual machine,

More information

Move back and forth between memory and disk. Memory Hierarchy. Two Classes. Don t

Move back and forth between memory and disk. Memory Hierarchy. Two Classes. Don t Memory Management Ch. 3 Memory Hierarchy Cache RAM Disk Compromise between speed and cost. Hardware manages the cache. OS has to manage disk. Memory Manager Memory Hierarchy Cache CPU Main Swap Area Memory

More information