AMAχOS Abstract Machine for Xcerpt
|
|
- Olivia Hutchinson
- 5 years ago
- Views:
Transcription
1 AMAχOS Abstract Machine for Xcerpt Principles Architecture François Bry, Tim Furche, Benedikt Linse PPSWR 06, Budva, Montenegro, June 11th, 2006
2 Abstract Machine(s) Definition and Variants abstract machine := interpreter for low-level code according to machine model (representation, instruct. set) abstract machine ~ virtual machine why abstract machines? thought models hardware or OS-level virtualization AMs for high-level (programming) languages 2
3 Virtualization everywhere Carbon and Mac OS X As shown in the following figure, Carbon is one of several application environments available on Mac OS X. OS-level C O V E R F E A T U R E Intel Virtualization Technology Once confined to specialized server and mainframe systems, virtualization is now supported in off-the-shelf systems based on Intel architecture hardware. Intel Virtualization Technology provides hardware support for processor virtualization, enabling simplifications of virtual machine monitor software. Resulting VMMs can support a wider range of legacy and future operating systems while maintaining high performance. High-level languages ECMA rd Edition / June 2005 Common Language Infrastructure (CLI) Partitions I to VI V Hardware 3
4 AMAχOS AM for Web Querying Operational Semantics for Xcerpt abstract machine ~ instruction set + machine model just like algebra ~ operators + data model both: precise query semantics on a logical level on the operational/physical level optimizability different combinations of instructions with equivalent overall result but different performance characteristics 4
5 AMAχOS AM for Web Querying Vision language neutral starting with a bias towards Xcerpt already: query core applicable for {Xcerpt, XQuery, XSLT, SPARQL} focus: in-memory processing of distributed data no (guaranteed) control over storage and indexing of data ad-hoc index creation (like XSLT key) and data model selection +: distributed evaluation (if additional query nodes known) distribute compiled code over nodes acc. cost estimation 5
6 AMAχOS AM for Web Querying We have principles Are we alone in this? not quite: XLSTVM now part of Oracle DB centralized query processing very specialized instruction set for XLST 1.0/Oracle algebra vs. abstract machine very similar idea: operators and their semantics but: usually tightly integrated (at least on physical layer) algebra for XML querying hot research issue 6
7 Enough vision already on to the details
8 var Y a[[ b { var X }, Example var Y desc c { var X } ]] How to evaluate this? one eval operator? splitting it into base relations conjunctive queries root(v 0 ) child(v 0, v 1 ) label(v 1, a ) child(v 1, v 2 ) label(v 2, b ) much better for optimization (move tough decisions to compile-time) but: naively done exponential compromise path, twig operators: root(v 0 ) path(v 0, a.b, v 1 ) split at join and result variable 8
9 AMAχOS Core Data Model several variants but common principles: basic type: node with properties element (structured) vs. content (atomic) nodes semi-structured data model with node identity differs from previous Xcerpt DM (infinite regular trees) memory model: memoization matrix non-1-normal-form table of operator results non-redundant (polynomial) store of query results 9
10 AMAχOS Core bib d 1 conference 1 d 2 conference Child + v 5 Root Child paper posters d 4 2 d 7 title author Wax Tablets 1 paper d 3 d 5 1 author Cicero d 6 d 8 paper author pc d 9 d 11 member d 12 name d 14 Storage Media member d 13 Cicero Hirtius d 10 Variable Node Sub-Matrix paper author Child + v 1 v 4 Child + name member v 3 v 2 v 5 d 2 Variable Node Sub-Matrix v 4 d 3 Variable Node Sub-Matrix v 1 d 6 v 1 d 7 v 4 d 5 Variable Node Sub-Matrix v 3 d 11 v 2 d 13 10
11 Operators Three phase algorithm matrix population evaluates only a spanning tree T of operators from query Q directed semi-joins polynomial evaluation expansion of non-tree joins (similar to OO DBS case) worst-case exponential in time and space matrix consumption construction in the flavor of complex value algebra 11
12 Operators Matrix population (spanning tree T of query Q) unary relations (property filters) binary & ternary relations (structural assembly) basic relations (child, desc), (reg.) path operators, twig operators Non-tree join expansion value, identity, and (direct) structural join Matrix consumption basic constructors for each node type grouping, aggregation, order, 12
13 Optimizability Lot s of freedom at compilation how to distribute operators between phase (1) and (2) matrix population: semi-joins, but only acyclic CQ join expansion: arbitrary shape, but exponential cover areas for join variables to reduce exponent hypertree/query decomposition choosing the right operator conjunction of base relations vs. twig operator supportive indices and DM variants e.g., set-based vs. streaming (time vs. space) 13
14 AMAχOS Execution Complexity The core of the core: the evaluation algorithm tree query graph query tree data O(q v 2 + o) O(v q ) graph data O(q v e + o) O(v q ) Table 1: Overview of Combined Time Complexity (q: number of query variables; e, v number of edges, vertices resp., in the data; o: size of output) 14
15 The core of the core: the evaluation algorithm time (msec, logarithmic) query size (variables) without memoization with memoization data size fixed 15
16 The core of the core: the evaluation algorithm time (msec) data size (MB) top-down query size fixed (~ 20 nodes) 16
17 Query Network Application control API (Java) AMAχOS Code Hint Segment Dependency Segment Code Segment Local Data Source e.g. document e.g. database Local Data Source e.g. document e.g. database rule 1 rule 2 AMAχOS Node Xcerpt Node rule n rule 1 Application Web Service API Application command-line interface Query Compiler Xcerpt Program rule 1: c 1 q 1,1 q 1,2 q 1,k1 rule 2: c 2 q 2,1 q 2,2 q 2,k2 rule 3: c 3 q 3,1 q 3,2 q 3,k3 query conjunct q 1,2 AMAχOS Node query conjunct q 1,1 rule 2 AMAχOS Node query conjunct q 2,2 AMAχOS Node AMAχOS Node query conjunct q 2,1 AMAχOS Node Remote Data Source e.g. Web service Remote Data Source e.g. Web service Local Data Source e.g. document e.g. database 17
18 AMAχOS Architecture And a way to realize them Control Plane Compilation API simple observation and control API compilation strategies Execution & Answer API control, observation, parameterization OO & Web Service API Program Plane Parsing & Validation Layer program parsing and validation multi-parser, normalization, modules Compilation Layer unsatisfiable, tautological parts extensive query optimization Execution Layer (AMAχOS) pattern matching engine rule dispatcher and engine Data Plane Schema Access Layer provides access to schema of data type checking for compilation Data Access Layer incremental data access storage and indexing engine Serialization Layer incremental answer creation versatile Web format support 18
19 AMAχOS Architecture core layer: execution or AMAχOS proper Query Compilation Dependency Hints Abstract Machine AMAχOS Rule Engine Rule Dispatch Function Call Pattern Matching Engine Rule Call (Recursion) Static Function Library Construction Engine Answer API Abstract Machine Code Code Scheduler Memoization Matrix Variable Node Sub-Matrix v 5 d 2 Variable Node Sub-Matrix Substitution Sets Answer Construction In-Memory Answer AM Code v 4 d 3 Variable Node Sub-Matrix v 1 d 6 v 1 d 7 Hint Segment Dependency Segment Code Segment rule 1 rule 2 Storage & Index Hints Storage Manager v 4 d 5 Variable Node Sub-Matrix v 3 d 11 v 2 d 13 Runtime Data Access Layer 19
20 AMAχOS Architecture The other core: optimization and compilation Typed AST Query Compilation Logical Optimization Algebraic Optimization Translation logical algebra patterns: annotated conjunctive queries over semi-structured graphs rules: unfolding into complex value or object algebra where possible Translator Canonic Logical Query Plan x Child + s v Root Child y Child Rewriting system elimination of dead and tautological query parts join placement optimization query compaction (common subexpressions) Rewriting System r w Child + z x w π x! s(x,w) s π w! r(y,z) y w z Optimized Logical QP Physical Plan Generation Query Classification determines class of query, e.g., to choose efficient alg. for sub-languages Operator Algorithm Selection determines realization of operators Index and Storage Model Selection selects in-memory representation and indices for data access Physical Query Plan Code Generation generate AM-code direct representation of physical query plan platform-independent motion of invariant code dead-code elimination Code Generator AM Code 20
21 The end (of the talk) novel approach to query execution uniform platform for distributed evaluation separation of querying and compilation lots of open issues, e.g., data structures compilation & evaluation of high-level language constructs Compile once Execute anywhere Optimize all the time 21
I4-D11 Refinement of Principles of the Xcerpt Processors
I4-D11 Refinement of Principles of the Xcerpt Processors Project title: Reasoning on the Web with Rules and Semantics Project acronym: REWERSE Project number: IST-2004-506779 Project instrument: EU FP6
More informationXML Perspectives on RDF Querying: Towards integrated Access to Data and Metadata on the Web
XML Perspectives on RDF Querying: Towards integrated Access to Data and Metadata on the Web Tim Furche, François Bry, Oliver Bolzer Institute for Informatics, University of Munich http://www.pms.ifi.lmu.de
More informationFOUNDATIONS OF DATABASES AND QUERY LANGUAGES
FOUNDATIONS OF DATABASES AND QUERY LANGUAGES Lecture 14: Database Theory in Practice Markus Krötzsch TU Dresden, 20 July 2015 Overview 1. Introduction Relational data model 2. First-order queries 3. Complexity
More informationCopyright 2016 Ramez Elmasri and Shamkant B. Navathe
CHAPTER 19 Query Optimization Introduction Query optimization Conducted by a query optimizer in a DBMS Goal: select best available strategy for executing query Based on information available Most RDBMSs
More informationModule 4. Implementation of XQuery. Part 0: Background on relational query processing
Module 4 Implementation of XQuery Part 0: Background on relational query processing The Data Management Universe Lecture Part I Lecture Part 2 2 What does a Database System do? Input: SQL statement Output:
More informationCompilers. Intermediate representations and code generation. Yannis Smaragdakis, U. Athens (original slides by Sam
Compilers Intermediate representations and code generation Yannis Smaragdakis, U. Athens (original slides by Sam Guyer@Tufts) Today Intermediate representations and code generation Scanner Parser Semantic
More informationAbout the Authors... iii Introduction... xvii. Chapter 1: System Software... 1
Table of Contents About the Authors... iii Introduction... xvii Chapter 1: System Software... 1 1.1 Concept of System Software... 2 Types of Software Programs... 2 Software Programs and the Computing Machine...
More informationWhat happens. 376a. Database Design. Execution strategy. Query conversion. Next. Two types of techniques
376a. Database Design Dept. of Computer Science Vassar College http://www.cs.vassar.edu/~cs376 Class 16 Query optimization What happens Database is given a query Query is scanned - scanner creates a list
More informationIR Optimization. May 15th, Tuesday, May 14, 13
IR Optimization May 15th, 2013 Tuesday, May 14, 13 But before we talk about IR optimization... Wrapping up IR generation Tuesday, May 14, 13 Three-Address Code Or TAC The IR that you will be using for
More informationPart XII. Mapping XML to Databases. Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 321
Part XII Mapping XML to Databases Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 321 Outline of this part 1 Mapping XML to Databases Introduction 2 Relational Tree Encoding Dead Ends
More informationVirtual Machines. Virtual Machines
Virtual Machines Virtual Machines What is a virtual machine? Examples? Benefits? 1 Virtualization Creation of an isomorphism that maps a virtual guest system to a real host: Maps guest state S to host
More informationCITS3211 FUNCTIONAL PROGRAMMING. 14. Graph reduction
CITS3211 FUNCTIONAL PROGRAMMING 14. Graph reduction Summary: This lecture discusses graph reduction, which is the basis of the most common compilation technique for lazy functional languages. CITS3211
More informationCOMPILER DESIGN LEXICAL ANALYSIS, PARSING
COMPILER DESIGN LEXICAL ANALYSIS, PARSING 1. Which of the following system program forgoes the production of object code to generate absolute machine code and load it into the Physical main storage location
More informationUnifying Big Data Workloads in Apache Spark
Unifying Big Data Workloads in Apache Spark Hossein Falaki @mhfalaki Outline What s Apache Spark Why Unification Evolution of Unification Apache Spark + Databricks Q & A What s Apache Spark What is Apache
More informationQuery Processing & Optimization
Query Processing & Optimization 1 Roadmap of This Lecture Overview of query processing Measures of Query Cost Selection Operation Sorting Join Operation Other Operations Evaluation of Expressions Introduction
More informationStream Joins and Dynamic Query Evaluation. WANG, Qichen HUANG, Ziyue
Stream Joins and Dynamic Query Evaluation WANG, Qichen HUANG, Ziyue Contents 1. Introduction 2. Dynamic Yannakakis Algorithm 3. Higher Order Incremental View Maintenance Problem Definition Input: Some
More informationSemantic Subtyping. Alain Frisch (ENS Paris) Giuseppe Castagna (ENS Paris) Véronique Benzaken (LRI U Paris Sud)
Semantic Subtyping Alain Frisch (ENS Paris) Giuseppe Castagna (ENS Paris) Véronique Benzaken (LRI U Paris Sud) http://www.cduce.org/ Semantic Subtyping - Groupe de travail BD LRI p.1/28 CDuce A functional
More information1 Dulcian, Inc., 2001 All rights reserved. Oracle9i Data Warehouse Review. Agenda
Agenda Oracle9i Warehouse Review Dulcian, Inc. Oracle9i Server OLAP Server Analytical SQL Mining ETL Infrastructure 9i Warehouse Builder Oracle 9i Server Overview E-Business Intelligence Platform 9i Server:
More informationJust-In-Time Compilation
Just-In-Time Compilation Thiemo Bucciarelli Institute for Software Engineering and Programming Languages 18. Januar 2016 T. Bucciarelli 18. Januar 2016 1/25 Agenda Definitions Just-In-Time Compilation
More informationPSD3A Principles of Compiler Design Unit : I-V. PSD3A- Principles of Compiler Design
PSD3A Principles of Compiler Design Unit : I-V 1 UNIT I - SYLLABUS Compiler Assembler Language Processing System Phases of Compiler Lexical Analyser Finite Automata NFA DFA Compiler Tools 2 Compiler -
More informationMotivation and basic concepts Storage Principle Query Principle Index Principle Implementation and Results Conclusion
JSON Schema-less into RDBMS Most of the material was taken from the Internet and the paper JSON data management: sup- porting schema-less development in RDBMS, Liu, Z.H., B. Hammerschmidt, and D. McMahon,
More informationFlat (Draft) Pasqualino Titto Assini 27 th of May 2016
Flat (Draft) Pasqualino Titto Assini (tittoassini@gmail.com) 27 th of May 206 Contents What is Flat?...................................... Design Goals...................................... Design Non-Goals...................................
More informationRed Fox: An Execution Environment for Relational Query Processing on GPUs
Red Fox: An Execution Environment for Relational Query Processing on GPUs Georgia Institute of Technology: Haicheng Wu, Ifrah Saeed, Sudhakar Yalamanchili LogicBlox Inc.: Daniel Zinn, Martin Bravenboer,
More informationModule 4. Implementation of XQuery. Part 1: Overview of Compiler, Runtime System
Module 4 Implementation of XQuery Part 1: Overview of Compiler, Runtime System Now let us talk XQuery Compile Time + Optimizations Operator Models Query Rewrite Runtime + Query Execution XML Data Representation
More informationIntroduction to Compiler
Formal Languages and Compiler (CSE322) Introduction to Compiler Jungsik Choi chjs@khu.ac.kr 2018. 3. 8 Traditional Two-pass Compiler Source Front End Back End Compiler Target High level functions Recognize
More informationGroup B Assignment 8. Title of Assignment: Problem Definition: Code optimization using DAG Perquisite: Lex, Yacc, Compiler Construction
Group B Assignment 8 Att (2) Perm(3) Oral(5) Total(10) Sign Title of Assignment: Code optimization using DAG. 8.1.1 Problem Definition: Code optimization using DAG. 8.1.2 Perquisite: Lex, Yacc, Compiler
More informationCompiling Techniques
Lecture 2: The view from 35000 feet 19 September 2017 Table of contents 1 2 Passes Representations 3 Instruction Selection Register Allocation Instruction Scheduling 4 of a compiler Source Compiler Machine
More informationIntroduction to Query Processing and Query Optimization Techniques. Copyright 2011 Ramez Elmasri and Shamkant Navathe
Introduction to Query Processing and Query Optimization Techniques Outline Translating SQL Queries into Relational Algebra Algorithms for External Sorting Algorithms for SELECT and JOIN Operations Algorithms
More informationConjunctive queries. Many computational problems are much easier for conjunctive queries than for general first-order queries.
Conjunctive queries Relational calculus queries without negation and disjunction. Conjunctive queries have a normal form: ( y 1 ) ( y n )(p 1 (x 1,..., x m, y 1,..., y n ) p k (x 1,..., x m, y 1,..., y
More informationChapter 13: Query Processing
Chapter 13: Query Processing! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions 13.1 Basic Steps in Query Processing 1. Parsing
More informationThe View from 35,000 Feet
The View from 35,000 Feet This lecture is taken directly from the Engineering a Compiler web site with only minor adaptations for EECS 6083 at University of Cincinnati Copyright 2003, Keith D. Cooper,
More information1. Why Study Trees? Trees and Graphs. 2. Binary Trees. CITS2200 Data Structures and Algorithms. Wood... Topic 10. Trees are ubiquitous. Examples...
. Why Study Trees? CITS00 Data Structures and Algorithms Topic 0 Trees and Graphs Trees and Graphs Binary trees definitions: size, height, levels, skinny, complete Trees, forests and orchards Wood... Examples...
More informationMotivation. CS389L: Automated Logical Reasoning. Lecture 5: Binary Decision Diagrams. Historical Context. Binary Decision Trees
Motivation CS389L: Automated Logical Reasoning Lecture 5: Binary Decision Diagrams Işıl Dillig Previous lectures: How to determine satisfiability of propositional formulas Sometimes need to efficiently
More informationMulti Domain Logic and its Applications to SAT
Multi Domain Logic and its Applications to SAT Tudor Jebelean RISC Linz, Austria Tudor.Jebelean@risc.uni-linz.ac.at Gábor Kusper Eszterházy Károly College gkusper@aries.ektf.hu Abstract We describe a new
More informationData Modeling and Databases Ch 9: Query Processing - Algorithms. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich
Data Modeling and Databases Ch 9: Query Processing - Algorithms Gustavo Alonso Systems Group Department of Computer Science ETH Zürich Transactions (Locking, Logging) Metadata Mgmt (Schema, Stats) Application
More informationChapter 12: Query Processing
Chapter 12: Query Processing Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Overview Chapter 12: Query Processing Measures of Query Cost Selection Operation Sorting Join
More informationTeiid Designer User Guide 7.5.0
Teiid Designer User Guide 1 7.5.0 1. Introduction... 1 1.1. What is Teiid Designer?... 1 1.2. Why Use Teiid Designer?... 2 1.3. Metadata Overview... 2 1.3.1. What is Metadata... 2 1.3.2. Editing Metadata
More informationPre-Discussion. XQuery: An XML Query Language. Outline. 1. The story, in brief is. Other query languages. XML vs. Relational Data
Pre-Discussion XQuery: An XML Query Language D. Chamberlin After the presentation, we will evaluate XQuery. During the presentation, think about consequences of the design decisions on the usability of
More informationImproving the Performance of OLAP Queries Using Families of Statistics Trees
Improving the Performance of OLAP Queries Using Families of Statistics Trees Joachim Hammer Dept. of Computer and Information Science University of Florida Lixin Fu Dept. of Mathematical Sciences University
More informationCSE 504: Compiler Design. Instruction Selection
Instruction Selection Pradipta De pradipta.de@sunykorea.ac.kr Current Topic Instruction Selection techniques Tree Walk Tiling based approach Peephole Optimization Instruction Selection Difficulty of Instruction
More information! A relational algebra expression may have many equivalent. ! Cost is generally measured as total elapsed time for
Chapter 13: Query Processing Basic Steps in Query Processing! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions 1. Parsing and
More informationChapter 13: Query Processing Basic Steps in Query Processing
Chapter 13: Query Processing Basic Steps in Query Processing! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions 1. Parsing and
More informationSYLLABUS UNIT - I UNIT - II UNIT - III UNIT - IV CHAPTER - 1 : INTRODUCTION CHAPTER - 4 : SYNTAX AX-DIRECTED TRANSLATION TION CHAPTER - 7 : STORA
Contents i SYLLABUS UNIT - I CHAPTER - 1 : INTRODUCTION Programs Related to Compilers. Translation Process, Major Data Structures, Other Issues in Compiler Structure, Boot Strapping and Porting. CHAPTER
More informationOptimization of logical query plans Eliminating redundant joins
Optimization of logical query plans Eliminating redundant joins 66 Optimization of logical query plans Query Compiler Execution Engine SQL Translation Logical query plan "Intermediate code" Logical plan
More informationDesigning Views to Answer Queries under Set, Bag,and BagSet Semantics
Designing Views to Answer Queries under Set, Bag,and BagSet Semantics Rada Chirkova Department of Computer Science, North Carolina State University Raleigh, NC 27695-7535 chirkova@csc.ncsu.edu Foto Afrati
More informationBP-Mon: Monitoring Business Processes with Queries
BP-Mon: Monitoring Business Processes with Queries Catriel Beeri, Anat Eyal, Tova Milo, Alon Pilberg Hebrew University Tel-Aviv University Outline Introduction to Business Processes Overview of BP-Mon
More informationQuery Decomposition and Data Localization
Query Decomposition and Data Localization Query Decomposition and Data Localization Query decomposition and data localization consists of two steps: Mapping of calculus query (SQL) to algebra operations
More informationThe XQuery Data Model
The XQuery Data Model 9. XQuery Data Model XQuery Type System Like for any other database query language, before we talk about the operators of the language, we have to specify exactly what it is that
More informationBuilding a system for symbolic differentiation
Computer Science 21b Structure and Interpretation of Computer Programs Building a system for symbolic differentiation Selectors, constructors and predicates: (constant? e) Is e a constant? (variable? e)
More informationChapter 12: Query Processing
Chapter 12: Query Processing Overview Catalog Information for Cost Estimation $ Measures of Query Cost Selection Operation Sorting Join Operation Other Operations Evaluation of Expressions Transformation
More informationQuery Evaluation! References:! q [RG-3ed] Chapter 12, 13, 14, 15! q [SKS-6ed] Chapter 12, 13!
Query Evaluation! References:! q [RG-3ed] Chapter 12, 13, 14, 15! q [SKS-6ed] Chapter 12, 13! q Overview! q Optimization! q Measures of Query Cost! Query Evaluation! q Sorting! q Join Operation! q Other
More informationXML Projection and Streaming Compared and Contrasted. Michael Kay, Saxonica XML Prague 2017
XML Projection and Streaming Compared and Contrasted Michael Kay, Saxonica XML Prague 2017 What is XML Projection? Amélie Marian & Jérôme Siméon Take a query as input Work out which parts of the document
More informationCOMP9321 Web Application Engineering
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 12 (Wrap-up) http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2411
More informationData Model and Query Constructs for Versatile Web Query Languages: State-of-the-Art and Challenges for Xcerpt
Data Model and Query Constructs for Versatile Web Query Languages: State-of-the-Art and Challenges for Xcerpt François Bry, Tim Furche, and Benedikt Linse Institute for Informatics, University of Munich,
More informationCS153: Compilers Lecture 15: Local Optimization
CS153: Compilers Lecture 15: Local Optimization Stephen Chong https://www.seas.harvard.edu/courses/cs153 Announcements Project 4 out Due Thursday Oct 25 (2 days) Project 5 out Due Tuesday Nov 13 (21 days)
More informationCOMP9321 Web Application Engineering
COMP9321 Web Application Engineering Semester 1, 2017 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 12 (Wrap-up) http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2457
More informationDatabase System Concepts
Chapter 13: Query Processing s Departamento de Engenharia Informática Instituto Superior Técnico 1 st Semester 2008/2009 Slides (fortemente) baseados nos slides oficiais do livro c Silberschatz, Korth
More informationParsing II Top-down parsing. Comp 412
COMP 412 FALL 2018 Parsing II Top-down parsing Comp 412 source code IR Front End Optimizer Back End IR target code Copyright 2018, Keith D. Cooper & Linda Torczon, all rights reserved. Students enrolled
More informationAn Algebraic Approach to XQuery View Maintenance
Translation An Algebraic Approach to XQuery View Maintenance J. Nathan Foster (Penn) Ravi Konuru (IBM) Jérôme Siméon (IBM) Lionel Villard (IBM) Source Source Query View View PLAN-X 08 Quick! 1 + 2 + +
More informationOverview of a Compiler
Overview of a Compiler Copyright 2015, Pedro C. Diniz, all rights reserved. Students enrolled in the Compilers class at the University of Southern California have explicit permission to make copies of
More informationWhat do Compilers Produce?
What do Compilers Produce? Pure Machine Code Compilers may generate code for a particular machine, not assuming any operating system or library routines. This is pure code because it includes nothing beyond
More informationRed Fox: An Execution Environment for Relational Query Processing on GPUs
Red Fox: An Execution Environment for Relational Query Processing on GPUs Haicheng Wu 1, Gregory Diamos 2, Tim Sheard 3, Molham Aref 4, Sean Baxter 2, Michael Garland 2, Sudhakar Yalamanchili 1 1. Georgia
More informationC++ Semantic Interface:
C++ Semantic Interface: Idea, Architecture, Implementation Eugene Zouev Bergen Language Design Laboratory Bergen University May 19, 2010 Outline The idea Related projects Semantic representation Advanced
More informationLecture 10. Dynamic Analysis
Lecture 10. Dynamic Analysis Wei Le Thank Xiangyu Zhang, Michael Ernst, Tom Ball for Some of the Slides Iowa State University 2014.11 Outline What is dynamic analysis? Instrumentation Analysis Representing
More informationGoals of Program Optimization (1 of 2)
Goals of Program Optimization (1 of 2) Goal: Improve program performance within some constraints Ask Three Key Questions for Every Optimization 1. Is it legal? 2. Is it profitable? 3. Is it compile-time
More informationData Modeling and Databases Ch 10: Query Processing - Algorithms. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich
Data Modeling and Databases Ch 10: Query Processing - Algorithms Gustavo Alonso Systems Group Department of Computer Science ETH Zürich Transactions (Locking, Logging) Metadata Mgmt (Schema, Stats) Application
More informationThe Challenges of X86 Hardware Virtualization. GCC- Virtualization: Rajeev Wankar 36
The Challenges of X86 Hardware Virtualization GCC- Virtualization: Rajeev Wankar 36 The Challenges of X86 Hardware Virtualization X86 operating systems are designed to run directly on the bare-metal hardware,
More informationCS415 Compilers. Intermediate Represeation & Code Generation
CS415 Compilers Intermediate Represeation & Code Generation These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University Review - Types of Intermediate Representations
More informationCSE 501: Compiler Construction. Course outline. Goals for language implementation. Why study compilers? Models of compilation
CSE 501: Compiler Construction Course outline Main focus: program analysis and transformation how to represent programs? how to analyze programs? what to analyze? how to transform programs? what transformations
More informationCS415 Compilers Overview of the Course. These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University
CS415 Compilers Overview of the Course These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University Critical Facts Welcome to CS415 Compilers Topics in the
More informationPerformance Optimization for Informatica Data Services ( Hotfix 3)
Performance Optimization for Informatica Data Services (9.5.0-9.6.1 Hotfix 3) 1993-2015 Informatica Corporation. No part of this document may be reproduced or transmitted in any form, by any means (electronic,
More informationCS 132 Compiler Construction
CS 132 Compiler Construction 1. Introduction 2 2. Lexical analysis 31 3. LL parsing 58 4. LR parsing 110 5. JavaCC and JTB 127 6. Semantic analysis 150 7. Translation and simplification 165 8. Liveness
More informationExtending XQuery with Window Functions
Extending XQuery with Window Functions Irina Botan, Peter M. Fischer, Dana Florescu*, Donald Kossmann, Tim Kraska, Rokas Tamosevicius ETH Zurich, Oracle* Elevator Pitch Version of this Talk XQuery can
More informationCore Schema Mappings: Computing Core Solution with Target Dependencies in Data Exchange
Core Schema Mappings: Computing Core Solution with Target Dependencies in Data Exchange S. Ravichandra, and D.V.L.N. Somayajulu Abstract Schema mapping is a declarative specification of the relationship
More informationAccessing Arbitrary Hierarchical Data
D.G.Muir February 2010 Accessing Arbitrary Hierarchical Data Accessing experimental data is relatively straightforward when data are regular and can be modelled using fixed size arrays of an atomic data
More informationQuery Processing. Debapriyo Majumdar Indian Sta4s4cal Ins4tute Kolkata DBMS PGDBA 2016
Query Processing Debapriyo Majumdar Indian Sta4s4cal Ins4tute Kolkata DBMS PGDBA 2016 Slides re-used with some modification from www.db-book.com Reference: Database System Concepts, 6 th Ed. By Silberschatz,
More informationThe Architecture of the RAQUEL DBMS
The Architecture of the RAQUEL DBMS David Livingstone The Third Manifesto Implementers Workshop 2 nd 3 rd June 2011 Introduction Background Design Aim Overview Driver Interface (between App. & DBMS) RAQUEL
More informationSeparating Access Control Policy, Enforcement, and Functionality in Extensible Systems. Robert Grimm University of Washington
Separating Access Control Policy, Enforcement, and Functionality in Extensible Systems Robert Grimm University of Washington Extensions Added to running system Interact through low-latency interfaces Form
More informationIntroduction to Compilers
Introduction to Compilers Compilers are language translators input: program in one language output: equivalent program in another language Introduction to Compilers Two types Compilers offline Data Program
More informationChapter 12: Query Processing. Chapter 12: Query Processing
Chapter 12: Query Processing Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 12: Query Processing Overview Measures of Query Cost Selection Operation Sorting Join
More informationOverview of a Compiler
High-level View of a Compiler Overview of a Compiler Compiler Copyright 2010, Pedro C. Diniz, all rights reserved. Students enrolled in the Compilers class at the University of Southern California have
More informationWenchao Zhou *, Micah Sherr *, Tao Tao *, Xiaozhou Li *, Boon Thau Loo *, and Yun Mao +
Wenchao Zhou *, Micah Sherr *, Tao Tao *, Xiaozhou Li *, Boon Thau Loo *, and Yun Mao + * University of Pennsylvania + AT&T Labs Research Introduction Developing correct large-scale distributed systems
More informationHyPer-sonic Combined Transaction AND Query Processing
HyPer-sonic Combined Transaction AND Query Processing Thomas Neumann Technische Universität München December 2, 2011 Motivation There are different scenarios for database usage: OLTP: Online Transaction
More informationLanguage Support for Stream. Processing. Robert Soulé
Language Support for Stream Processing Robert Soulé Introduction Proposal Work Plan Outline Formalism Translators & Abstractions Optimizations Related Work Conclusion 2 Introduction Stream processing is
More informationIntermediate representation
Intermediate representation Goals: encode knowledge about the program facilitate analysis facilitate retargeting facilitate optimization scanning parsing HIR semantic analysis HIR intermediate code gen.
More information2779 : Implementing a Microsoft SQL Server 2005 Database
2779 : Implementing a Microsoft SQL Server 2005 Database Introduction Elements of this syllabus are subject to change. This five-day instructor-led course provides students with the knowledge and skills
More informationXML publishing. Querying and storing XML. From relations to XML Views. From relations to XML Views
Querying and storing XML Week 5 Publishing relational data as XML XML publishing XML DB Exporting and importing XML data shared over Web Key problem: defining relational-xml views specifying mappings from
More informationMaanavaN.Com DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING QUESTION BANK
CS1301 DATABASE MANAGEMENT SYSTEM DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING QUESTION BANK Sub code / Subject: CS1301 / DBMS Year/Sem : III / V UNIT I INTRODUCTION AND CONCEPTUAL MODELLING 1. Define
More informationIntroduction to NoSQL Databases
Introduction to NoSQL Databases Roman Kern KTI, TU Graz 2017-10-16 Roman Kern (KTI, TU Graz) Dbase2 2017-10-16 1 / 31 Introduction Intro Why NoSQL? Roman Kern (KTI, TU Graz) Dbase2 2017-10-16 2 / 31 Introduction
More informationQuery Processing SL03
Distributed Database Systems Fall 2016 Query Processing Overview Query Processing SL03 Distributed Query Processing Steps Query Decomposition Data Localization Query Processing Overview/1 Query processing:
More informationCompleting Queries: Rewriting of Incomplete Web Queries under Schema Constraints
Completing Queries: Rewriting of Incomplete Web Queries under Schema Constraints Sacha Berger, François Bry, Tim Furche, and Andreas J. Häusler Institute for Informatics, University of Munich, Oettingenstraße
More informationWeek 4. COMP62342 Sean Bechhofer, Uli Sattler
Week 4 COMP62342 Sean Bechhofer, Uli Sattler sean.bechhofer@manchester.ac.uk, uli.sattler@manchester.ac.uk Today Some clarifications from last week s coursework More on reasoning: extension of the tableau
More informationXGA XML Grammar for JAVA
XGA XML Grammar for JAVA Reinhard CERNY Student at the Technical University of Vienna e0025952@student.tuwien.ac.at Abstract. Today s XML editors provide basic functionality such as creating, editing and
More informationMore On Syntax Directed Translation
More On Syntax Directed Translation 1 Types of Attributes We have productions of the form: A X 1 X 2 X 3... X n with semantic rules of the form: b:= f(c 1, c 2, c 3,..., c n ) where b and the c s are attributes
More informationCS511 Design of Database Management Systems
Announcements CS511 Design of Database Management Systems HW incremental release starting last Sun. Class will reschedule next week: time: Wednesday Tuesday 5pm, place: 1310 DCL Lecture 05: Object Relational
More informationSemantic Modularization Techniques in Practice: A TAPL case study
1 Semantic Modularization Techniques in Practice: A TAPL case study Bruno C. d. S. Oliveira Joint work with Weixin Zhang, Haoyuan Zhang and Huang Li July 17, 2017 Text 2 EVF: An Extensible and Expressive
More informationFoundations of SPARQL Query Optimization
Foundations of SPARQL Query Optimization Michael Schmidt, Michael Meier, Georg Lausen Albert-Ludwigs-Universität Freiburg Database and Information Systems Group 13 th International Conference on Database
More informationCISQ Weakness Descriptions
CISQ Weakness Descriptions This document presents descriptions of the 86 weaknesses contained in the 4 CISQ Quality Characteristic measures. These descriptions have been simplified from their description
More informationAnatomy of a Compiler. Overview of Semantic Analysis. The Compiler So Far. Why a Separate Semantic Analysis?
Anatomy of a Compiler Program (character stream) Lexical Analyzer (Scanner) Syntax Analyzer (Parser) Semantic Analysis Parse Tree Intermediate Code Generator Intermediate Code Optimizer Code Generator
More informationCS 406/534 Compiler Construction Putting It All Together
CS 406/534 Compiler Construction Putting It All Together Prof. Li Xu Dept. of Computer Science UMass Lowell Fall 2004 Part of the course lecture notes are based on Prof. Keith Cooper, Prof. Ken Kennedy
More information