A Framework for Storage Management Evaluation in Persistent Object Systems

Size: px
Start display at page:

Download "A Framework for Storage Management Evaluation in Persistent Object Systems"

Transcription

1 A Framework for Storage Management Evaluation in Persistent Object Systems Thorna O. Humphries Alexander L. Wolf Benjamin G. Zorn University of Colorado University of Colorado University of Colorado Abstract With the advent of object oriented database management systems, the need to evaluate and improve the performance of these systems has led to research in the area of system benchmarking. One traditional approach has been to implement an application using a particular database management system and incorporate methods in the application to perform analysis and experimentation on functions of the system, such as storage management. In this paper, we present another approach to performance evaluation. We describe PTFF, a common trace file format, and Tragedy, a trace generation tool. The advantages of our approach include: Applications can be modeled independent of any database management language or system. The instrumentation necessary to perform experimentation and analysis of storage management is transparent to the application layer. The trace event files only have to be generated once and can be used for several experiments. The development of applications for system benchmarking can be reduced through the reuse of classes provided as libraries. The experiences of the POSSE group with our previous approaches are also discussed as well as our newest approach. 1. Introduction In the area of object database management system (ODBMS) development, there is a need to have benchmarks for assessment of their performance. The POSSE (Persistent Object SyStem Evaluation) project seeks to design, implement, and evaluate alternative implementation methods for persistent object systems 1. For the past three years, our work is specifically focused on the problem of storage management in such systems [CWZ 94, CKWZ 96, CWZ 98]. In our efforts to develop new policies for storage management, we have developed a trace file format, PTFF [KWZ 96], and hand instrumented an implementation of the OO7 benchmark [CDN 93] with methods to record its structure and behavior using that format. To evaluate or improve performance of a system, its behavior must be captured in a meaningful manner. Conceptually, the process of benchmarking consists of three elements: the behavior of an application, a representation of the behavior, and the 1 For more information about the POSSE project, visit our WWW page at: 1

2 analysis with respect to some aspect of the performance of the object database system. Figure 1 shows the elements of the benchmark process and examples of these elements. In order to capture the behavior of an application, the application must be instrumented so that the relevant events can be recorded. For example, in the case of storage management, the creation of objects, the deletion of objects, and the creation of edges from a given object are typical events that must be recorded to obtain a representation of the structure of the database and the behavior of the database application. In this paper, we will discuss our experiences with the development of traces using the OO7 benchmark and the Exodus storage manager for storage management analysis. The lessons learned from this endeavor have led us to examine other approaches to instrumentation of object database applications for system benchmarking. The main focus of this paper is to describe one alternative approach that uses Tragedy (TRAce GEneration for Database systems) [HWZ 97] and the POSSE trace file format (PTFF) [KWZ 96] to capture the structure and application behavior of object database applications. Process Elements Examples Applications + Instrumentation OO7 Tragedy Trace File PTFF file Analysis Tools ODBsim, Visualization, Statistics (SPSS, S+) Figure 1. Elements of System Benchmarking PTFF is the specification of a set of events that characterize the operations on object databases and persistent stores. It provides a means of capturing the structure and the behavior of an object database in a system and machine independent way. PTFF files can be used for a variety of investigations, including simulation studies, application visualizations, debugging, and statistical summaries of application behavior. We 2

3 generated traces in PTFF format in our hand instrumented E/Exodus implementation of the OO7 benchmark. Tragedy is a tool that consists of a TCL interface and a collection of classes to allow the transparent instrumentation of a database application. The TCL interface provides a interactive mechanism for setting up the activities of the benchmark, such as database creation, the execution of traversals and the execution of queries. The collection of classes of this tool provides a mechanism for instrumenting the operations of a database application. With Tragedy, we are able to model object database applications with no database management language or system support, with transparent support for generating our trace files, and with high-level support for constructing complex application behaviors. The remainder of this position paper is organized as follows. In the next section, we discuss our previous experiences with the instrumentation of the OO7 benchmark. We also discuss related work. A discussion of PTFF is presented in Section 3. Section 4 presents Tragedy. We conclude in Section 5 with a discussion of the status of our work and plans for future work. 2. Background The POSSE group is interested in developing and evaluating high performance algorithms for storage management in object database systems. Our research has concentrated on partition-based algorithms, and our previous results include new methods for partition selection [CWZ 94] and methods for controlling garbage collection rates [CKWZ 96]. Our approach to performance evaluation has evolved in the last several years, and the interfaces and formats described in this paper are the result of our experiences. Our initial approach to performance evaluation involved simultaneously developing a simulation system and synthetic database application. The application, ABT (Augmented Binary Tree), was a parameterized synthetic benchmark that interacted via procedure calls directly with our ODBMS simulation system (ODBsim). This monolithic approach had weaknesses, including the fact that changing the application meant rewriting code, and understanding the system was difficult. Because we wanted to relate our performance results to more realistic database applications and previous work in ODBMS storage management, we chose to use OO7 as a benchmark, which meant we had to restructure our simulation system. Our secondgeneration approach followed the process illustrated on the left-hand side of Figure 2. In particular, the original OO7 benchmark was hand-instrumented to produce an instrumented version of the application, and this version was run in the context of the Exodus storage manager to produce a trace file. We also modified our simulation system, ODBsim, to read the specified trace format. 3

4 Application Application Spec. Tragedy Lib. Schema Instrument By Hand Instrument Using Tragedy Instrumented Application Instrumented Application DBMS EXECUTE EXECUTE Trace File Analyzer Perf. Results Figure 2. Two Approaches to Instrumentation and Evaluation of an ODBMS 4

5 While the second generation was an improvement over our first generation technology, there were still problems. In particular, instrumenting the OO7 application required modifying the original code to add trace-gathering instrumentation, and instrumenting OO7 gave us no additional leverage when we wanted to instrument a new ODBMS application. Furthermore, the OO7 implementation we were using was developed on a MIPS-based Decstation, and in the subsequent years, our local MIPS machines were replaced by DEC Alphas, rendering the earlier instrumentation unusable. The result of this previous experience is the combination of Tragedy and PTFF, as illustrated on the right-hand side of Figure 2. In this case, the structure of the application database is modeled using predefined Tragedy library classes representing objects and edges, and the behavior of the database application is specified using a combination of high-level phase and traversal specifications in TCL, and a lower-level implementation specified in C++. These components are integrated with the Tragedy library, and an instrumented version of the database application results. 2.1 Related Work Researchers in the area of memory storage management have effectively used the tracedriven approach to instrument systems for performance evaluation. This approach has been used in the studies of malloc algorithms such as in [DDZ 94, KV 85]. In order to capture various types of information about the behavior of a program or system, several trace formats have been developed. In the area of database systems, the MaStA I/O trace format [SCM+ 95] was developed to capture information necessary for performance evaluation of I/O costs. The trace events of MaStA record information on reading, writing, and synchronization operations that are performed on a database. Recently, a trace-driven approach has been taken to develop a prototype program visualization system, PV [ KRR 94], at IBM Research. The trace format of the PV system records the event type identifier, a timestamp, and some event-specific data for each of its supported events. Some of the events of this system include a page fault, allocation of a region of memory, and receipt of a message. 3. POSSE Trace File Format (PTFF) The goals of our work on a common trace file format include the following: To develop a trace format that can be used to study and evaluate performance issues such as storage management, well as other analysis activities. To develop a system independent representation of object database application behavior. To support comparative experimentation of ODBMS implementations by promoting the creation of a collection of representative object database application behaviors in a common file format. 5

6 The POSSE trace file format consists of a collection of events that capture the structure and application behavior of a database system. The structure of an object database is captured through the object creation, the edge creation, and the data writing events. Its application behavior is captured through the edge reading, the data writing, and the data reading events. Examples of the events that are represented in PTFF are shown in Figure 3. PTFF trace files can be used as input to a variety of analysis tools. An example of an analysis tool using PTFF files is ODBsim [CWZ 93], a simulator that the POSSE group uses to experiment with different object database storage management policies. Trace Begin Co Dw Dw Ew Dr Sr 10 // object creation with 11 edges // write data at offset 0 of the object for a length of 4 bytes // write data at offset 4 of the object for a length of 4 bytes // write edge number 0 and connect it to the null object // read data at offset 0 of the object for a length of 4 bytes // make the object a persistent root Figure 3. Examples of Trace File Events represented with PTFF 4. Tragedy Trace Generation Tool 4.1 Overview of Tragedy The trace generation tool was conceived in an attempt to synthetically generate a collection of object databases that are representative of real databases and their applications. It consists of two components, a TCL interface and a collection of library classes to model and instrument object database applications. The results of executions are stored in PTFF files. The goals of Tragedy are as follows: To provide a flexible, high-level toolkit for the construction of diverse and complex object database application behaviors. To allow transparent instrumentation of application behavior and generation of a common trace file format (PTFF). To synthetically generate a collection of object database systems. To generate event traces that reflect an application s behavior. The TCL interface is provided to aid the user in developing the activities of the benchmark. The database application is viewed as consisting of phases, which may consist of one or more of the following activities: a database creation activity, a database re-organization activity, and an activity in which the data is manipulated through traversals, queries, and updates. Each phase is supported by the TCL interface through the Tragedy application and user-defined TCL commands. 6

7 Tragedy consists of a collection of classes, some of which are used to model the objects of the database system. These classes are GraphNode and Edges. The class GraphNode is used as a base type for the objects of the database system. The class Edges is used to model references contained in these objects. Through the classes provided by Tragedy, trace events are automatically generated as operations are applied to the objects of the database system. These trace events are then recorded in a file using PTFF. 4.2 Modeling a Database Application In order to use Tragedy, the schema and the application specification of a database system must first be converted into objects that are implemented as C++ classes. These objects become subtypes of the GraphNode object. They are modeled as graph nodes with directed edges. In Figure 4, the data structure for the object CompositePart, which has been extracted from the C++ version of the OO7 benchmark [CDN 93], is modeled using the objects, GraphNode and Edges. The object CompositePart is created as a subtype of the object GraphNode. Also, the pointer values of the CompositePart class definition become edges when they are represented by the data structures of Tragedy. The methods of the database application that implement queries and updates are modeled as traversal and operation objects. The application interface provides three predefined traversal objects. These traversal objects implement a depth-first traversal with pre-node processing, a depth-first traversal with post-node processing, and a breadth-first traversal. These traversal objects are implemented so that the operation performed at each object is generic. Operations can perform a variety of tasks, such as updating an object, referencing the data information of an object, or updating the structure of the database by adding or deleting an object, and are determined by the database application. Some of the methods are then mapped into TCL commands. The TCL interface of Tragedy provides commands to create the database and build the pre-defined traversals. User-defined commands that invoke methods that define operations on the objects of the database can be added to the TCL application layer. 5. Conclusion Tragedy provides a framework for developing event traces that capture the structure as well as the behavior of synthetically generated applications. We feel that instrumentation of an application on top of a database management system limits the generation of a trace file to the particular platform that supports the database management system or object storage system. We also found that the process of instrumentation that requires a translation of the database schema to a particular database language can be a very time consuming endeavor and cannot be altered quickly to gather other information about the application. 7

8 Schema for DesignObj and CompositePart Class DesignObj{ Int4 Char Int4 }; id; type[10]; builddate; class CompositePart: DesignObj { Document* Bag(BaseAssembly*) Bag(BaseAssembly*) Set(AtomicPart*) AtomicPart* } with extent (id indexed); documentation; usedinpriv; usedinshar; parts; rootpart; Composite Part GraphNode DesignObj Trace Data Object Pointer OutEdges Id Type builddate Edges Documentation UsedInPriv UsedInShar Parts RootPart Figure 4. Representation for object CompositePart in OO7 Benchmark 5.1 Status Tragedy is implemented in C++. The tool provides an interface for recording trace events. It also provides a TCL front-end that allows a user to specify various parameters that are needed to generate the database and then to specify traversals and queries to be performed on the objects of the data base system. The trace generation tool has been tested using a few synthetic single user workloads. The traces have then been submitted to our in-house simulator to be processed. The tool has also been used to model the inmemory version of the OO7 benchmark. We are currently in the process of comparing 8

9 the trace files generated with Tragedy to those generated through instrumentation of the OO7 benchmark using Exodus. At the time of this writing, we have not concluded our evaluation. 5.2 Future Work The trace generation tool is currently set up to generate workloads based on a single user. Although the single user workload provides useful information for some forms of analysis, it is not completely representative of workloads of real database systems. In order to create a more realistic modeling tool, one of the enhancements that will be made to the tool is to incorporate transaction processing and locking support to allow for concurrent access. We would also like to model a portion of a real object oriented database application to determine the ease of modeling such an application using the trace generation tool. In addition to the above enhancements, we would like to expand our trace file format by adding additional events to handle dynamic edges and dynamic data. Furthermore, we are looking at using the trace file produced by Tragedy to visualize the time varying behavior of the database structure. Acknowledgments This work was supported in part by the National Science Foundation under grant IRI References [CDN 93] Michael J. Carey, David J. DeWitt, and Jeffrey F. Naugton. The OO7 Benchmark. In Proceedings of the ACM SIGMOD International Conference on the Management of Data, pages 12 21, Washington, DC, June [CWZ 93] Jonathan E. Cook, Alexander L. Wolf, and Benjamin G. Zorn. The design of a simulation system for persistent object storage management. Technical Report CU-CS , Department of Computer Science, University of Colorado, Boulder, CO, March [CWZ 94] Jonathan E. Cook, Alexander L. Wolf, and Benjamin G. Zorn. Partition selection policies in object database garbage collection. In Proceedings of the ACM SIGMOD International Conference on the Management of Data, pages , Minneapolis, MN, March [CWZ 98] Jonathan E. Cook, Alexander L. Wolf, and Benjamin G. Zorn. A highly effective partition selection policy for object database garbage collection. To appear in IEEE Transactions on Knowledge and Data Engineering. [CKWZ 96] Jonathan E. Cook, Artur W. Klauser, Alexander L. Wolf, and Benjamin G. Zorn. Semiautomatic, self-adaptive control of garbage collection rates in object databases. In Proceedings of the ACM SIGMOD International Conference on the Management of Data, pages , Montreal, Canada, June

10 [DDZ 94] David Detlefs, Al Dosser, and Benjamin Zorn, Memory Allocation Costs in Large C and C++ Programs, Software-Practice and Experience, pages , June [HWZ 97] Thorna O. Humphries, Alexander L. Wolf, Benjamin G. Zorn. Tragedy, Trace Generation Tool Design Specification. Department of Computer Science, University of Colorado, Boulder, CO. (in preparation) [KRR 94] Doug Kimelman, Bryan Rosenburg, and Tova Roth. Strata- Various: Multi-layer visualization of dynamics in software system behavior.[ On-Line] Available URL: [KWZ 96] Artur G. Klauser, Alexander L. Wolf, and Benjamin G. Zorn. POSSE Trace File Format Version 0.9 Draft. Department of Computer Science, University of Colorado, Boulder, CO, June [KV 85] David G. Korn and Kiem-Phong Vo, In Search of a Better Malloc, Proceedings of the Summer 1985 USENIX Conference, pages , [SCM+ 95] S.J.G. Scheuer, R.C.H. Connor, R. Morrison, J.E.B. Moss and D.S. Munro. The MaSta I/O trace format. School of Mathematical and Computational Sciences, University of St. Andrews, North Haugh, St Andrews, Fife, Scotland. Technical Report CS/95/4,

Bytecode Instrumentation as an Aid in Understanding the Behavior of Java Persistent Stores 1

Bytecode Instrumentation as an Aid in Understanding the Behavior of Java Persistent Stores 1 Bytecode Instrumentation as an Aid in Understanding the Behavior of Java Persistent Stores 1 Han Bok Lee and Benjamin G Zorn Department of Computer Science University of Colorado, Boulder 80309 ABSTRACT

More information

A Highly Effective Partition Selection Policy for Object Database Garbage Collection

A Highly Effective Partition Selection Policy for Object Database Garbage Collection IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 10, NO. 1, JANUARY/FEBRUARY 1998 153 A Highly Effective Partition Selection Policy for Object Database Garbage Collection Jonathan E. Cook, Member,

More information

Designing a Trace Format for Heap Allocation Events

Designing a Trace Format for Heap Allocation Events Designing a Trace Format for Heap Allocation Events Trishul Chilimbi Microsoft Research One Microsoft Way Redmond, WA, 98052 USA trishulc@microsoft.com Richard Jones Computing Laboratory University of

More information

Memory Allocation Costs. in Large C and C++ Programs. David Detlefs and Al Dosser. Systems Research Center. Digital Equipment Corporation

Memory Allocation Costs. in Large C and C++ Programs. David Detlefs and Al Dosser. Systems Research Center. Digital Equipment Corporation Memory Allocation Costs in Large C and C++ Programs David Detlefs and Al Dosser Systems Research Center Digital Equipment Corporation 130 Lytton Avenue Palo Alto, CA 94301 Benjamin Zorn Department of Computer

More information

QuickStore: A High Performance Mapped Object Store

QuickStore: A High Performance Mapped Object Store QuickStore: A High Performance Mapped Object Store Seth J. White David J. DeWitt Computer Sciences Department Computer Sciences Department University of Wisconsin University of Wisconsin Madison, WI 53706

More information

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 9 Database Design

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 9 Database Design Database Systems: Design, Implementation, and Management Tenth Edition Chapter 9 Database Design Objectives In this chapter, you will learn: That successful database design must reflect the information

More information

Comparing the performance of object and object relational database systems on objects of varying complexity

Comparing the performance of object and object relational database systems on objects of varying complexity Comparing the performance of object and object relational database systems on objects of varying complexity Kalantari, R and Bryant, CH http://dx.doi.org/10.1007/978 3 642 25704 9_8 Title Authors Type

More information

QUERY PROCESSING IN A RELATIONAL DATABASE MANAGEMENT SYSTEM

QUERY PROCESSING IN A RELATIONAL DATABASE MANAGEMENT SYSTEM QUERY PROCESSING IN A RELATIONAL DATABASE MANAGEMENT SYSTEM GAWANDE BALAJI RAMRAO Research Scholar, Dept. of Computer Science CMJ University, Shillong, Meghalaya ABSTRACT Database management systems will

More information

Low Overhead Concurrency Control for Partitioned Main Memory Databases

Low Overhead Concurrency Control for Partitioned Main Memory Databases Low Overhead Concurrency Control for Partitioned Main Memory Databases Evan Jones, Daniel Abadi, Samuel Madden, June 2010, SIGMOD CS 848 May, 2016 Michael Abebe Background Motivations Database partitioning

More information

ODMG 2.0: A Standard for Object Storage

ODMG 2.0: A Standard for Object Storage Page 1 of 5 ODMG 2.0: A Standard for Object Storage ODMG 2.0 builds on database, object and programming language standards to give developers portability and ease of use by Doug Barry Component Strategies

More information

Implementation of Relational Operations in Omega Parallel Database System *

Implementation of Relational Operations in Omega Parallel Database System * Implementation of Relational Operations in Omega Parallel Database System * Abstract The paper describes the implementation of relational operations in the prototype of the Omega parallel database system

More information

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer DBMS

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer DBMS About the Tutorial Database Management System or DBMS in short refers to the technology of storing and retrieving users data with utmost efficiency along with appropriate security measures. DBMS allows

More information

Glossary. abort. application schema

Glossary. abort. application schema Glossary abort An abnormal termination of a transaction. When a transaction aborts, its changes to the database are erased, and the database is effectively restored to its state as of the moment the transaction

More information

This paper should be referenced as:

This paper should be referenced as: This paper should be referenced as: Farkas, A.M., Dearle, A., Kirby, G.N.C., Cutts, Q.I., Morrison, R. & Connor, R.C.H. Persistent Program Construction through Browsing and User Gesture with some Typing.

More information

Virtual Memory Primitives for User Programs

Virtual Memory Primitives for User Programs Virtual Memory Primitives for User Programs Andrew W. Appel & Kai Li Department of Computer Science Princeton University Presented By: Anirban Sinha (aka Ani), anirbans@cs.ubc.ca 1 About the Authors Andrew

More information

ODBMS: PROTOTYPES & PRODUCTS. The ODBMS Manifesto [M.Atkinson & al 89]

ODBMS: PROTOTYPES & PRODUCTS. The ODBMS Manifesto [M.Atkinson & al 89] ODBMS: PROTOTYPES & PRODUCTS Systems providing object databases programming languages Prototypes: Encore-Ob/Server (Brown Univ.), IRIS (Hewlett- Packard), EXODUS (Winsconsin Univ.), Zeitgeist (Texas Instrument),

More information

CS Programming In C

CS Programming In C CS 24000 - Programming In C Week 16: Review Zhiyuan Li Department of Computer Science Purdue University, USA This has been quite a journey Congratulation to all students who have worked hard in honest

More information

Architectural Blueprint

Architectural Blueprint IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint

More information

Request for Comments: 304 NIC: 9077 February 17, 1972 Categories: D3, D4, D7 Obsoletes: none Updates: none

Request for Comments: 304 NIC: 9077 February 17, 1972 Categories: D3, D4, D7 Obsoletes: none Updates: none Network Working Group D. B. McKay Request for Comments: 304 IBM NIC: 9077 February 17, 1972 Categories: D3, D4, D7 Obsoletes: none Updates: none Introduction A Data Management System Proposal for the ARPA

More information

Transparent Access to Legacy Data in Java. Olivier Gruber. IBM Almaden Research Center. San Jose, CA Abstract

Transparent Access to Legacy Data in Java. Olivier Gruber. IBM Almaden Research Center. San Jose, CA Abstract Transparent Access to Legacy Data in Java Olivier Gruber IBM Almaden Research Center San Jose, CA 95120 Abstract We propose in this paper an extension to PJava in order to provide a transparent access

More information

Practical Database Design Methodology and Use of UML Diagrams Design & Analysis of Database Systems

Practical Database Design Methodology and Use of UML Diagrams Design & Analysis of Database Systems Practical Database Design Methodology and Use of UML Diagrams 406.426 Design & Analysis of Database Systems Jonghun Park jonghun@snu.ac.kr Dept. of Industrial Engineering Seoul National University chapter

More information

Database Fundamentals Chapter 1

Database Fundamentals Chapter 1 Database Fundamentals Chapter 1 Class 01: Database Fundamentals 1 What is a Database? The ISO/ANSI SQL Standard does not contain a definition of the term database. In fact, the term is never mentioned

More information

Integrity 10. Curriculum Guide

Integrity 10. Curriculum Guide Integrity 10 Curriculum Guide Live Classroom Curriculum Guide Integrity 10 Workflows and Documents Administration Training Integrity 10 SCM Administration Training Integrity 10 SCM Basic User Training

More information

EaSync: A Transparent File Synchronization Service across Multiple Machines

EaSync: A Transparent File Synchronization Service across Multiple Machines EaSync: A Transparent File Synchronization Service across Multiple Machines Huajian Mao 1,2, Hang Zhang 1,2, Xianqiang Bao 1,2, Nong Xiao 1,2, Weisong Shi 3, and Yutong Lu 1,2 1 State Key Laboratory of

More information

Operating Systems Projects Built on a Simple Hardware Simulator

Operating Systems Projects Built on a Simple Hardware Simulator Operating Systems Projects Built on a Simple Hardware Simulator John Dickinson Department of Computer Science University of Idaho Moscow, ID 83844-1010 johnd@cs.uidaho.edu Abstract Effective teaching of

More information

Project 5: Extensions to the MiniJava Compiler

Project 5: Extensions to the MiniJava Compiler Project 5: Extensions to the MiniJava Compiler Due: Friday, March 7, 12:30 pm. In this assignment you will make two required extensions to the target code generator. You will also make an extension to

More information

Software Visualization. Presented by Sam Davis

Software Visualization. Presented by Sam Davis Software Visualization Presented by Sam Davis 2 3 More than Just UML! UML is about static structure of software In terms of abstractions like Procedures Objects Files Packages But 4 Software is Dynamic!

More information

Survey on File System Tracing Techniques

Survey on File System Tracing Techniques CSE598D Storage Systems Survey on File System Tracing Techniques Byung Chul Tak Department of Computer Science and Engineering The Pennsylvania State University tak@cse.psu.edu 1. Introduction Measuring

More information

Object Placement in Shared Nothing Architecture Zhen He, Jeffrey Xu Yu and Stephen Blackburn Λ

Object Placement in Shared Nothing Architecture Zhen He, Jeffrey Xu Yu and Stephen Blackburn Λ 45 Object Placement in Shared Nothing Architecture Zhen He, Jeffrey Xu Yu and Stephen Blackburn Λ Department of Computer Science The Australian National University Canberra, ACT 2611 Email: fzhen.he, Jeffrey.X.Yu,

More information

Scalable GPU Graph Traversal!

Scalable GPU Graph Traversal! Scalable GPU Graph Traversal Duane Merrill, Michael Garland, and Andrew Grimshaw PPoPP '12 Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming Benwen Zhang

More information

SABLEJIT: A Retargetable Just-In-Time Compiler for a Portable Virtual Machine p. 1

SABLEJIT: A Retargetable Just-In-Time Compiler for a Portable Virtual Machine p. 1 SABLEJIT: A Retargetable Just-In-Time Compiler for a Portable Virtual Machine David Bélanger dbelan2@cs.mcgill.ca Sable Research Group McGill University Montreal, QC January 28, 2004 SABLEJIT: A Retargetable

More information

CS 241 Data Organization Binary Trees

CS 241 Data Organization Binary Trees CS 241 Data Organization Binary Trees Brooke Chenoweth University of New Mexico Fall 2017 Binary Tree: Kernighan and Ritchie 6.5 Read a file and count the occurrences of each word. now is the time for

More information

From Whence It Came: Detecting Source Code Clones by Analyzing Assembler

From Whence It Came: Detecting Source Code Clones by Analyzing Assembler From Whence It Came: Detecting Source Code Clones by Analyzing Assembler Ian J. Davis and Michael W. Godfrey David R. Cheriton School of Computer Science University of Waterloo Waterloo, Ontario, Canada

More information

eswt Requirements and High-Level Architecture Abstract Document Information Change History

eswt Requirements and High-Level Architecture Abstract Document Information Change History eswt Requirements and High-Level Architecture Abstract There is a need for a standardized UI API fit for embedded devices having fewer resources and smaller screen sizes than a desktop computer. The goal

More information

Chapter 1 SQL and Data

Chapter 1 SQL and Data Chapter 1 SQL and Data What is SQL? Structured Query Language An industry-standard language used to access & manipulate data stored in a relational database E. F. Codd, 1970 s IBM 2 What is Oracle? A relational

More information

Composability Test of BOM based models using Petri Nets

Composability Test of BOM based models using Petri Nets I. Mahmood, R. Ayani, V. Vlassov and F. Moradi 7 Composability Test of BOM based models using Petri Nets Imran Mahmood 1, Rassul Ayani 1, Vladimir Vlassov 1, and Farshad Moradi 2 1 Royal Institute of Technology

More information

THE MINIBASE SOFTWARE

THE MINIBASE SOFTWARE B THE MINIBASE SOFTWARE Practice is the best of all instructors. Publius Syrus, 42 B.C. Minibase is a small relational DBMS, together with a suite of visualization tools, that has been developed for use

More information

Synergetics-Standard-SQL Server 2012-DBA-7 day Contents

Synergetics-Standard-SQL Server 2012-DBA-7 day Contents Workshop Name Duration Objective Participants Entry Profile Training Methodology Setup Requirements Hardware and Software Requirements Training Lab Requirements Synergetics-Standard-SQL Server 2012-DBA-7

More information

Chapter 20: Binary Trees

Chapter 20: Binary Trees Chapter 20: Binary Trees 20.1 Definition and Application of Binary Trees Definition and Application of Binary Trees Binary tree: a nonlinear linked list in which each node may point to 0, 1, or two other

More information

Interaction of JVM with x86, Sparc and MIPS

Interaction of JVM with x86, Sparc and MIPS Interaction of JVM with x86, Sparc and MIPS Sasikanth Avancha, Dipanjan Chakraborty, Dhiral Gada, Tapan Kamdar {savanc1, dchakr1, dgada1, kamdar}@cs.umbc.edu Department of Computer Science and Electrical

More information

70-459: Transition Your MCITP: Database Administrator 2008 or MCITP: Database Developer 2008 to MCSE: Data Platform

70-459: Transition Your MCITP: Database Administrator 2008 or MCITP: Database Developer 2008 to MCSE: Data Platform 70-459: Transition Your MCITP: Database Administrator 2008 or MCITP: Database Developer 2008 to MCSE: Data Platform The following tables show where changes to exam 70-459 have been made to include updates

More information

CS317 File and Database Systems

CS317 File and Database Systems CS317 File and Database Systems Lecture 9 Intro to Physical DBMS Design October 22, 2017 Sam Siewert Reminders Assignment #4 Due Friday, Monday Late Assignment #3 Returned Assignment #5, B-Trees and Physical

More information

File Management. Marc s s first try, Please don t t sue me.

File Management. Marc s s first try, Please don t t sue me. File Management Marc s s first try, Please don t t sue me. Introduction Files Long-term existence Can be temporally decoupled from applications Sharable between processes Can be structured to the task

More information

The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data.

The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data. Managing Data Data storage tool must provide the following features: Data definition (data structuring) Data entry (to add new data) Data editing (to change existing data) Querying (a means of extracting

More information

Contents. Error Message Descriptions... 7

Contents. Error Message Descriptions... 7 2 Contents Error Message Descriptions.................................. 7 3 4 About This Manual This Unify DataServer: Error Messages manual lists the errors that can be produced by the Unify DataServer

More information

Horizontal Fragmentation in Object DBMS: New Issues and Performance Evaluation'

Horizontal Fragmentation in Object DBMS: New Issues and Performance Evaluation' Horizontal Fragmentation in Object DBMS: New Issues and Performance Evaluation' Fernanda BaiSio 293 Marta Mattoso Gerson Zaverucha 'v3 baiao @cos.ufrj.br marta @cos.ufrj.br gerson @cos.ufrj.br 2 Department

More information

Short Notes of CS201

Short Notes of CS201 #includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system

More information

Advances in Data Management Principles of Database Systems - 2 A.Poulovassilis

Advances in Data Management Principles of Database Systems - 2 A.Poulovassilis 1 Advances in Data Management Principles of Database Systems - 2 A.Poulovassilis 1 Storing data on disk The traditional storage hierarchy for DBMSs is: 1. main memory (primary storage) for data currently

More information

After Conversation - A Forensic ICQ Logfile Extraction Tool

After Conversation - A Forensic ICQ Logfile Extraction Tool Edith Cowan University Research Online ECU Publications Pre. 2011 2005 After Conversation - A Forensic ICQ Logfile Extraction Tool Kim Morfitt Edith Cowan University Craig Valli Edith Cowan University

More information

Chapter Five Physical Database Design

Chapter Five Physical Database Design Chapter Five Physical Database Design 1 Objectives Understand Purpose of physical database design Describe the physical database design process Choose storage formats for attributes Describe indexes and

More information

Chapter 8. Database Design. Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel

Chapter 8. Database Design. Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel Chapter 8 Database Design Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel 1 In this chapter, you will learn: That successful database design must reflect the information

More information

Characterizing Home Pages 1

Characterizing Home Pages 1 Characterizing Home Pages 1 Xubin He and Qing Yang Dept. of Electrical and Computer Engineering University of Rhode Island Kingston, RI 881, USA Abstract Home pages are very important for any successful

More information

Adding Type into a Commercial Object-Oriented Relational Database TOR

Adding  Type into a Commercial Object-Oriented Relational Database TOR Adding Email Type into a Commercial Object-Oriented Relational Database TOR Hongfei Guo : guo@cs.wisc.edu Wanli Yang: ywl@cs.wisc.ecu Abstract One of the key object-relational features added to relational

More information

An Overview of the BLITZ System

An Overview of the BLITZ System An Overview of the BLITZ System Harry H. Porter III Department of Computer Science Portland State University Introduction The BLITZ System is a collection of software designed to support a university-level

More information

CS201 - Introduction to Programming Glossary By

CS201 - Introduction to Programming Glossary By CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with

More information

CASE TOOLS LAB VIVA QUESTION

CASE TOOLS LAB VIVA QUESTION 1. Define Object Oriented Analysis? VIVA QUESTION Object Oriented Analysis (OOA) is a method of analysis that examines requirements from the perspective of the classes and objects found in the vocabulary

More information

Constructs in Oracle

Constructs in Oracle 11. Object-Relational Constructs in Oracle 11-1 Part 11: Object-Relational References: Constructs in Oracle Jeffrey D. Ullman: Object-Relational Features of Oracle [http://infolab.stanford.edu/ ullman/fcdb/oracle/or-objects.html]

More information

An Introduction to Databases and Database Management Systems.

An Introduction to Databases and Database Management Systems. An Introduction to Databases and Database Management Systems. Introduction An important aspect of most every business is record keeping. In our information society, this has become an important aspect

More information

data elements (Delsey, 2003) and by providing empirical data on the actual use of the elements in the entire OCLC WorldCat database.

data elements (Delsey, 2003) and by providing empirical data on the actual use of the elements in the entire OCLC WorldCat database. Shawne D. Miksa, William E. Moen, Gregory Snyder, Serhiy Polyakov, Amy Eklund Texas Center for Digital Knowledge, University of North Texas Denton, Texas, U.S.A. Metadata Assistance of the Functional Requirements

More information

CS140 Operating Systems Final December 12, 2007 OPEN BOOK, OPEN NOTES

CS140 Operating Systems Final December 12, 2007 OPEN BOOK, OPEN NOTES CS140 Operating Systems Final December 12, 2007 OPEN BOOK, OPEN NOTES Your name: SUNet ID: In accordance with both the letter and the spirit of the Stanford Honor Code, I did not cheat on this exam. Furthermore,

More information

Multi-version Data recovery for Cluster Identifier Forensics Filesystem with Identifier Integrity

Multi-version Data recovery for Cluster Identifier Forensics Filesystem with Identifier Integrity Multi-version Data recovery for Cluster Identifier Forensics Filesystem with Identifier Integrity Mohammed Alhussein, Duminda Wijesekera Department of Computer Science George Mason University Fairfax,

More information

CS162 - POINTERS. Lecture: Pointers and Dynamic Memory

CS162 - POINTERS. Lecture: Pointers and Dynamic Memory CS162 - POINTERS Lecture: Pointers and Dynamic Memory What are pointers Why dynamically allocate memory How to dynamically allocate memory What about deallocation? Walk thru pointer exercises 1 CS162 -

More information

Project #1 Exceptions and Simple System Calls

Project #1 Exceptions and Simple System Calls Project #1 Exceptions and Simple System Calls Introduction to Operating Systems Assigned: January 21, 2004 CSE421 Due: February 17, 2004 11:59:59 PM The first project is designed to further your understanding

More information

Appendix: How to get OBST / tclobst. References

Appendix: How to get OBST / tclobst. References development effort for applications and by opening the way to functionality already available as Tcl extensions, most notably Tk and related s. With tcl the full power of is provided for convenient and

More information

DATABASE TECHNOLOGY - 1DL124

DATABASE TECHNOLOGY - 1DL124 1 DATABASE TECHNOLOGY - 1DL124 Summer 2007 An introductury course on database systems http://user.it.uu.se/~udbl/dbt-sommar07/ alt. http://www.it.uu.se/edu/course/homepage/dbdesign/st07/ Kjell Orsborn

More information

IBM Informix Large Object Locator DataBlade Module User s Guide

IBM Informix Large Object Locator DataBlade Module User s Guide IBM Informix Large Object Locator DataBlade Module User s Guide Version 1.2A March 2003 Part No. CT1V1NA Note: Before using this information and the product it supports, read the information in the appendix

More information

File Management. Chapter 12

File Management. Chapter 12 File Management Chapter 12 Files Used for: input to a program Program output saved for long-term storage Terms Used with Files Field basic element of data contains a single value characterized by its length

More information

Design concepts for data-intensive applications

Design concepts for data-intensive applications 6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Design concepts for data-intensive applications Attila Adamkó Department of Information Technology, Institute of

More information

Reusability Metrics for Object-Oriented System: An Alternative Approach

Reusability Metrics for Object-Oriented System: An Alternative Approach Reusability Metrics for Object-Oriented System: An Alternative Approach Parul Gandhi Department of Computer Science & Business Administration Manav Rachna International University Faridabad, 121001, India

More information

A Tool for Introducing Persistent Programming

A Tool for Introducing Persistent Programming A Tool for Introducing Persistent Programming Lukito Nugroho Geoff Sutcliffe Department of Electrical Engineering Department of Computer Science Gadjah Mada University James Cook University Jl. Grafika

More information

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University Frequently asked questions from the previous class survey CS 370: OPERATING SYSTEMS [FILE SYSTEMS] Shrideep Pallickara Computer Science Colorado State University If you have a file with scattered blocks,

More information

SWEBOK. The Emerging Consensus on the Software Engineering Body of Knowledge. A. Abran, NSERC Ottawa, February 18, 2002

SWEBOK. The Emerging Consensus on the Software Engineering Body of Knowledge. A. Abran, NSERC Ottawa, February 18, 2002 SWEBOK The Emerging Consensus on the Software Engineering Body of Knowledge A. Abran, P. Bourque,, R. Dupuis, J. W. Moore, L. Tripp NSERC Ottawa, February 18, 2002 ÉTS 1 Corporate Support by: Project managed

More information

Using the Holey Brick Tree for Spatial Data. in General Purpose DBMSs. Northeastern University

Using the Holey Brick Tree for Spatial Data. in General Purpose DBMSs. Northeastern University Using the Holey Brick Tree for Spatial Data in General Purpose DBMSs Georgios Evangelidis Betty Salzberg College of Computer Science Northeastern University Boston, MA 02115-5096 1 Introduction There is

More information

ITCS Jing Yang 2010 Fall. Class 16: Object and Object- Relational Databases (ch.11) References

ITCS Jing Yang 2010 Fall. Class 16: Object and Object- Relational Databases (ch.11) References ITCS 3160 Jing Yang 2010 Fall Class 16: Object and Object- Relational Databases (ch.11) Slides come from: References Michael Grossniklaus, Moira Norrie (ETH Zürich): Object Oriented Databases (Version

More information

TRANSACTION-TIME INDEXING

TRANSACTION-TIME INDEXING TRANSACTION-TIME INDEXING Mirella M. Moro Universidade Federal do Rio Grande do Sul Porto Alegre, RS, Brazil http://www.inf.ufrgs.br/~mirella/ Vassilis J. Tsotras University of California, Riverside Riverside,

More information

Stylus Studio Case Study: FIXML Working with Complex Message Sets Defined Using XML Schema

Stylus Studio Case Study: FIXML Working with Complex Message Sets Defined Using XML Schema Stylus Studio Case Study: FIXML Working with Complex Message Sets Defined Using XML Schema Introduction The advanced XML Schema handling and presentation capabilities of Stylus Studio have valuable implications

More information

Improving Decision-Making Support

Improving Decision-Making Support Improving Decision-Making Support by Linking Database results to Simulations Gio Wiederhold Stanford University May 2014 Gio Wiederhold SimQL 1 Problem : Mismatch Database Technology should support Decision-Making

More information

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 9 OO modeling Design Patterns Structural Patterns Behavioural Patterns

More information

Teamcenter 11.1 Systems Engineering and Requirements Management

Teamcenter 11.1 Systems Engineering and Requirements Management SIEMENS Teamcenter 11.1 Systems Engineering and Requirements Management Systems Architect/ Requirements Management Project Administrator's Manual REQ00002 U REQ00002 U Project Administrator's Manual 3

More information

THE EFFECT OF JOIN SELECTIVITIES ON OPTIMAL NESTING ORDER

THE EFFECT OF JOIN SELECTIVITIES ON OPTIMAL NESTING ORDER THE EFFECT OF JOIN SELECTIVITIES ON OPTIMAL NESTING ORDER Akhil Kumar and Michael Stonebraker EECS Department University of California Berkeley, Ca., 94720 Abstract A heuristic query optimizer must choose

More information

Project 4: Implementing Malloc Introduction & Problem statement

Project 4: Implementing Malloc Introduction & Problem statement Project 4 (75 points) Assigned: February 14, 2014 Due: March 4, 2014, 11:59 PM CS-3013, Operating Systems C-Term 2014 Project 4: Implementing Malloc Introduction & Problem statement As C programmers, we

More information

Workload Characterization using the TAU Performance System

Workload Characterization using the TAU Performance System Workload Characterization using the TAU Performance System Sameer Shende, Allen D. Malony, and Alan Morris Performance Research Laboratory, Department of Computer and Information Science University of

More information

MPI: A Message-Passing Interface Standard

MPI: A Message-Passing Interface Standard MPI: A Message-Passing Interface Standard Version 2.1 Message Passing Interface Forum June 23, 2008 Contents Acknowledgments xvl1 1 Introduction to MPI 1 1.1 Overview and Goals 1 1.2 Background of MPI-1.0

More information

Total No. of Questions : 18] [Total No. of Pages : 02. M.Sc. DEGREE EXAMINATION, DEC First Year INFORMATION TECHNOLOGY.

Total No. of Questions : 18] [Total No. of Pages : 02. M.Sc. DEGREE EXAMINATION, DEC First Year INFORMATION TECHNOLOGY. (DMSIT01) Total No. of Questions : 18] [Total No. of Pages : 02 M.Sc. DEGREE EXAMINATION, DEC. 2016 First Year INFORMATION TECHNOLOGY Basics of IT Time : 3 Hours Maximum Marks : 70 Section - A (3 x 15

More information

From the Concrete to the Abstract: Visual Representations of Program Execution

From the Concrete to the Abstract: Visual Representations of Program Execution From the Concrete to the Abstract: Visual Representations of Program Execution Steven P. Reiss and Guy Eddon Department of Computer Science Brown University Providence, RI 02912-1910 401-863-7641, FAX:

More information

(Extended) Entity Relationship

(Extended) Entity Relationship 03 - Database Design, UML and (Extended) Entity Relationship Modeling CS530 Database Architecture Models and Design Prof. Ian HORROCKS Dr. Robert STEVENS In this Section Topics Covered Database Design

More information

Improving Data Cache Performance via Address Correlation: An Upper Bound Study

Improving Data Cache Performance via Address Correlation: An Upper Bound Study Improving Data Cache Performance via Address Correlation: An Upper Bound Study Peng-fei Chuang 1, Resit Sendag 2, and David J. Lilja 1 1 Department of Electrical and Computer Engineering Minnesota Supercomputing

More information

Data about data is database Select correct option: True False Partially True None of the Above

Data about data is database Select correct option: True False Partially True None of the Above Within a table, each primary key value. is a minimal super key is always the first field in each table must be numeric must be unique Foreign Key is A field in a table that matches a key field in another

More information

VFS Interceptor: Dynamically Tracing File System Operations in real. environments

VFS Interceptor: Dynamically Tracing File System Operations in real. environments VFS Interceptor: Dynamically Tracing File System Operations in real environments Yang Wang, Jiwu Shu, Wei Xue, Mao Xue Department of Computer Science and Technology, Tsinghua University iodine01@mails.tsinghua.edu.cn,

More information

FIT1004 Database Topic 2: Database Design Life Cycle

FIT1004 Database Topic 2: Database Design Life Cycle FIT1004 Database Topic 2: Database Design Life Cycle Learning Objectives: Describe the 3 level ANSI SPARC Database Architecture and the advantages which its inherent data abstraction provide to the database

More information

Chapter 12 Object and Object Relational Databases

Chapter 12 Object and Object Relational Databases Chapter 12 Object and Object Relational Databases - Relational Data Model - Object data model (OODBs) - Object-relational data models Traditional data models -network - hierarchical - relational They lack

More information

FILE SYSTEMS. CS124 Operating Systems Winter , Lecture 23

FILE SYSTEMS. CS124 Operating Systems Winter , Lecture 23 FILE SYSTEMS CS124 Operating Systems Winter 2015-2016, Lecture 23 2 Persistent Storage All programs require some form of persistent storage that lasts beyond the lifetime of an individual process Most

More information

DryadLINQ. by Yuan Yu et al., OSDI 08. Ilias Giechaskiel. January 28, Cambridge University, R212

DryadLINQ. by Yuan Yu et al., OSDI 08. Ilias Giechaskiel. January 28, Cambridge University, R212 DryadLINQ by Yuan Yu et al., OSDI 08 Ilias Giechaskiel Cambridge University, R212 ig305@cam.ac.uk January 28, 2014 Conclusions Takeaway Messages SQL cannot express iteration Unsuitable for machine learning,

More information

Changing Persistent Applications

Changing Persistent Applications Changing Persistent Applications Alex Farkas and Alan Dearle {alex,al}@cs.adelaide.edu.au Department of Computer Science, University of Adelaide Adelaide, Australia Abstract During the lifetime of an application,

More information

Cpt S 122 Data Structures. Course Review Midterm Exam # 1

Cpt S 122 Data Structures. Course Review Midterm Exam # 1 Cpt S 122 Data Structures Course Review Midterm Exam # 1 Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Midterm Exam 1 When: Friday (09/28) 12:10-1pm Where:

More information

Optimization of Queries in Distributed Database Management System

Optimization of Queries in Distributed Database Management System Optimization of Queries in Distributed Database Management System Bhagvant Institute of Technology, Muzaffarnagar Abstract The query optimizer is widely considered to be the most important component of

More information

SDD Advanced-User Manual Version 1.1

SDD Advanced-User Manual Version 1.1 SDD Advanced-User Manual Version 1.1 Arthur Choi and Adnan Darwiche Automated Reasoning Group Computer Science Department University of California, Los Angeles Email: sdd@cs.ucla.edu Download: http://reasoning.cs.ucla.edu/sdd

More information

ADAPTIVE AND DYNAMIC LOAD BALANCING METHODOLOGIES FOR DISTRIBUTED ENVIRONMENT

ADAPTIVE AND DYNAMIC LOAD BALANCING METHODOLOGIES FOR DISTRIBUTED ENVIRONMENT ADAPTIVE AND DYNAMIC LOAD BALANCING METHODOLOGIES FOR DISTRIBUTED ENVIRONMENT PhD Summary DOCTORATE OF PHILOSOPHY IN COMPUTER SCIENCE & ENGINEERING By Sandip Kumar Goyal (09-PhD-052) Under the Supervision

More information

Query optimization in object-oriented database systems : the REVELATION project

Query optimization in object-oriented database systems : the REVELATION project Oregon Health & Science University OHSU Digital Commons CSETech July 1988 Query optimization in object-oriented database systems : the REVELATION project Goetz Graefe David Maier Follow this and additional

More information

FlowBack: Providing Backward Recovery for Workflow Management Systems

FlowBack: Providing Backward Recovery for Workflow Management Systems FlowBack: Providing Backward Recovery for Workflow Management Systems Bartek Kiepuszewski, Ralf Muhlberger, Maria E. Orlowska Distributed Systems Technology Centre Distributed Databases Unit ABSTRACT The

More information