Real-Time Programming in Java

Size: px
Start display at page:

Download "Real-Time Programming in Java"

Transcription

1 ARTIST2 Summer School 2008 in Europe Autrns (ner Grenole), Frnce Septemer 8-12, Rel-Time Progrmming in Jv Rel-Time in the Age of Complex Systems Invited Speker: Dvid F. Bcon IBM Reserch 0

2 Clssicl Rel-Time Control SENSE COMPUTE ACTUATE Anti-lock Brking System 1

3 Complex Rel-Time Systems 2

4 Wht s Chnging? Processing Power (instructions per 10ms) 1970: 1K Now: 40M 2020: 1G Uiquitous Sensing nd Actution e.g. video strem per cell phone More nd more computing is rel-time 3

5 Implictions for Rel-Time Systems Much Lrger (in code nd scope) Highly Dynmic Non-deterministic non-determinism of underlying system desirle Different Kind of Softwre Engineering 4

6 Memory Mngement STATIC (rrys) Fortrn Esterel Verilog DYNAMIC (mlloc/free) (new/grge collect) C Jv C++ Lisp Ad C# Pscl Smlltlk Determinism Verifiility Flexiility Softwre Engineering 5

7 33% COMMITTED TO PRODUCTION 22% DDG-1000 Destroyer Trde Execution Plysttion/Xox etc 7% Telco SIP Switch RESEARCH TARGETED Automotive Electronics Jv-sed Synthesizer JAvitor (w/ Slzurg) Air Jv (w/ Berkeley CE) 6

8 Three Approches in Jv RTSJ Stndrd: Scoped/Immortl Memory Metronome: Rel-Time Grge Collection Flexotsks: Time-Portle Jv 7

9 Why is Rel-Time Difficult in Jv? No rel-time scheduling APIs Grge Collection Dynmic Clss Loding Just-in-Time (JIT) Compiltion Dynmic, verge-cse-sed optimiztion 8

10 Rel-Time Specifiction for Jv Two primry dditions to the Jv lnguge: Rel-Time Scheduling APIs Semi-mnul memory mngement (rel-time grge collection known impossile) 9

11 Bsic Jv Memory Architecture q s p r X Y T U Stck Stck W Z Hep clss Foo { Foo ; Foo ; } 10

12 RTSJ Memory Architecture C Inner Scope Control Loop Itertion A B D Scope Scope q s Stck p r Stck X W Y Z Hep T U Immortl 11

13 f(,) {.x = ; } Inner Scope Inner Scope Inner Scope Outer Scope Outer Scope Outer Scope Hep Hep Hep 12

14 RTSJ Memory Mngement Issues Complex Progrmming Model Non-compositionl Run-time Filures Checking Overhed Storge Leks in Immortl Memory Often Poorly Suited (e.g. Producer/Consumer) 13

15 Metronome: Rel-Time Grge Collection 14

16 GC: A Simple Prolem (?) p r X Y T U W Z Stck Trnsitive Grph Closure Appliction is Stopped During Collection Memory is only freed t the end 15

17 16 Bsic Approches: Mrk/Sweep Stck r p T X U Z W Y W Z Y X free free O(live) mrk phse ut O(hepsize) sweep Usully requires no copying Mrk stck is O(mxdepth)

18 17 Bsics II: Semi-spce Copying O(live) If single-threded, no mrk stck needed Wstes 50% of memory Stck r p T X U Z W Y W Z Y X

19 Demo: Synthesizer in Jv Humn performnce: Ltency < 8ms end-to-end Jitter < 10us MIDI/soundcrd ltency: 2.5ms 18

20 Kinds of Concurrent Collection Stop the World GC Prllel GC GC GC Concurrent GC Incrementl GC GC GC 19

21 Our Suject: Metronome-2 System GC GC GC GC GC Prllel, Incrementl, nd Concurrent No increment exceeds 450us Rel-time Scheduling Smooth dpttion from under- to over-lod Implementtion in production JVM 20

22 Wht Does Rel-time Men? Miniml, predictle interruption of ppliction Collection finishes efore hep is exhusted Rel spce - ounded, predictle memory Honor thred priorities 21

23 The Cycle of Life Allocte Free Mutte Not relly grge collector ut memory mngement susystem 22

24 Metronome Memory Orgniztion Pge-sed Segregted free lists Rtio ounds internl & pge-internl frgmenttion 23

25 Lrge Ojects: Arrylets (Almost) elimintes externl frgmenttion (Almost) elimintes need for compction Very lrge rrys still need contiguous pges Extr indirection for rry ccess 24

26 Hndling the Concurrency GC Threds Appliction ( muttor ) Threds? Mrk Collect Formt pp rr XX WW YY ZZ TT UU Lod pointer Store pointer Allocte 25

27 Yus Snpshot Algorithm (1990) Logiclly Tke copy-on-write hep snpshot Collect the grge in tht snpshot Physiclly Stop ll threds Copy their stcks ( roots ) Force them to sve over-written pointers Trce roots nd over-written pointers 26 * Dijktstr 75, Steele 76

28 1: Tke Logicl Snpshot p r X Y T U W Z Stck 27

29 2(): Copy Over-written Pointers p r X Y T U W Z Stck 28

30 2(): Trce p X Y T U Stck W Z * Color is per-oject mrk it 29

31 2(c): Allocte Blck p X Y T U s Stck V W Z 30

32 3(): Sweep Grge free p X Y T U s Stck V W Z 31

33 3(): Allocte White free p t s Stck V2 V X W Y Z T U 32

34 33 4: Cler Mrks Stck p T X U Z Y Z Y X s V free free V2 V2 t V W W

35 Yus Algorithm Phses Snpshot stck nd glol roots Trce Flip Sweep Flip Cler Mrks 34 * Synchronous

36 Metronome-2 Concurrency GC Mster Thred GC Worker Threds Appliction Threds (my do GC work) 35

37 Metronome-2 Phses Initition Setup turn doule rrier on Root Scn Active Finlizer scn Clss scn Thred scn** switch to single rrier, color to lck Deugger, JNI, Clss Loder scn Trce Trce* Trce Terminte*** Re-mteriliztion 1 Wek/Soft/Phntom Reference List Trnsfer Wek Reference clering** (snpshot) Re-Trce 1 Trce Mster (Trce*) (Trce Terminte***) Re-mteriliztion 2 Finlizle Processing Clering Monitor Tle clering JNI Wek Glol clering Deugger Reference clering JVMTI Tle clering Phntom Reference clering Re-Trce 2 Trce Mster (Trce*) (Trce Terminte***) Clss Unloding Flip Move Aville Lists to Full List* (contention) turn write rrier off Flush Per-thred Alloction Pges** switch lloction color to white switch to temp full list Sweeping Sweep* Switch to regulr Full List** Move Temp Full List to regulr Full List* (contention) Completion Finlizer Wkeup Clss Unloding Flush Clerle Compction** Book-keeping * Prllel ** Cllck *** Single ctor symmetric 36

38 37

Parallel and Concurrent Real-time Garbage Collection

Parallel and Concurrent Real-time Garbage Collection Prllel nd Concurrent Rel-time Grge Collection Prt II: Memory Alloction nd Sweeping Dvid F. Bcon T.J. Wtson Reserch Center 0 Pge Dt Synchroniztion, Tke 1 16 64 256 1 Pge Dt, Tke 2 16 64 256 Thred 1 16 64

More information

Allocator Basics. Dynamic Memory Allocation in the Heap (malloc and free) Allocator Goals: malloc/free. Internal Fragmentation

Allocator Basics. Dynamic Memory Allocation in the Heap (malloc and free) Allocator Goals: malloc/free. Internal Fragmentation Alloctor Bsics Dynmic Memory Alloction in the Hep (mlloc nd free) Pges too corse-grined for llocting individul objects. Insted: flexible-sized, word-ligned blocks. Allocted block (4 words) Free block (3

More information

Page 1. Memory Allocation and Usage CSE 361S. Different free lists for different size classes

Page 1. Memory Allocation and Usage CSE 361S. Different free lists for different size classes Keeping Trck o Free Blocks Method 1: : Implicit list using lengths -- links ll blocks Memory Alloction nd Usge Method : : Explicit list mong the ree blocks using pointers within the ree blocks CSE 361S

More information

Data Flow on a Queue Machine. Bruno R. Preiss. Copyright (c) 1987 by Bruno R. Preiss, P.Eng. All rights reserved.

Data Flow on a Queue Machine. Bruno R. Preiss. Copyright (c) 1987 by Bruno R. Preiss, P.Eng. All rights reserved. Dt Flow on Queue Mchine Bruno R. Preiss 2 Outline Genesis of dt-flow rchitectures Sttic vs. dynmic dt-flow rchitectures Pseudo-sttic dt-flow execution model Some dt-flow mchines Simple queue mchine Prioritized

More information

Symbol Table management

Symbol Table management TDDD Compilers nd interpreters TDDB44 Compiler Construction Symol Tles Symol Tles in the Compiler Symol Tle mngement source progrm Leicl nlysis Syntctic nlysis Semntic nlysis nd Intermedite code gen Code

More information

From Dependencies to Evaluation Strategies

From Dependencies to Evaluation Strategies From Dependencies to Evlution Strtegies Possile strtegies: 1 let the user define the evlution order 2 utomtic strtegy sed on the dependencies: use locl dependencies to determine which ttriutes to compute

More information

520 Principles of Programming Languages. Memory Management. Memory Management... 35: Garbage Collection

520 Principles of Programming Languages. Memory Management. Memory Management... 35: Garbage Collection Dynmic Memory Mngement 50 Principles of Progrmming Lnguges 35: Grbge Collection Christin Collberg collberg@cs.rizon.edu Deprtment of Computer Science University of Arizon The run-time system linked in

More information

PARALLEL AND DISTRIBUTED COMPUTING

PARALLEL AND DISTRIBUTED COMPUTING PARALLEL AND DISTRIBUTED COMPUTING 2009/2010 1 st Semester Teste Jnury 9, 2010 Durtion: 2h00 - No extr mteril llowed. This includes notes, scrtch pper, clcultor, etc. - Give your nswers in the ville spce

More information

Outline CS 412/413. Function calls. Stack layout. Tiling a call. Two translations

Outline CS 412/413. Function calls. Stack layout. Tiling a call. Two translations CS 412/413 Introduction to Compilers nd Trnsltors Cornell University Andrew Myers Outline Implementing function clls Implementing functions Optimizing wy the pointer Dynmiclly-llocted structures strings

More information

Scope, Functions, and Storage Management

Scope, Functions, and Storage Management Scope, Functions, nd Storge Mngement Block-structured lnguges nd stck storge In-le Blocks (previous set of overheds) ctivtion records storge for locl, glol vriles First-order functions (previous set of

More information

Keeping Track of Free Blocks The course that gives CMU its Zip! Dynamic Memory Allocation II Nov 7, Allocating From Explicit Free Lists

Keeping Track of Free Blocks The course that gives CMU its Zip! Dynamic Memory Allocation II Nov 7, Allocating From Explicit Free Lists Dynmic Memory Alloction II Nov 7, 2002 clss22.ppt 15-213 The course tht gives CMU its Zip! Topics Explicit doubly-linked ree lists Segregted ree lists Grbge collection Memory-relted perils nd pitlls Keeping

More information

Lexical Analysis: Constructing a Scanner from Regular Expressions

Lexical Analysis: Constructing a Scanner from Regular Expressions Lexicl Anlysis: Constructing Scnner from Regulr Expressions Gol Show how to construct FA to recognize ny RE This Lecture Convert RE to n nondeterministic finite utomton (NFA) Use Thompson s construction

More information

COMPUTER EDUCATION TECHNIQUES, INC. (MS_W2K3_SERVER ) SA:

COMPUTER EDUCATION TECHNIQUES, INC. (MS_W2K3_SERVER ) SA: In order to lern which questions hve een nswered correctly: 1. Print these pges. 2. Answer the questions. 3. Send this ssessment with the nswers vi:. FAX to (212) 967-3498. Or. Mil the nswers to the following

More information

2-3 search trees red-black BSTs B-trees

2-3 search trees red-black BSTs B-trees 2-3 serch trees red-lck BTs B-trees 3 2-3 tree llow 1 or 2 keys per node. 2-node: one key, two children. 3-node: two keys, three children. ymmetric order. Inorder trversl yields keys in scending order.

More information

Compiler-Assisted Cache Replacement

Compiler-Assisted Cache Replacement LCPC 3 Formulting The Prolem of Compiler-Assisted Cche Replcement Hongo Yng LCPC 3 Agend Bckground: Memory hierrchy, ISA with cche hints Prolem definition: How should compiler give cche hint to minimize

More information

Lexical analysis, scanners. Construction of a scanner

Lexical analysis, scanners. Construction of a scanner Lexicl nlysis scnners (NB. Pges 4-5 re for those who need to refresh their knowledge of DFAs nd NFAs. These re not presented during the lectures) Construction of scnner Tools: stte utomt nd trnsition digrms.

More information

Outline. Tiling, formally. Expression tile as rule. Statement tiles as rules. Function calls. CS 412 Introduction to Compilers

Outline. Tiling, formally. Expression tile as rule. Statement tiles as rules. Function calls. CS 412 Introduction to Compilers CS 412 Introduction to Compilers Andrew Myers Cornell University Lectur8 Finishing genertion 9 Mr 01 Outline Tiling s syntx-directed trnsltion Implementing function clls Implementing functions Optimizing

More information

Outlines. Dynamic Memory Dynamic Memory Dynamic Memory The malloc Package. malloc Example

Outlines. Dynamic Memory Dynamic Memory Dynamic Memory The malloc Package. malloc Example Outlines Dynmic Memory Alloc@on CSCI 01: Mchine Architecture nd Orgniz@on Bsic concepts Implicit free lists Explicit free lists Pen- Chung Yew Deprtment Computer Science nd Engineering University of Minnesot

More information

Caches I. CSE 351 Spring Instructor: Ruth Anderson

Caches I. CSE 351 Spring Instructor: Ruth Anderson L16: Cches I Cches I CSE 351 Spring 2017 Instructor: Ruth Anderson Teching Assistnts: Dyln Johnson Kevin Bi Linxing Preston Jing Cody Ohlsen Yufng Sun Joshu Curtis L16: Cches I Administrivi Homework 3,

More information

Page. Harsh Reality. Dynamic Memory Allocation. Malloc Package. Process Memory Image. Assumptions. Malloc Example

Page. Harsh Reality. Dynamic Memory Allocation. Malloc Package. Process Memory Image. Assumptions. Malloc Example Hrsh Relity Memory Mtters Memory is not unbounded It must be llocted nd mnged 1 Mny lictions re memory dominted Esecilly those bsed on comlex, grh lgorithms Memory referencing bugs esecilly ernicious Effects

More information

Caches I. CSE 351 Autumn Instructor: Justin Hsia

Caches I. CSE 351 Autumn Instructor: Justin Hsia L01: Intro, L01: L16: Combintionl Introduction Cches I Logic CSE369, CSE351, Autumn 2016 Cches I CSE 351 Autumn 2016 Instructor: Justin Hsi Teching Assistnts: Chris M Hunter Zhn John Kltenbch Kevin Bi

More information

Enginner To Engineer Note

Enginner To Engineer Note Technicl Notes on using Anlog Devices DSP components nd development tools from the DSP Division Phone: (800) ANALOG-D, FAX: (781) 461-3010, EMAIL: dsp_pplictions@nlog.com, FTP: ftp.nlog.com Using n ADSP-2181

More information

Stack. A list whose end points are pointed by top and bottom

Stack. A list whose end points are pointed by top and bottom 4. Stck Stck A list whose end points re pointed by top nd bottom Insertion nd deletion tke plce t the top (cf: Wht is the difference between Stck nd Arry?) Bottom is constnt, but top grows nd shrinks!

More information

Title. How FIFO is Your Concurrent FIFO Queue? Andreas Haas, Christoph M. Kirsch, Michael Lippautz, Hannes Payer. RACES Workshop, October 2012

Title. How FIFO is Your Concurrent FIFO Queue? Andreas Haas, Christoph M. Kirsch, Michael Lippautz, Hannes Payer. RACES Workshop, October 2012 Title How FIFO is Your Concurrent FIFO Queue? Andres Hs, Christoph M. Kirsch, Michel Lipputz, Hnnes Pyer University of Slzurg RACES Workshop, Octoer 2012 1/17 Strict vs. Relxed FIFO Queues strict FIFO

More information

Presentation Martin Randers

Presentation Martin Randers Presenttion Mrtin Rnders Outline Introduction Algorithms Implementtion nd experiments Memory consumption Summry Introduction Introduction Evolution of species cn e modelled in trees Trees consist of nodes

More information

An Overview of PDF/X. Dov Isaacs Principal Scientist, Workflow & Interoperability Chair, ISO TC130 WG2/TF2, PDF/X April 27, 2011

An Overview of PDF/X. Dov Isaacs Principal Scientist, Workflow & Interoperability Chair, ISO TC130 WG2/TF2, PDF/X April 27, 2011 An Overview of PDF/X Dov Iscs Principl Scientist, Workflow & Interoperbility Chir, ISO TC130 WG2/TF2, PDF/X April 27, 2011 PDF s n Adobe File Formt 1993 to 2008 PDF formt introduced by Adobe with Acrobt

More information

Virtual Machine (Part I)

Virtual Machine (Part I) Hrvrd University CS Fll 2, Shimon Schocken Virtul Mchine (Prt I) Elements of Computing Systems Virtul Mchine I (Ch. 7) Motivtion clss clss Min Min sttic sttic x; x; function function void void min() min()

More information

AND THEN THERE WERE NONE

AND THEN THERE WERE NONE ND THEN THERE WERE NONE Stall-Free Real-Time Garbage Collector for Reconfigurable Hardware David F. acon Perry Cheng Sunil Shukla IM Research IMPLEMENTING PROGRMMING LNGUGE Program Source Code Interpreter

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distriuted Systems Principles nd Prdigms Chpter 11 (version April 7, 2008) Mrten vn Steen Vrije Universiteit Amsterdm, Fculty of Science Dept. Mthemtics nd Computer Science Room R4.20. Tel: (020) 598 7784

More information

EECS150 - Digital Design Lecture 23 - High-level Design and Optimization 3, Parallelism and Pipelining

EECS150 - Digital Design Lecture 23 - High-level Design and Optimization 3, Parallelism and Pipelining EECS150 - Digitl Design Lecture 23 - High-level Design nd Optimiztion 3, Prllelism nd Pipelining Nov 12, 2002 John Wwrzynek Fll 2002 EECS150 - Lec23-HL3 Pge 1 Prllelism Prllelism is the ct of doing more

More information

Fall Compiler Principles Lecture 1: Lexical Analysis. Roman Manevich Ben-Gurion University of the Negev

Fall Compiler Principles Lecture 1: Lexical Analysis. Roman Manevich Ben-Gurion University of the Negev Fll 2016-2017 Compiler Principles Lecture 1: Lexicl Anlysis Romn Mnevich Ben-Gurion University of the Negev Agend Understnd role of lexicl nlysis in compiler Regulr lnguges reminder Lexicl nlysis lgorithms

More information

Engineer To Engineer Note

Engineer To Engineer Note Engineer To Engineer Note EE-169 Technicl Notes on using Anlog Devices' DSP components nd development tools Contct our technicl support by phone: (800) ANALOG-D or e-mil: dsp.support@nlog.com Or visit

More information

a Technical Notes on using Analog Devices' DSP components and development tools

a Technical Notes on using Analog Devices' DSP components and development tools Engineer To Engineer Note EE-146 Technicl Notes on using Anlog Devices' DSP components nd development tools Contct our technicl support by phone: (800) ANALOG-D or e-mil: dsp.support@nlog.com Or visit

More information

George Boole. IT 3123 Hardware and Software Concepts. Switching Algebra. Boolean Functions. Boolean Functions. Truth Tables

George Boole. IT 3123 Hardware and Software Concepts. Switching Algebra. Boolean Functions. Boolean Functions. Truth Tables George Boole IT 3123 Hrdwre nd Softwre Concepts My 28 Digitl Logic The Little Mn Computer 1815 1864 British mthemticin nd philosopher Mny contriutions to mthemtics. Boolen lger: n lger over finite sets

More information

Languages. L((a (b)(c))*) = { ε,a,bc,aa,abc,bca,... } εw = wε = w. εabba = abbaε = abba. (a (b)(c)) *

Languages. L((a (b)(c))*) = { ε,a,bc,aa,abc,bca,... } εw = wε = w. εabba = abbaε = abba. (a (b)(c)) * Pln for Tody nd Beginning Next week Interpreter nd Compiler Structure, or Softwre Architecture Overview of Progrmming Assignments The MeggyJv compiler we will e uilding. Regulr Expressions Finite Stte

More information

Caches I. CSE 351 Autumn 2018

Caches I. CSE 351 Autumn 2018 Cches I CSE 351 Autumn 2018 Instructors: Mx Willsey Luis Ceze Teching Assistnts: Britt Henderson Luks Joswik Josie Lee Wei Lin Dniel Snitkovsky Luis Veg Kory Wtson Ivy Yu Alt text: I looked t some of the

More information

Today s Lecture. Basics of Logic Design: Boolean Algebra, Logic Gates. Recursive Example. Review: The C / C++ code. Recursive Example (Continued)

Today s Lecture. Basics of Logic Design: Boolean Algebra, Logic Gates. Recursive Example. Review: The C / C++ code. Recursive Example (Continued) Tod s Lecture Bsics of Logic Design: Boolen Alger, Logic Gtes Alvin R. Leeck CPS 4 Lecture 8 Homework #2 Due Ferur 3 Outline Review (sseml recursion) Building the uilding locks Logic Design Truth tles,

More information

Mobile IP route optimization method for a carrier-scale IP network

Mobile IP route optimization method for a carrier-scale IP network Moile IP route optimiztion method for crrier-scle IP network Tkeshi Ihr, Hiroyuki Ohnishi, nd Ysushi Tkgi NTT Network Service Systems Lortories 3-9-11 Midori-cho, Musshino-shi, Tokyo 180-8585, Jpn Phone:

More information

Stack Manipulation. Other Issues. How about larger constants? Frame Pointer. PowerPC. Alternative Architectures

Stack Manipulation. Other Issues. How about larger constants? Frame Pointer. PowerPC. Alternative Architectures Other Issues Stck Mnipultion support for procedures (Refer to section 3.6), stcks, frmes, recursion mnipulting strings nd pointers linkers, loders, memory lyout Interrupts, exceptions, system clls nd conventions

More information

16 Bit Software Tools ADDU-21xx-PC-1 Code Generation and Simulation

16 Bit Software Tools ADDU-21xx-PC-1 Code Generation and Simulation 16 Bit Softwre Tools ADDU-21xx-PC-1 Code Genertion nd Simultion ADDS-21xx-PC-1 Version 6.1 Contents The entire softwre cretion tool chin in one pckge System Builder Assembler C Compiler Linker Softwre

More information

CMPSC 470: Compiler Construction

CMPSC 470: Compiler Construction CMPSC 47: Compiler Construction Plese complete the following: Midterm (Type A) Nme Instruction: Mke sure you hve ll pges including this cover nd lnk pge t the end. Answer ech question in the spce provided.

More information

Some Thoughts on Grad School. Undergraduate Compilers Review and Intro to MJC. Structure of a Typical Compiler. Lexing and Parsing

Some Thoughts on Grad School. Undergraduate Compilers Review and Intro to MJC. Structure of a Typical Compiler. Lexing and Parsing Undergrdute Compilers Review nd Intro to MJC Announcements Miling list is in full swing Tody Some thoughts on grd school Finish prsing Semntic nlysis Visitor pttern for bstrct syntx trees Some Thoughts

More information

An introduction to model checking

An introduction to model checking An introduction to model checking Slide 1 University of Albert Edmonton July 3rd, 2002 Guy Trembly Dépt d informtique UQAM Outline Wht re forml specifiction nd verifiction methods? Slide 2 Wht is model

More information

XML Document Parsing: Operational and Performance Characteristics

XML Document Parsing: Operational and Performance Characteristics C O M P U T I N G P R A C T I C E S XML Document Prsing: Opertionl nd Performnce Chrcteristics Prsing is n expensive opertion tht cn degrde XML processing performnce. A survey of four representtive XML

More information

UNIT 11. Query Optimization

UNIT 11. Query Optimization UNIT Query Optimiztion Contents Introduction to Query Optimiztion 2 The Optimiztion Process: An Overview 3 Optimiztion in System R 4 Optimiztion in INGRES 5 Implementing the Join Opertors Wei-Png Yng,

More information

Tool Vendor Perspectives SysML Thus Far

Tool Vendor Perspectives SysML Thus Far Frontiers 2008 Pnel Georgi Tec, 05-13-08 Tool Vendor Perspectives SysML Thus Fr Hns-Peter Hoffmnn, Ph.D Chief Systems Methodologist Telelogic, Systems & Softwre Modeling Business Unit Peter.Hoffmnn@telelogic.com

More information

4/29/18 FIBONACCI NUMBERS GOLDEN RATIO, RECURRENCES. Fibonacci function. Fibonacci (Leonardo Pisano) ? Statue in Pisa Italy

4/29/18 FIBONACCI NUMBERS GOLDEN RATIO, RECURRENCES. Fibonacci function. Fibonacci (Leonardo Pisano) ? Statue in Pisa Italy /9/8 Fioncci (Leonrdo Pisno) -? Sttue in Pis Itly FIBONACCI NUERS GOLDEN RATIO, RECURRENCES Lecture CS Spring 8 Fioncci function fi() fi() fi(n) fi(n-) + fi(n-) for n,,,,,, 8,,, In his ook in titled Lier

More information

ΕΠΛ323 - Θεωρία και Πρακτική Μεταγλωττιστών

ΕΠΛ323 - Θεωρία και Πρακτική Μεταγλωττιστών ΕΠΛ323 - Θωρία και Πρακτική Μταγλωττιστών Lecture 3 Lexicl Anlysis Elis Athnsopoulos elisthn@cs.ucy.c.cy Recognition of Tokens if expressions nd reltionl opertors if è if then è then else è else relop

More information

CMSC 331 First Midterm Exam

CMSC 331 First Midterm Exam 0 00/ 1 20/ 2 05/ 3 15/ 4 15/ 5 15/ 6 20/ 7 30/ 8 30/ 150/ 331 First Midterm Exm 7 October 2003 CMC 331 First Midterm Exm Nme: mple Answers tudent ID#: You will hve seventy-five (75) minutes to complete

More information

ITEC2620 Introduction to Data Structures

ITEC2620 Introduction to Data Structures ITEC0 Introduction to Dt Structures Lecture 7 Queues, Priority Queues Queues I A queue is First-In, First-Out = FIFO uffer e.g. line-ups People enter from the ck of the line People re served (exit) from

More information

LR Parsing, Part 2. Constructing Parse Tables. Need to Automatically Construct LR Parse Tables: Action and GOTO Table

LR Parsing, Part 2. Constructing Parse Tables. Need to Automatically Construct LR Parse Tables: Action and GOTO Table TDDD55 Compilers nd Interpreters TDDB44 Compiler Construction LR Prsing, Prt 2 Constructing Prse Tles Prse tle construction Grmmr conflict hndling Ctegories of LR Grmmrs nd Prsers Peter Fritzson, Christoph

More information

Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming

Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming Lecture 10 Evolutionry Computtion: Evolution strtegies nd genetic progrmming Evolution strtegies Genetic progrmming Summry Negnevitsky, Person Eduction, 2011 1 Evolution Strtegies Another pproch to simulting

More information

Event Based Systems. Part III Active Replication Event Stream Processing & Dependability. Dr.-Ing. André Martin

Event Based Systems. Part III Active Replication Event Stream Processing & Dependability. Dr.-Ing. André Martin Systems Engineering http://se.inf.tu-dresden.de Event Bsed Systems Prt III Active Repliction Event Strem Processing & Dependility Dr.-Ing. André Mrtin ndre.mrtin@tu-dresden.de Universitte Alexndru Ion

More information

APPLICATION OF OPTIMIZATION PRINCIPLES IN CLASSROOM ALLOCATION USING LINEAR PROGRAMMING

APPLICATION OF OPTIMIZATION PRINCIPLES IN CLASSROOM ALLOCATION USING LINEAR PROGRAMMING Interntionl Journl of Mechnicl Engineering nd Technology (IJMET) Volume 0, Issue 0, Jnury 0, pp., Article ID: IJMET_0_0_0 Aville online t http://www.ieme.com/imet/issues.sp?jtype=ijmet&vtype=0&itype=0

More information

Java for Flight Software

Java for Flight Software Jv for Flight Softwre Edwrd G. Benowitz, Albert E Niessner Jet Propulsion Lbortory, Clifomi nstitute of Technology 4800 Ok Grove Drive Psden, CA 909 { Edwrd.G.Benowitz, Albert.F.Niessner } @jpl.ns.gov

More information

Discussion 1 Recap. COP4600 Discussion 2 OS concepts, System call, and Assignment 1. Questions. Questions. Outline. Outline 10/24/2010

Discussion 1 Recap. COP4600 Discussion 2 OS concepts, System call, and Assignment 1. Questions. Questions. Outline. Outline 10/24/2010 COP4600 Discussion 2 OS concepts, System cll, nd Assignment 1 TA: Hufeng Jin hj0@cise.ufl.edu Discussion 1 Recp Introduction to C C Bsic Types (chr, int, long, flot, doule, ) C Preprocessors (#include,

More information

Upgrade. 17 JUL 2018 VMware Validated Design 4.3 VMware Validated Design for Software-Defined Data Center 4.3

Upgrade. 17 JUL 2018 VMware Validated Design 4.3 VMware Validated Design for Software-Defined Data Center 4.3 Upgrde 17 JUL 2018 VMwre Vlidted Design 4.3 VMwre Vlidted Design for Softwre-Defined Dt Center 4.3 Upgrde You cn find the most up-to-dte technicl documenttion on the VMwre wesite t: https://docs.vmwre.com/

More information

vcloud Director Tenant Portal Guide vcloud Director 9.0

vcloud Director Tenant Portal Guide vcloud Director 9.0 vcloud Director Tennt Portl Guide vcloud Director 9.0 vcloud Director Tennt Portl Guide You cn find the most up-to-dte technicl documenttion on the VMwre We site t: https://docs.vmwre.com/ The VMwre We

More information

Midterm 2 Sample solution

Midterm 2 Sample solution Nme: Instructions Midterm 2 Smple solution CMSC 430 Introduction to Compilers Fll 2012 November 28, 2012 This exm contins 9 pges, including this one. Mke sure you hve ll the pges. Write your nme on the

More information

Engineer-to-Engineer Note

Engineer-to-Engineer Note Engineer-to-Engineer Note EE-232 Technicl notes on using Anlog Devices DSPs, processors nd development tools Contct our technicl support t dsp.support@nlog.com nd t dsptools.support@nlog.com Or visit our

More information

Quiz2 45mins. Personal Number: Problem 1. (20pts) Here is an Table of Perl Regular Ex

Quiz2 45mins. Personal Number: Problem 1. (20pts) Here is an Table of Perl Regular Ex Long Quiz2 45mins Nme: Personl Numer: Prolem. (20pts) Here is n Tle of Perl Regulr Ex Chrcter Description. single chrcter \s whitespce chrcter (spce, t, newline) \S non-whitespce chrcter \d digit (0-9)

More information

Engineer To Engineer Note

Engineer To Engineer Note Engineer To Engineer Note EE-208 Technicl Notes on using Anlog Devices' DSP components nd development tools Contct our technicl support by phone: (800) ANALOG-D or e-mil: dsp.support@nlog.com Or visit

More information

What are suffix trees?

What are suffix trees? Suffix Trees 1 Wht re suffix trees? Allow lgorithm designers to store very lrge mount of informtion out strings while still keeping within liner spce Allow users to serch for new strings in the originl

More information

Caches I. CSE 351 Autumn Instructor: Justin Hsia

Caches I. CSE 351 Autumn Instructor: Justin Hsia L16: Cches I Cches I CSE 351 Autumn 2017 Instructor: Justin Hsi Teching Assistnts: Lucs Wotton Michel Zhng Prker DeWilde Ryn Wong Sm Gehmn Sm Wolfson Svnn Yee Vinny Plnippn Alt text: I looked t some of

More information

UNIVERSITY OF EDINBURGH COLLEGE OF SCIENCE AND ENGINEERING SCHOOL OF INFORMATICS INFORMATICS 1 COMPUTATION & LOGIC INSTRUCTIONS TO CANDIDATES

UNIVERSITY OF EDINBURGH COLLEGE OF SCIENCE AND ENGINEERING SCHOOL OF INFORMATICS INFORMATICS 1 COMPUTATION & LOGIC INSTRUCTIONS TO CANDIDATES UNIVERSITY OF EDINBURGH COLLEGE OF SCIENCE AND ENGINEERING SCHOOL OF INFORMATICS INFORMATICS COMPUTATION & LOGIC Sturdy st April 7 : to : INSTRUCTIONS TO CANDIDATES This is tke-home exercise. It will not

More information

M-Historian and M-Trend

M-Historian and M-Trend Product Bulletin Issue Dte June 18, 2004 M-Historin nd The M-Historin mnges the collection nd rchiving of trend dt, nd enles the presenttion of rchived trend dt in the ssocited softwre component. M-Historin

More information

The Search for Optimality in Automated Intrusion Response

The Search for Optimality in Automated Intrusion Response The Serch for Optimlity in Automted Intrusion Response Yu-Sung Wu nd Surbh Bgchi (DCSL) & The Center for Eduction nd Reserch in Informtion Assurnce nd Security (CERIAS) School of Electricl nd Computer

More information

Exploiting Method-Level Parallelism in Single-Threaded Java Programs

Exploiting Method-Level Parallelism in Single-Threaded Java Programs Exploiting Method-Level Prllelism in Single-Threded Jv Progrms Michel K. Chen nd Kunle Olukotun Computer Systems Lbortory, Stnford University Stnford, CA 94305-4070 http://www-hydr.stnford.edu/ Abstrct

More information

Engineer To Engineer Note

Engineer To Engineer Note Engineer To Engineer Note EE-188 Technicl Notes on using Anlog Devices' DSP components nd development tools Contct our technicl support by phone: (800) ANALOG-D or e-mil: dsp.support@nlog.com Or visit

More information

Today. CS 188: Artificial Intelligence Fall Recap: Search. Example: Pancake Problem. Example: Pancake Problem. General Tree Search.

Today. CS 188: Artificial Intelligence Fall Recap: Search. Example: Pancake Problem. Example: Pancake Problem. General Tree Search. CS 88: Artificil Intelligence Fll 00 Lecture : A* Serch 9//00 A* Serch rph Serch Tody Heuristic Design Dn Klein UC Berkeley Multiple slides from Sturt Russell or Andrew Moore Recp: Serch Exmple: Pncke

More information

Example: Source Code. Lexical Analysis. The Lexical Structure. Tokens. What do we really care here? A Sample Toy Program:

Example: Source Code. Lexical Analysis. The Lexical Structure. Tokens. What do we really care here? A Sample Toy Program: Lexicl Anlysis Red source progrm nd produce list of tokens ( liner nlysis) source progrm The lexicl structure is specified using regulr expressions Other secondry tsks: (1) get rid of white spces (e.g.,

More information

Introduction to hardware design using VHDL

Introduction to hardware design using VHDL Introuction to hrwre esign using VHDL Tim Güneysu n Nele Mentens ECC school Novemer 11, 2017, Nijmegen Outline Implementtion pltforms Introuction to VHDL Hrwre tutoril 1 Implementtion pltforms Microprocessor

More information

Start Here. Remove all tape and lift display. Locate components

Start Here. Remove all tape and lift display. Locate components HP Photosmrt 2600/2700 series ll-in-one User Guide Strt Here 1 USB cle users: Do not connect the USB cle until this guide instructs you to or the softwre my not instll properly. Use this guide to set up

More information

Lists in Lisp and Scheme

Lists in Lisp and Scheme Lists in Lisp nd Scheme Lists in Lisp nd Scheme Lists re Lisp s fundmentl dt structures, ut there re others Arrys, chrcters, strings, etc. Common Lisp hs moved on from eing merely LISt Processor However,

More information

Fig.25: the Role of LEX

Fig.25: the Role of LEX The Lnguge for Specifying Lexicl Anlyzer We shll now study how to uild lexicl nlyzer from specifiction of tokens in the form of list of regulr expressions The discussion centers round the design of n existing

More information

Announcements. CS 188: Artificial Intelligence Fall Recap: Search. Today. Example: Pancake Problem. Example: Pancake Problem

Announcements. CS 188: Artificial Intelligence Fall Recap: Search. Today. Example: Pancake Problem. Example: Pancake Problem Announcements Project : erch It s live! Due 9/. trt erly nd sk questions. It s longer thn most! Need prtner? Come up fter clss or try Pizz ections: cn go to ny, ut hve priority in your own C 88: Artificil

More information

Tries. Yufei Tao KAIST. April 9, Y. Tao, April 9, 2013 Tries

Tries. Yufei Tao KAIST. April 9, Y. Tao, April 9, 2013 Tries Tries Yufei To KAIST April 9, 2013 Y. To, April 9, 2013 Tries In this lecture, we will discuss the following exct mtching prolem on strings. Prolem Let S e set of strings, ech of which hs unique integer

More information

NOTES. Figure 1 illustrates typical hardware component connections required when using the JCM ICB Asset Ticket Generator software application.

NOTES. Figure 1 illustrates typical hardware component connections required when using the JCM ICB Asset Ticket Generator software application. ICB Asset Ticket Genertor Opertor s Guide Septemer, 2016 Septemer, 2016 NOTES Opertor s Guide ICB Asset Ticket Genertor Softwre Instlltion nd Opertion This document contins informtion for downloding, instlling,

More information

The Greedy Method. The Greedy Method

The Greedy Method. The Greedy Method Lists nd Itertors /8/26 Presenttion for use with the textook, Algorithm Design nd Applictions, y M. T. Goodrich nd R. Tmssi, Wiley, 25 The Greedy Method The Greedy Method The greedy method is generl lgorithm

More information

Upgrade. 13 FEB 2018 VMware Validated Design 4.2 VMware Validated Design for Software-Defined Data Center 4.2

Upgrade. 13 FEB 2018 VMware Validated Design 4.2 VMware Validated Design for Software-Defined Data Center 4.2 Upgrde 13 FEB 2018 VMwre Vlidted Design 4.2 VMwre Vlidted Design for Softwre-Defined Dt Center 4.2 Upgrde You cn find the most up-to-dte technicl documenttion on the VMwre wesite t: https://docs.vmwre.com/

More information

CVM-A1500. Power analyzer for panel with power quality measurement parameters

CVM-A1500. Power analyzer for panel with power quality measurement parameters nlizdores de redes CVM-1500 Power nlyzer for pnel with power qulity mesurement prmeters Description CVM-1500 is pnel mounted power qulity nlyzer with EMS (Energy Mngement Softwre) integrted. Its internl

More information

Engineer-to-Engineer Note

Engineer-to-Engineer Note Engineer-to-Engineer Note EE-245 Technicl notes on using Anlog Devices DSPs, processors nd development tools Contct our technicl support t dsp.support@nlog.com nd t dsptools.support@nlog.com Or visit our

More information

CS 241. Fall 2017 Midterm Review Solutions. October 24, Bits and Bytes 1. 3 MIPS Assembler 6. 4 Regular Languages 7.

CS 241. Fall 2017 Midterm Review Solutions. October 24, Bits and Bytes 1. 3 MIPS Assembler 6. 4 Regular Languages 7. CS 241 Fll 2017 Midterm Review Solutions Octoer 24, 2017 Contents 1 Bits nd Bytes 1 2 MIPS Assemly Lnguge Progrmming 2 3 MIPS Assemler 6 4 Regulr Lnguges 7 5 Scnning 9 1 Bits nd Bytes 1. Give two s complement

More information

Network Interconnection: Bridging CS 571 Fall Kenneth L. Calvert All rights reserved

Network Interconnection: Bridging CS 571 Fall Kenneth L. Calvert All rights reserved Network Interconnection: Bridging CS 57 Fll 6 6 Kenneth L. Clvert All rights reserved The Prolem We know how to uild (rodcst) LANs Wnt to connect severl LANs together to overcome scling limits Recll: speed

More information

CS412/413. Introduction to Compilers Tim Teitelbaum. Lecture 4: Lexical Analyzers 28 Jan 08

CS412/413. Introduction to Compilers Tim Teitelbaum. Lecture 4: Lexical Analyzers 28 Jan 08 CS412/413 Introduction to Compilers Tim Teitelum Lecture 4: Lexicl Anlyzers 28 Jn 08 Outline DFA stte minimiztion Lexicl nlyzers Automting lexicl nlysis Jlex lexicl nlyzer genertor CS 412/413 Spring 2008

More information

Transparent neutral-element elimination in MPI reduction operations

Transparent neutral-element elimination in MPI reduction operations Trnsprent neutrl-element elimintion in MPI reduction opertions Jesper Lrsson Träff Deprtment of Scientific Computing University of Vienn Disclimer Exploiting repetition nd sprsity in input for reducing

More information

CSCI 104. Rafael Ferreira da Silva. Slides adapted from: Mark Redekopp and David Kempe

CSCI 104. Rafael Ferreira da Silva. Slides adapted from: Mark Redekopp and David Kempe CSCI 0 fel Ferreir d Silv rfsilv@isi.edu Slides dpted from: Mrk edekopp nd Dvid Kempe LOG STUCTUED MEGE TEES Series Summtion eview Let n = + + + + k $ = #%& #. Wht is n? n = k+ - Wht is log () + log ()

More information

Revisiting the notion of Origin-Destination Traffic Matrix of the Hosts that are attached to a Switched Local Area Network

Revisiting the notion of Origin-Destination Traffic Matrix of the Hosts that are attached to a Switched Local Area Network Interntionl Journl of Distributed nd Prllel Systems (IJDPS) Vol., No.6, November 0 Revisiting the notion of Origin-Destintion Trffic Mtrix of the Hosts tht re ttched to Switched Locl Are Network Mondy

More information

Agenda & Reading. Class Exercise. COMPSCI 105 SS 2012 Principles of Computer Science. Arrays

Agenda & Reading. Class Exercise. COMPSCI 105 SS 2012 Principles of Computer Science. Arrays COMPSCI 5 SS Principles of Computer Science Arrys & Multidimensionl Arrys Agend & Reding Agend Arrys Creting & Using Primitive & Reference Types Assignments & Equlity Pss y Vlue & Pss y Reference Copying

More information

LECT-10, S-1 FP2P08, Javed I.

LECT-10, S-1 FP2P08, Javed I. A Course on Foundtions of Peer-to-Peer Systems & Applictions LECT-10, S-1 CS /799 Foundtion of Peer-to-Peer Applictions & Systems Kent Stte University Dept. of Computer Science www.cs.kent.edu/~jved/clss-p2p08

More information

Pin-down Cache: A Virtual Memory Management Technique for Zero-copy Communication

Pin-down Cache: A Virtual Memory Management Technique for Zero-copy Communication Pin-down Cche: A Virtul Memory Mngement Technique for Zero-copy Communiction Hiroshi Tezuk, Frncis 0 Cnoll, Atsushi Hori, nd Yutk Ishikw Rel World Computing Prtnership { tezuk, ocrroll, hori, ishikw) @rwcp.or.jp

More information

pdfapilot Server 2 Manual

pdfapilot Server 2 Manual pdfpilot Server 2 Mnul 2011 by clls softwre gmbh Schönhuser Allee 6/7 D 10119 Berlin Germny info@cllssoftwre.com www.cllssoftwre.com Mnul clls pdfpilot Server 2 Pge 2 clls pdfpilot Server 2 Mnul Lst modified:

More information

Solving Problems by Searching. CS 486/686: Introduction to Artificial Intelligence

Solving Problems by Searching. CS 486/686: Introduction to Artificial Intelligence Solving Prolems y Serching CS 486/686: Introduction to Artificil Intelligence 1 Introduction Serch ws one of the first topics studied in AI - Newell nd Simon (1961) Generl Prolem Solver Centrl component

More information

Qubit allocation for quantum circuit compilers

Qubit allocation for quantum circuit compilers Quit lloction for quntum circuit compilers Nov. 10, 2017 JIQ 2017 Mrcos Yukio Sirichi Sylvin Collnge Vinícius Fernndes dos Sntos Fernndo Mgno Quintão Pereir Compilers for quntum computing The first genertion

More information

Data sharing in OpenMP

Data sharing in OpenMP Dt shring in OpenMP Polo Burgio polo.burgio@unimore.it Outline Expressing prllelism Understnding prllel threds Memory Dt mngement Dt cluses Synchroniztion Brriers, locks, criticl sections Work prtitioning

More information

Should be done. Do Soon. Structure of a Typical Compiler. Plan for Today. Lab hours and Office hours. Quiz 1 is due tonight, was posted Tuesday night

Should be done. Do Soon. Structure of a Typical Compiler. Plan for Today. Lab hours and Office hours. Quiz 1 is due tonight, was posted Tuesday night Should e done L hours nd Office hours Sign up for the miling list t, strting to send importnt info to list http://groups.google.com/group/cs453-spring-2011 Red Ch 1 nd skim Ch 2 through 2.6, red 3.3 nd

More information

Upgrading from vrealize Automation to 7.3 or May 2018 vrealize Automation 7.3

Upgrading from vrealize Automation to 7.3 or May 2018 vrealize Automation 7.3 Upgrding from vrelize Automtion 6.2.5 to 7.3 or 7.3.1 03 My 2018 vrelize Automtion 7.3 You cn find the most up-to-dte technicl documenttion on the VMwre wesite t: https://docs.vmwre.com/ If you hve comments

More information

Topic 2: Lexing and Flexing

Topic 2: Lexing and Flexing Topic 2: Lexing nd Flexing COS 320 Compiling Techniques Princeton University Spring 2016 Lennrt Beringer 1 2 The Compiler Lexicl Anlysis Gol: rek strem of ASCII chrcters (source/input) into sequence of

More information

Definition of Regular Expression

Definition of Regular Expression Definition of Regulr Expression After the definition of the string nd lnguges, we re redy to descrie regulr expressions, the nottion we shll use to define the clss of lnguges known s regulr sets. Recll

More information

CS321 Languages and Compiler Design I. Winter 2012 Lecture 5

CS321 Languages and Compiler Design I. Winter 2012 Lecture 5 CS321 Lnguges nd Compiler Design I Winter 2012 Lecture 5 1 FINITE AUTOMATA A non-deterministic finite utomton (NFA) consists of: An input lphet Σ, e.g. Σ =,. A set of sttes S, e.g. S = {1, 3, 5, 7, 11,

More information