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

Size: px
Start display at page:

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

Transcription

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 ABSTRACT In this paper, we describe the use of BIT (Bytecode Instrumenting Tool) as an aid in understanding the behavior of persistent Java programs and evaluating the implementation of Java persistent stores BIT is a set of Java classes that allow a user to build customized tools to instrument Java Virtual Machine (JVM) bytecodes We built a customized tool using BIT to instrument Object Design Inc s Persistent Store Engine (PSE) for Java to generate behavior traces of important events in persistent store applications These traces, in turn, can be used to better understand the behavior of Java persistent stores and investigate alternative implementations 1 INTRODUCTION In recent years, Java has generated tremendous interest in the software community, and many academic researchers as well as commercial software developers have shown interest in using Java to access and implement database systems The POSSE (Persistent Object SyStem Evaluation) project at the University of Colorado seeks to design, implement, and evaluate alternative implementation methods for persistent object systems 2 In this paper, we describe a tool that provides executable editing capability on Java class files as an aid in understanding the behavior of persistent Java programs and evaluating the implementation of Java persistent stores It is often important for software developers and researchers to be able to measure and understand both the static structure and dynamic behavior of a program Such information is used to identify critical pieces of code; for debugging purposes; to evaluate 1 This work was supported in part by the National Science Foundation under grant IRI For more information about the POSSE project, visit our WWW page at:

2 and compare the performance of different software or hardware implementations such as branch prediction, cache replacement, and instruction scheduling; in support of profiledriven optimizations; and in generating instruction and data traces To measure and observe the dynamic behavior of Java programs, we built BIT (Lee 1997), which is a new set of Java library classes that allow the user to insert calls to analysis methods in Java Virtual Machine (JVM) bytecodes BIT works on JVM bytecodes and therefore requires no source code Because some existing Java persistent stores, such as Object Design Inc s Persistent Store Engine (PSE) for Java (Object Design Inc 1997), are available only in the form of class files, the ability of BIT to work on JVM bytecodes is an important advantage The Java programming language (Gosling et al 1996) offers new and exciting opportunities for adding long-term data management because of its popularity, objectoriented model, single-inheritance, automatic storage management, and absence of explicit pointer manipulation It should not come as a surprise, therefore, that there are already several projects that add persistence to the Java programming language such as JavaSPIN (Wileden et al 1996), PJava (Atkinson et al 1996), and PSE for Java Because the Java programming language is relatively new and the behavior of Java programs, including that of Java persistent stores, is not well understood and documented, we are using BIT to generate traces for important persistent store events These traces could then be used in comparing the behavior of Java persistent stores with persistent stores of other programming languages, in optimizing current implementations of Java persistence, and in understanding the behavior of Java programs that employ persistent stores 2 RELATED WORK There are many tools that employ instrumented program-based techniques to carry out different tasks These tasks range from emulation and tracing to optimization (Larus and Schnarr 1995) Tools in this category include QPT (Larus and Ball 1994), Pixie (Smith 1991), Epoxie (Wall 1992), MPTRACE (Eggers et al 1990), ATUM (Agarwal et al 1986), and PROTEUS (Brewer et al 1991) There are limitations to these tools, however, since they are designed for a specific task and are difficult if not impossible to modify to meet users changing needs It would be difficult, for example, 2

3 for a user to modify a customized tool to obtain more or less detailed information about a trace than what is already provided There is another group of tools, sometimes called binary editing or executable editing tools, which have different design goals and offer a library of routines for modifying executable files Using these meta-tools users can then design and build their own customized instrumentation tools to meet their needs The tools in this group include OM (Srivastava and Wall 1993), EEL (Larus and Schnarr 1995), ATOM (Srivastava and Eustace 1994), and Etch (Bershad et al 1997) These tools operate on object codes for a variety of operating systems and architectures, but none of them work on JVM class files BIT follows ATOM s design by providing a set of classes that users can employ to build their own program analysis tools for JVM bytecodes Several papers have been written about adding persistence to Java such as (Moss and Hosking 1996), (Atkinson et al 1996), (Wileden et al 1996), (Jordan 1996), and (Printezis 1996) All but (Printezis 1996) discuss the design issues involved in adding persistence to Java (Printezis 1996) describes a simple disk garbage collector used in PJava (Atkinson et al 1996) and reports on its performance However, there is no related work on either the behavior or the performance measurement of persistence stores for Java that is not specific to their disk garbage collector Object Design Inc s PSE is a persistent storage engine for Java, and it provides persistent storage for Java objects PSE for Java is freely available to the public and is distributed as a collection of class files PSE provides an application programming interface (API) that allows a program to manipulate databases, to navigate among persistent objects, and to work with transactions The idea of post-processing a class file to perform some tasks is not new PSE itself uses the technique of post-processing to enable a Java class to be persistent, and Cattell et al have devised a post-processing technique as well (Moss and Hosking 1996) 3 BUILDING A CUSTOMIZED TOOL We are building a customized tool using BIT that inserts calls to the analysis methods before each of the specific method calls in PSE Our initial instrumentation efforts are concentrating on identifying the important persistent store events that take 3

4 PSE createroot() basic block instructions basic block call before createroot Analysis Routines start analysis return routine call after a basic block start analysis return Figure 1 Instrumenting PSE PSE (class files) PSE Programs BIT (class files) Instrumentation Code (Java file) Instrumented PSE (class files) Analysis Output Analysis Code (Java file) PSE Program s Output Figure 2 PSE Instrumentation Using BIT 4

5 place in PSE For instance, our instrumentation adds calls to the analysis methods before createroot() and getroot() create and obtain a database root, respectively; before begin(), commit(), and abort() in the Transaction class that deal with transactions; and so on This process is illustrated in Figure 1, which shows PSE as a collection of methods that are viewed as collections of basic blocks and instructions Calls to analysis methods can be inserted anywhere in PSE using BIT The analysis methods, in turn, generate traces to a file when programs that use instrumented PSE for Java are run Figure 2 illustrates this process One can examine this file afterward to study the dynamic behavior of programs that use PSE for Java The details of the trace format are described in the following section 4 INSTRUMENTATION GOALS Binary or executable instrumentation is a widely used technique in measuring an application s behavior Profilers such as HiProf (Garvin 1997) are built using this technique HiProf is a hierarchical profiler for the Win32 architecture This technique is also used in debugging tools such as Purify (Hastings and Joyce 1992), which detects memory access errors Our project, which also uses an executable instrumentation technique, has two major goals: to measure the behavior of Java persistent stores and to produce trace files using the POSSE Trace File Format (PTFF) (Klauser, Wolf, and Zorn 1997) The Java persistent store information that we want to capture includes static information about the structure of the persistent store (eg, size of objects, number of objects, and number of connections from an object, etc) and dynamic information about the time-varying behavior of the store (eg, how the structure changes, how the size changes, what parts are accessed frequently, etc) This information is useful for many purposes For the application programmer, it can be used to tune a particular application to remove bottlenecks and to debug applications that are not performing correctly Implementation developers and researchers can use this information to evaluate the performance of different implementation algorithms (eg, garbage collection, object representation, etc), to compare the performance of different algorithms based on a 5

6 consistent collection of traces, and to compare the behaviors of persistent stores in different programming languages With respect to the POSSE project, we are particularly interested in evaluating the performance of alternative persistent store implementations in an experimental setting To accomplish this goal, we have developed a common trace file format, PTFF, which can be used to capture database structure and application behavior (Klauser, Wolf, and Zorn 1997) We have used PTFF to study the performance of alternative garbage collection implementations in persistent stores Specifically, we have studied partition selection policies for partition-based garbage collection (Cook, Wolf, and Zorn 1994) and semi-automatic garbage collection rate selection (Cook, Klauser, Wolf, and Zorn 1996) PTFF traces can be used for a variety of activities, including simulation of ODBMS implementations (Cook, Wolf, and Zorn 1993) and object database visualization The MaStA I/O Trace Format (Scheuerl et al 1995) is another format in which I/O events taken from real and simulated database systems can be recorded The MaStA format differs from PTFF in that it represents a trace of page-level operations that can be used to study the relative costs of different I/O devices PTFF files contain events that reflect information about the structure of the database, such as when objects are created and deleted, and how objects are interconnected It also contains information about when objects in the database are accessed, such as when data or pointers in the database are read or written PRODUCING PTFF OUTPUT In our initial instrumentation of PSE for Java, we have attempted to collect the information necessary to generate a PTFF trace from the operations performed by PSE for Java Some of the events defined in PTFF correspond nicely to APIs in PSE for Java but some of them do not Table 1 summarizes this mapping One interesting issue with respect to this mapping relates to the issue of the separation of primitive data from objects PTFF contains data read and write events that represent reads and writes of primitive data (eg, characters or integers) In PSE for Java, all data is conceptually represented by pointers to objects, and as a result, there are no data read and write events that correspond to those available in PTFF 6

7 Table 1 Mapping from PTFF Events to PSE for Java Operations PTFF Event PSE for Java API Comments Create Object N/A There is no one to one correspondence between the PSE API and the PTFF event We infer object creations based on a sequence of API calls in PSE Destroy Object ObjectStoredestroy() Edge Write Persistentdirty() and others This is only approximation since in PSE for Java, calling dirty() on a persistent object prepares its contents to be modified and saved, but there is no guarantee that it will always happen Edge Read Persistentfetch() Set Root Get Root DatabasecreateRoot() and DatabasesetRoot() DatabasegetRoot() Another issue regarding the mapping between PTFF events and PSE for Java APIs is that PTFF does not record transactions As a result, traces should not be written to a file until a transaction is committed in PSE for Java Applications Table 2 Event Counts for PSE Sample Applications PTFF Create Destroy Edge Edge Read Set Root Get Root Event Object Object Write People Pcount OSDraw rep Table 2 summarizes the event counts we have measured in the sample applications provided with PSE for Java While these applications are very small, our 3 This program requires user input For the purpose of this statistics, the following operations were performed: new, draw two lines, save, close, open, and exit 7

8 measurements demonstrate that the instrumentation is capable of gathering the information described We plan to gather and/or implement more complex PSE for Java applications in the future 5 SUMMARY We described BIT and its use as an aid in understanding the behavior of persistent Java programs A tool written using BIT that generates PTFF traces for important persistent store events was discussed This customized tool can be used to measure the behavior of programs that use PSE for Java, and we explained how this information can be used in tuning storage management algorithms, in debugging, and in understanding typical usage of PSE for Java PTFF was discussed and the benefits of using it were also outlined PTFF is a common format that allows sharing data easy among researchers and also allows use of third party tools that operate on files using PTFF We are currently working on generating traces in PTFF as well as taking transactions in PSE into account when generating traces Once we have sufficient data, we should be able to verify our above mentioned claims Furthermore, work on Java persistent stores other than PSE for Java is also in order so that we can confirm our experiences with PSE for Java Finally, by building a real world application that uses PSE for Java and analyzing it, we would get a better understanding about more typical behavior of PSE for Java ACKNOWLEDGEMENTS This work was supported in part by the National Science Foundation under grant IRI REFERENCES Anant Agarwal, Richard L Sites and Mark Horowitz ATUM: A New Technique for Capturing Address Traces Using Microcode Proceedings of the 13th International Symposium on Computer Architecture, pages , June 1986 MP Atkinson, MJ Jordan, L Daynès, and S Spence Design Issues for Persistent Java: a type-safe, object-oriented, orthogonally persistent system Proceedings of the 7 th International Conference on Persistent Object Systems, May

9 Brian Bershad et al Etch Overview Eric A Brewer, Chrysanthos N Dellarocas, Adrian Colbrook and William E Weihl PROTEUS: A High- Performance Parallel-Architecture Simulator Massachusetts Institute of Technology technical report MIT/LCS/TR-516, 1991 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 1993 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 1994 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 Jonathan E Cook, Artur W Klauser, Alexander L Wolf, and Benjamin G Zorn Semi-automatic, selfadaptive 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 1996 Susan J Eggers, David R Keppel, Eric J Koldinger, and Henry M Levy Techniques for Efficient Inline Tracing on a Shared-Memory Multiprocessor SIGMETRICS Conference on Measurement and modeling of Computer Systems, vol 8, no 1, May 1990 Janel Garvin HiProf Advanced Code Performance Analysis Through Hierarchical Profiling James Gosling, Bill Joy, and Guy Steele The Java Language Specification Addison-Wesley, 1996 Reed Hastings and Bob Joyce Purify: Fast Detection of Memory Leaks and Access Errors Proceedings of the Winter USENIX Conference, Pages , January 1992 Mick Jordan Early Experiences with Persistent Java First International Workshop on Persistence and Java September 1996 Artur Klauser, Alexander Wolf, and Benjamin Zorn POSSE Trace File Format Working document University of Colorado at Boulder 1997 James R Larus and Thomas Ball Rewriting Executable Files to Measure Program Behavior Software, Practice and Experience, vol 24, no 2, pages , February 1994 James R Larus and Eric Schnarr EEL: Machine-Independent Executable Editing In Proceedings of the SIGPLAN 95 Conference on Programming Language Design and Implementation (PLDI), pages , June 1995 Han B Lee BIT: Bytecode Instrumenting Tool MS thesis, University of Colorado at Boulder, Boulder, CO, July 1997 J Eliot B Moss and Tony L Hosking Approaches to Adding Persistence to Java First International Workshop on Persistence and Java September 1996 Object Design Inc ObjectStore PSE and PSE Pro for Java Release 11 Documentation 9

10 Tony Printezis Disk Garbage Collection Strategies for Persistent Java First International Workshop on Persistence and Java September 1996 Scheuerl, SJG, Connor, RCH, Morrison, R, Munro, DS & Moss, JEB The MaStA I/O Trace Format University of St Andrews Technical Report CS/95/4, 1995 Michael D Smith Tracing with Pixie Memo from Center for Integrated Systems, Stanford Univ, April 1991 Amitabh Srivastava and Alan Eustace ATOM A System for Building Customized Program Analysis Tools In Proceedings of the SIGPLAN 94 Conference on Programming Language Design and Implementation (PLDI), pages , June 1994 Amitabh Srivastava and David Wall A Practical System for Intermodule Code Optimization at Link-Time Journal of Programming Languages, vol 1, no 1, pages 1-18, March 1993 David W Wall Systems for Late Code modification In Robert Giegerich and Susan L Graham, eds, Code Generation Concepts, Tools, Techniques, pages , Springer-Verlag, 1992 Jack C Wileden, Alan Kaplan, Geir A Myrestrand, and John VE Ridgway Our SPIN on Persistent Java: The JavaSPIN Approach First International Workshop on Persistence and Java September

A Framework for Storage Management Evaluation in Persistent Object Systems

A Framework for Storage Management Evaluation in Persistent Object Systems 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 humphrie@cs.colorado.edu

More information

Straightforward Java Persistence Through Checkpointing

Straightforward Java Persistence Through Checkpointing Straightforward Java Persistence Through Checkpointing Jon Howell Technical Report PCS-TR98-330 Department of Computer Science Dartmouth College Hanover, NH 03755-3510 jonh@cs.dartmouth.edu May 2, 1998

More information

Optimized Register Usage for Dynamic Instrumentation

Optimized Register Usage for Dynamic Instrumentation Optimized Register Usage for Dynamic Instrumentation Nick Rutar December 6, 2005 Abstract Dynamic instrumentation of programs presents an interesting problem for register usage. Since program functionality

More information

ProfBuilder: A Package for Rapidly Building Java Execution Profilers Brian F. Cooper, Han B. Lee, and Benjamin G. Zorn

ProfBuilder: A Package for Rapidly Building Java Execution Profilers Brian F. Cooper, Han B. Lee, and Benjamin G. Zorn ProfBuilder: A Package for Rapidly Building Java Execution Profilers Brian F. Cooper, Han B. Lee, and Benjamin G. Zorn Department of Computer Science Campus Box 430 University of Colorado Boulder, CO 80309-0430

More information

Stack Tracing In A Statically Typed Language

Stack Tracing In A Statically Typed Language Stack Tracing In A Statically Typed Language Amer Diwan Object Oriented Systems Laboratory Department of Computer Science University of Massachusetts October 2, 1991 1 Introduction Statically-typed languages

More information

BIT: BYTECODE INSTRUMENTING TOOL HAN BOK LEE. B.S., University of Washington, A thesis submitted to the. Faculty of the Graduate School of the

BIT: BYTECODE INSTRUMENTING TOOL HAN BOK LEE. B.S., University of Washington, A thesis submitted to the. Faculty of the Graduate School of the BIT: BYTECODE INSTRUMENTING TOOL By HAN BOK LEE B.S., University of Washington, 1996 A thesis submitted to the Faculty of the Graduate School of the University of Colorado in partial fulfillment of the

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

Global Scheduler. Global Issue. Global Retire

Global Scheduler. Global Issue. Global Retire The Delft-Java Engine: An Introduction C. John Glossner 1;2 and Stamatis Vassiliadis 2 1 Lucent / Bell Labs, Allentown, Pa. 2 Delft University oftechnology, Department of Electrical Engineering Delft,

More information

Identifying Parallelism in Construction Operations of Cyclic Pointer-Linked Data Structures 1

Identifying Parallelism in Construction Operations of Cyclic Pointer-Linked Data Structures 1 Identifying Parallelism in Construction Operations of Cyclic Pointer-Linked Data Structures 1 Yuan-Shin Hwang Department of Computer Science National Taiwan Ocean University Keelung 20224 Taiwan shin@cs.ntou.edu.tw

More information

A SoC simulator, the newest component in Open64 Report and Experience in Design and Development of a baseband SoC

A SoC simulator, the newest component in Open64 Report and Experience in Design and Development of a baseband SoC A SoC simulator, the newest component in Open64 Report and Experience in Design and Development of a baseband SoC Wendong Wang, Tony Tuo, Kevin Lo, Dongchen Ren, Gary Hau, Jun zhang, Dong Huang {wendong.wang,

More information

Exploiting Reflection to Add Persistence and Query Optimization to a Statically Typed Object-Oriented Language

Exploiting Reflection to Add Persistence and Query Optimization to a Statically Typed Object-Oriented Language Exploiting Reflection to Add Persistence and Query Optimization to a Statically Typed Object-Oriented Language Gökhan Kutlu J. Eliot B. Moss Department of Computer Science University of Massachusetts Amherst,

More information

Hardware-Supported Pointer Detection for common Garbage Collections

Hardware-Supported Pointer Detection for common Garbage Collections 2013 First International Symposium on Computing and Networking Hardware-Supported Pointer Detection for common Garbage Collections Kei IDEUE, Yuki SATOMI, Tomoaki TSUMURA and Hiroshi MATSUO Nagoya Institute

More information

Design and Implementation of Java Dynamic Testing Tool using Instrumentation

Design and Implementation of Java Dynamic Testing Tool using Instrumentation Indian Journal of Science and Technology, Vol 8(S1), 475 480, January 2015 ISSN (Online) : 0974-5645 ISSN (Print) : 0974-6846 DOI: 10.17485/ijst/2015/v8iS1/59426 Design and Implementation of Java Dynamic

More information

SYSTEMS MEMO #12. A Synchronization Library for ASIM. Beng-Hong Lim Laboratory for Computer Science.

SYSTEMS MEMO #12. A Synchronization Library for ASIM. Beng-Hong Lim Laboratory for Computer Science. ALEWIFE SYSTEMS MEMO #12 A Synchronization Library for ASIM Beng-Hong Lim (bhlim@masala.lcs.mit.edu) Laboratory for Computer Science Room NE43-633 January 9, 1992 Abstract This memo describes the functions

More information

Analysis of Pointers and Structures

Analysis of Pointers and Structures RETROSPECTIVE: Analysis of Pointers and Structures David Chase, Mark Wegman, and Ken Zadeck chase@naturalbridge.com, zadeck@naturalbridge.com, wegman@us.ibm.com Historically our paper was important because

More information

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

Screen Saver Science: Realizing Distributed Parallel Computing with Jini and JavaSpaces

Screen Saver Science: Realizing Distributed Parallel Computing with Jini and JavaSpaces Screen Saver Science: Realizing Distributed Parallel Computing with Jini and JavaSpaces William L. George and Jacob Scott National Institute of Standards and Technology Information Technology Laboratory

More information

Improving Instruction Locality with Just-In-Time Code Layout

Improving Instruction Locality with Just-In-Time Code Layout The following paper was originally published in the Proceedings of the USENIX Windows NT Workshop Seattle, Washington, August 1997 Improving Instruction Locality with Just-In-Time Code Layout J. Bradley

More information

Stackable Layers: An Object-Oriented Approach to. Distributed File System Architecture. Department of Computer Science

Stackable Layers: An Object-Oriented Approach to. Distributed File System Architecture. Department of Computer Science Stackable Layers: An Object-Oriented Approach to Distributed File System Architecture Thomas W. Page Jr., Gerald J. Popek y, Richard G. Guy Department of Computer Science University of California Los Angeles

More information

Independent Extensibility for Aspect-Oriented Systems

Independent Extensibility for Aspect-Oriented Systems Independent Extensibility for Aspect-Oriented Systems Pascal Costanza, Günter Kniesel, and Michael Austermann University of Bonn, Institute of Computer Science III Römerstr. 164, D-53117 Bonn, Germany

More information

The Essence of Compiling with Continuations

The Essence of Compiling with Continuations RETROSPECTIVE: The Essence of Compiling with Continuations Cormac Flanagan Amr Sabry Bruce F. Duba Matthias Felleisen Systems Research Center Compaq cormac.flanagan@compaq.com Dept. of Computer Science

More information

Progress in Spoken Programming

Progress in Spoken Programming Progress in Spoken Programming Benjamin M. Gordon George F. Luger Department of Computer Science University of New Mexico Abstract The dominant paradigm for programming a computer today is text entry via

More information

Cate: A System for Analysis and Test of Java Card Applications

Cate: A System for Analysis and Test of Java Card Applications Cate: A System for Analysis and Test of Java Card Applications Peter Pfahler and Jürgen Günther Email:peter@uni-paderborn.de jguenther@orga.com Universität Paderborn, Department of Computer Science, D-33098

More information

Instrumentation and Optimization of WIN32/Intel Executables

Instrumentation and Optimization of WIN32/Intel Executables Instrumentation and Optimization of WIN32/Intel Executables Ted Romer, Geoff Voelker, Dennis Lee, Alec Wolman, Wayne Wong, Hank Levy, Brian N. Bershad University of Washington and Brad Chen Harvard University

More information

How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor

How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor Leslie Lamport 1 Digital Equipment Corporation February 14, 1993 Minor revisions January 18, 1996 and September 14, 1996

More information

Swizzle barrier optimizations for orthogonal persistence in Java

Swizzle barrier optimizations for orthogonal persistence in Java Submitted to Third International Workshop on Persistence and Java Swizzle barrier optimizations for orthogonal persistence in Java Kumar Brahnmath 1 Nathaniel Nystrom 1 Antony Hosking 1 Quintin Cutts 2

More information

Predicting Memory Use from a Class Diagram using Dynamic Information

Predicting Memory Use from a Class Diagram using Dynamic Information Preprint 1998 Workshop on Software and Performance Predicting Memory Use from a Class Diagram using Dynamic Information Gail C. Murphy and Ekaterina Saenko Department of Computer Science, University of

More information

Evolutionary form design: the application of genetic algorithmic techniques to computer-aided product design

Evolutionary form design: the application of genetic algorithmic techniques to computer-aided product design Loughborough University Institutional Repository Evolutionary form design: the application of genetic algorithmic techniques to computer-aided product design This item was submitted to Loughborough University's

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

Method and apparatus for determining branch addresses in programs generated by binary translation

Method and apparatus for determining branch addresses in programs generated by binary translation Method and apparatus for determining branch addresses in programs generated by binary translation M. K. Gschwind Problem solved by this invention Binary translation allows to maintain compatibility across

More information

Parallelism of Java Bytecode Programs and a Java ILP Processor Architecture

Parallelism of Java Bytecode Programs and a Java ILP Processor Architecture Australian Computer Science Communications, Vol.21, No.4, 1999, Springer-Verlag Singapore Parallelism of Java Bytecode Programs and a Java ILP Processor Architecture Kenji Watanabe and Yamin Li Graduate

More information

A taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA

A taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA A taxonomy of race conditions. D. P. Helmbold, C. E. McDowell UCSC-CRL-94-34 September 28, 1994 Board of Studies in Computer and Information Sciences University of California, Santa Cruz Santa Cruz, CA

More information

Object-level tracing toolkit: design, implementation, and purpose

Object-level tracing toolkit: design, implementation, and purpose Object-level tracing toolkit: design, implementation, and purpose Darko Stefanović September 12, 1995 1 Introduction The object-level tracing toolkit (OLTT) is a collection of an interface and several

More information

Brian F. Cooper. Distributed systems, digital libraries, and database systems

Brian F. Cooper. Distributed systems, digital libraries, and database systems Brian F. Cooper Home Office Internet 2240 Homestead Ct. #206 Stanford University cooperb@stanford.edu Los Altos, CA 94024 Gates 424 http://www.stanford.edu/~cooperb/app/ (408) 730-5543 Stanford, CA 94305

More information

Publications related to Chez Scheme

Publications related to Chez Scheme Publications related to Chez Scheme [1] Andrew W. Keep and R. Kent Dybvig. Automatic cross-library optimization. In Scheme 2013: Workshop on Scheme and Functional Programming, 2013. Describes how Chez

More information

Constructing Control Flow Graph for Java by Decoupling Exception Flow from Normal Flow

Constructing Control Flow Graph for Java by Decoupling Exception Flow from Normal Flow Constructing Control Flow Graph for Java by Decoupling Exception Flow from Normal Flow Jang-Wu Jo 1 and Byeong-Mo Chang 2 1 Department of Computer Engineering Pusan University of Foreign Studies Pusan

More information

Memory Protection. Philip W. L. Fong. CPSC 525/625 (Winter 2018) Department of Computer Science University of Calgary Calgary, Alberta, Canada

Memory Protection. Philip W. L. Fong. CPSC 525/625 (Winter 2018) Department of Computer Science University of Calgary Calgary, Alberta, Canada 1 / 25 Memory Protection Philip W. L. Fong Department of Computer Science University of Calgary Calgary, Alberta, Canada CPSC 525/625 (Winter 2018) 2 / 25 Multiprogramming Memory Fence Remember my Apple

More information

CPEG 852 Advanced Topics in Computing Systems The Dataflow Model of Computation

CPEG 852 Advanced Topics in Computing Systems The Dataflow Model of Computation CPEG 852 Advanced Topics in Computing Systems The Dataflow Model of Computation Stéphane Zuckerman Computer Architecture & Parallel Systems Laboratory Electrical & Computer Engineering Dept. University

More information

CS Advanced Compiler Design Course Project

CS Advanced Compiler Design Course Project CS 744 - Advanced Compiler Design Course Project Timeline: Brief project choice e-mail due May 17 Project proposal due May 31 Progress report e-mail due June 23 Presentations approximately July 19, 21

More information

Lightweight Remote Procedure Call

Lightweight Remote Procedure Call Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, Henry M. Levy ACM Transactions Vol. 8, No. 1, February 1990, pp. 37-55 presented by Ian Dees for PSU CS533, Jonathan

More information

Developing CASE tools which support integrated development notations

Developing CASE tools which support integrated development notations Revised version in Proceedings of the 6th Workshop on the Next Generation of CASE Tools, Finland, June 1995. Developing CASE tools which support integrated development notations John C. Grundy and John

More information

OASIS: Architecture, Model and Management of Policy

OASIS: Architecture, Model and Management of Policy OASIS: Architecture, Model and Management of Policy Ken Moody Computer Laboratory, University of Cambridge 1 Overview OASIS : Architecture, Model and Policy 1. background to the research people, projects

More information

CLASSIC FILE SYSTEMS: FFS AND LFS

CLASSIC FILE SYSTEMS: FFS AND LFS 1 CLASSIC FILE SYSTEMS: FFS AND LFS CS6410 Hakim Weatherspoon A Fast File System for UNIX Marshall K. McKusick, William N. Joy, Samuel J Leffler, and Robert S Fabry Bob Fabry Professor at Berkeley. Started

More information

Visualizing and Animating Search Operations on Quadtrees on the Worldwide Web

Visualizing and Animating Search Operations on Quadtrees on the Worldwide Web Visualizing and Animating Search Operations on Quadtrees on the Worldwide Web František Brabec Computer Science Department University of Maryland College Park, Maryland 20742 brabec@umiacs.umd.edu Hanan

More information

Cross-Layer Memory Management to Reduce DRAM Power Consumption

Cross-Layer Memory Management to Reduce DRAM Power Consumption Cross-Layer Memory Management to Reduce DRAM Power Consumption Michael Jantz Assistant Professor University of Tennessee, Knoxville 1 Introduction Assistant Professor at UT since August 2014 Before UT

More information

Java Internals. Frank Yellin Tim Lindholm JavaSoft

Java Internals. Frank Yellin Tim Lindholm JavaSoft Java Internals Frank Yellin Tim Lindholm JavaSoft About This Talk The JavaSoft implementation of the Java Virtual Machine (JDK 1.0.2) Some companies have tweaked our implementation Alternative implementations

More information

Java Class Visualization for Teaching Object-Oriented Concepts

Java Class Visualization for Teaching Object-Oriented Concepts Java Class Visualization for Teaching Object-Oriented Concepts Herbert L. Dershem and James Vanderhyde Department of Computer Science Hope College Holland, MI 49422-9000 dershem@cs.hope.edu Abstract Visualization

More information

A Framework for the Performance Evaluation of Operating System Emulators. Joshua H. Shaffer. A Proposal Submitted to the Honors Council

A Framework for the Performance Evaluation of Operating System Emulators. Joshua H. Shaffer. A Proposal Submitted to the Honors Council A Framework for the Performance Evaluation of Operating System Emulators by Joshua H. Shaffer A Proposal Submitted to the Honors Council For Honors in Computer Science 15 October 2003 Approved By: Luiz

More information

A Meta-Model for Composition Techniques in Object-Oriented Software Development

A Meta-Model for Composition Techniques in Object-Oriented Software Development A Meta-Model for Composition Techniques in Object-Oriented Software Development Bedir Tekinerdogan Department of Computer Science University of Twente P.O. Box 217, 7500 AE Enschede, The Netherlands E-Mail:

More information

RTC: Language Support for Real-Time Concurrency

RTC: Language Support for Real-Time Concurrency RTC: Language Support for Real-Time Concurrency Insup Lee, Susan Davidson, and Victor Wolfe 1 Introduction The RTC (Real-Time Concurrency) programming concepts and language constructs for expressing timing

More information

Configuration Management for Component-based Systems

Configuration Management for Component-based Systems Configuration Management for Component-based Systems Magnus Larsson Ivica Crnkovic Development and Research Department of Computer Science ABB Automation Products AB Mälardalen University 721 59 Västerås,

More information

Tracing and Characterization of NT-based System Workloads

Tracing and Characterization of NT-based System Workloads Tracing and Characterization of NT-based System Workloads Jason Casmira David Kaeli David Hunter Dept. of Electrical and Computer Engineering Northeastern University Boston, MA Software Partner Engineering

More information

1 Version management tools as a basis for integrating Product Derivation and Software Product Families

1 Version management tools as a basis for integrating Product Derivation and Software Product Families 1 Version management tools as a basis for integrating Product Derivation and Software Product Families Jilles van Gurp, Christian Prehofer Nokia Research Center, Software and Application Technology Lab

More information

C. E. McDowell August 25, Baskin Center for. University of California, Santa Cruz. Santa Cruz, CA USA. abstract

C. E. McDowell August 25, Baskin Center for. University of California, Santa Cruz. Santa Cruz, CA USA. abstract Unloading Java Classes That Contain Static Fields C. E. McDowell E. A. Baldwin 97-18 August 25, 1997 Baskin Center for Computer Engineering & Information Sciences University of California, Santa Cruz Santa

More information

Extending The Mach External Pager Interface To Accommodate User-Level Page Replacement Policies. Dylan McNamee and Katherine Armstrong

Extending The Mach External Pager Interface To Accommodate User-Level Page Replacement Policies. Dylan McNamee and Katherine Armstrong Extending The Mach External Pager Interface To Accommodate User-Level Page Replacement Policies Dylan McNamee and Katherine Armstrong Department of Computer Science and Engineering University of Washington

More information

Lecture 10. Dynamic Analysis

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

Glacier: A Garbage Collection Simulation System

Glacier: A Garbage Collection Simulation System Glacier: A Garbage Collection Simulation System Bruno Dufour Sable Research Group McGill University Glacier: A Garbage Collection Simulation System p.1/19 Outline Introduction Objectives & motivation Requirements

More information

An Object Model for Multiparadigm

An Object Model for Multiparadigm 1 of 7 03/02/2007 15:37 http://www.dmst.aueb.gr/dds/pubs/conf/1994-oopsla-multipar/html/mlom.html This is an HTML rendering of a working paper draft that led to a publication. The publication should always

More information

COMPOSABILITY, PROVABILITY, REUSABILITY (CPR) FOR SURVIVABILITY

COMPOSABILITY, PROVABILITY, REUSABILITY (CPR) FOR SURVIVABILITY AFRL-IF-RS-TR-2002-61 Final Technical Report April 2002 COMPOSABILITY, PROVABILITY, REUSABILITY (CPR) FOR SURVIVABILITY Kestrel Institute Sponsored by Defense Advanced Research Projects Agency DARPA Order

More information

Migrating to Object Data Management

Migrating to Object Data Management Migrating to Object Data Management Arthur M. Keller * Stanford University and Persistence Software Paul Turner Persistence Software Abstract. We discuss issues of migrating to object data management.

More information

Business and Scientific Applications of the Java Programming Language

Business and Scientific Applications of the Java Programming Language Business and Scientific Applications of the Java Programming Language Angelo Bertolli April 24, 2005 Abstract While Java is arguably a good language with that to write both scientific and business applications,

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

A Test Suite for High-Performance Parallel Java

A Test Suite for High-Performance Parallel Java page 1 A Test Suite for High-Performance Parallel Java Jochem Häuser, Thorsten Ludewig, Roy D. Williams, Ralf Winkelmann, Torsten Gollnick, Sharon Brunett, Jean Muylaert presented at 5th National Symposium

More information

Lecture Notes on Garbage Collection

Lecture Notes on Garbage Collection Lecture Notes on Garbage Collection 15-411: Compiler Design Frank Pfenning Lecture 21 November 4, 2014 These brief notes only contain a short overview, a few pointers to the literature with detailed descriptions,

More information

UNIX Consultant: A Progress Report Robert Wilensky Division of Computer Science Unversity of California, Berkeley

UNIX Consultant: A Progress Report Robert Wilensky Division of Computer Science Unversity of California, Berkeley 9 g UNIX Consultant: A Progress Report Robert Wilensky Division of Computer Science Unversity of California, Berkeley We have been engaged in the construction of a system called UC, for UNIX Conavltant.

More information

Symbiotic Systems Software: Fast Operating Systems for Fast Applications

Symbiotic Systems Software: Fast Operating Systems for Fast Applications Published in Proc. of the Workshop on Compiler Support for System Software, Tuczon, AZ, February 1996. Symbiotic Systems Software: Fast Operating Systems for Fast Applications Margo Seltzer, Christopher

More information

Lock vs. Lock-free Memory Project proposal

Lock vs. Lock-free Memory Project proposal Lock vs. Lock-free Memory Project proposal Fahad Alduraibi Aws Ahmad Eman Elrifaei Electrical and Computer Engineering Southern Illinois University 1. Introduction The CPU performance development history

More information

THE IMPLEMENTATION OF A DISTRIBUTED FILE SYSTEM SUPPORTING THE PARALLEL WORLD MODEL. Jun Sun, Yasushi Shinjo and Kozo Itano

THE IMPLEMENTATION OF A DISTRIBUTED FILE SYSTEM SUPPORTING THE PARALLEL WORLD MODEL. Jun Sun, Yasushi Shinjo and Kozo Itano THE IMPLEMENTATION OF A DISTRIBUTED FILE SYSTEM SUPPORTING THE PARALLEL WORLD MODEL Jun Sun, Yasushi Shinjo and Kozo Itano Institute of Information Sciences and Electronics University of Tsukuba Tsukuba,

More information

The Impact of Instruction Compression on I-cache Performance

The Impact of Instruction Compression on I-cache Performance Technical Report CSE-TR--97, University of Michigan The Impact of Instruction Compression on I-cache Performance I-Cheng K. Chen Peter L. Bird Trevor Mudge EECS Department University of Michigan {icheng,pbird,tnm}@eecs.umich.edu

More information

Efficient Separate Compilation of Object-Oriented Languages

Efficient Separate Compilation of Object-Oriented Languages Efficient Separate Compilation of Object-Oriented Languages Jean Privat, Floréal Morandat, and Roland Ducournau LIRMM Université Montpellier II CNRS 161 rue Ada 34392 Montpellier cedex 5, France {privat,morandat,ducour}@lirmm.fr

More information

Seminar report Java Submitted in partial fulfillment of the requirement for the award of degree Of CSE

Seminar report Java Submitted in partial fulfillment of the requirement for the award of degree Of CSE A Seminar report On Java Submitted in partial fulfillment of the requirement for the award of degree Of CSE SUBMITTED TO: www.studymafia.org SUBMITTED BY: www.studymafia.org 1 Acknowledgement I would like

More information

Java: framework overview and in-the-small features

Java: framework overview and in-the-small features Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer Java: framework overview and in-the-small features Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer

More information

security model. The framework allowed for quickly creating applications that examine nancial data stored in a database. The applications that are gene

security model. The framework allowed for quickly creating applications that examine nancial data stored in a database. The applications that are gene Patterns For Developing Successful Object-Oriented Frameworks Joseph W. Yoder August 27, 1997 1 Overview The work described here extends last years OOPSLA framework workshop paper [Yoder 1996] describing

More information

I J C S I E International Science Press

I J C S I E International Science Press Vol. 5, No. 2, December 2014, pp. 53-56 I J C S I E International Science Press Tolerating Memory Leaks at Runtime JITENDER SINGH YADAV, MOHIT YADAV, KIRTI AZAD AND JANPREET SINGH JOLLY CSE B-tech 4th

More information

Multiple Pivot Sort Algorithm is Faster than Quick Sort Algorithms: An Empirical Study

Multiple Pivot Sort Algorithm is Faster than Quick Sort Algorithms: An Empirical Study International Journal of Electrical & Computer Sciences IJECS-IJENS Vol: 11 No: 03 14 Multiple Algorithm is Faster than Quick Sort Algorithms: An Empirical Study Salman Faiz Solehria 1, Sultanullah Jadoon

More information

JPG A Partial Bitstream Generation Tool to Support Partial Reconfiguration in Virtex FPGAs

JPG A Partial Bitstream Generation Tool to Support Partial Reconfiguration in Virtex FPGAs JPG A Partial Bitstream Generation Tool to Support Partial Reconfiguration in Virtex FPGAs Anup Kumar Raghavan Motorola Australia Software Centre Adelaide SA Australia anup.raghavan@motorola.com Peter

More information

Research on Embedded Java Virtual Machine and its Porting

Research on Embedded Java Virtual Machine and its Porting IJCSNS International Journal of Computer Science and Network Security, VOL.7 No.9, September 2007 157 Research on Embedded Java Virtual Machine and its Porting Jun QIN, Qiaomin LIN, Xiujin WANG College

More information

Interme diate DNS. Local browse r. Authorit ative ... DNS

Interme diate DNS. Local browse r. Authorit ative ... DNS WPI-CS-TR-00-12 July 2000 The Contribution of DNS Lookup Costs to Web Object Retrieval by Craig E. Wills Hao Shang Computer Science Technical Report Series WORCESTER POLYTECHNIC INSTITUTE Computer Science

More information

A trace-driven analysis of disk working set sizes

A trace-driven analysis of disk working set sizes A trace-driven analysis of disk working set sizes Chris Ruemmler and John Wilkes Operating Systems Research Department Hewlett-Packard Laboratories, Palo Alto, CA HPL OSR 93 23, 5 April 993 Keywords: UNIX,

More information

SIGNAL PROCESSING TOOLS FOR SPEECH RECOGNITION 1

SIGNAL PROCESSING TOOLS FOR SPEECH RECOGNITION 1 SIGNAL PROCESSING TOOLS FOR SPEECH RECOGNITION 1 Hualin Gao, Richard Duncan, Julie A. Baca, Joseph Picone Institute for Signal and Information Processing, Mississippi State University {gao, duncan, baca,

More information

Using Adaptive Optimization Techniques To Teach Mobile Java Computing

Using Adaptive Optimization Techniques To Teach Mobile Java Computing Using Adaptive Optimization Techniques To Teach Mobile Java Computing Chandra Krintz Computer Science Department University of California, Santa Barbara Abstract Dynamic, adaptive optimization is quickly

More information

An Eclipse-based Integrated Environment for Developing Executable Structural Operational Semantics Specifications

An Eclipse-based Integrated Environment for Developing Executable Structural Operational Semantics Specifications SOS 2006 Preliminary Version An Eclipse-based Integrated Environment for Developing Executable Structural Operational Semantics Specifications Adrian Pop 1,2 Peter Fritzson 3 Programming Environments Laboratory

More information

Hierarchical Real-time Garbage Collection

Hierarchical Real-time Garbage Collection Hierarchical Real-time Garbage Collection Filip Pizlo Antony L. Hosking Jan Vitek Presenter: Petur Olsen October 4, 2007 The general idea Introduction The Article The Authors 2/28 Pizlo, Hosking, Vitek

More information

Java for Real-Time Programming

Java for Real-Time Programming Java for Real-Time Programming Jan Lindström (jplindst@cs.helsinki.fi) Helsinki 5th November 1998 University of Helsinki Department of Computer Science Seminar on Object Architectures, Fall 1998 1 1 Introduction

More information

Nomair A. Naeem. Personal Data. Education. Teaching Experience. Course Instructor/Sessional

Nomair A. Naeem. Personal Data. Education. Teaching Experience. Course Instructor/Sessional Nomair A. Naeem Personal Data Address: E-mail: Web Page: David R. Cheriton School of Computer Science University of Waterloo 200 University Avenue West Waterloo, ON N2L 3G1, Canada nanaeem@uwaterloo.ca

More information

Transparent Resource Management with Java RM API

Transparent Resource Management with Java RM API Transparent Resource Management with Java RM API Arkadiusz Janik and Krzysztof Zieliński Institute of Computer Science, AGH, al. Mickiewicza 30, 30-059 Kraków, Poland Abstract. The Multitasking Virtual

More information

OOPSLA 95 Workshop on Object Database Behavior, Benchmarks and Performance (Austin, Texas, Oct.) 1. Antony L. Hosking

OOPSLA 95 Workshop on Object Database Behavior, Benchmarks and Performance (Austin, Texas, Oct.) 1. Antony L. Hosking OOPSLA 95 Workshop on Object Database Behavior, Benchmarks and Performance (Austin, Texas, Oct.) 1 Benchmarking persistent programming languages: quantifying the language/database interface Antony L. Hosking

More information

Program Slicing in the Presence of Pointers (Extended Abstract)

Program Slicing in the Presence of Pointers (Extended Abstract) Program Slicing in the Presence of Pointers (Extended Abstract) James R. Lyle National Institute of Standards and Technology jimmy@swe.ncsl.nist.gov David Binkley Loyola College in Maryland National Institute

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

Using Adaptive Optimization Techniques To Teach Mobile Java Computing

Using Adaptive Optimization Techniques To Teach Mobile Java Computing Using Adaptive Optimization Techniques To Teach Mobile Java Computing Chandra Krintz Computer Science Department University of California, Santa Barbara Abstract Abstract. Dynamic, adaptive optimization

More information

2. Department of Computer Science, Yale University

2. Department of Computer Science, Yale University Report on the Visit to Department of Computer Sciences, Yale University Wenbiao Wu ESD Lab, Department of Electronics Royal Institute of Technology Sweden 1. Introduction Department of Computer Science

More information

Capturing Product Line Architectures

Capturing Product Line Architectures Capturing Product Line Architectures André van der Hoek Institute for Software Research Department of Information and Computer Science University of California, Irvine Irvine, CA 92697-3425 USA andre@ics.uci.edu

More information

Object-Oriented Databases Course Review

Object-Oriented Databases Course Review Object-Oriented Databases Course Review Exam Information Summary OODBMS Architectures 1 Exam Session examination Oral exam in English Duration of 15 minutes 2 Exam Basic Skills: Why, What, How Explain

More information

Transformation Rules with MetaEdit+

Transformation Rules with MetaEdit+ Transformation Rules with MetaEdit+ Travassos, Willer 1 McGill University, Montreal QC H3A 1A1, Canada, willer.travassos@mail.mcgill.ca, WWW home page: http://www.cs.mcgill.ca Abstract. The goal of this

More information

Older-First Garbage Collection in Practice: Evaluation in a Java Virtual Machine

Older-First Garbage Collection in Practice: Evaluation in a Java Virtual Machine Older-First Garbage Collection in Practice: Evaluation in a Java Virtual Machine Darko Stefanovic (Univ. of New Mexico) Matthew Hertz (Univ. of Massachusetts) Stephen M. Blackburn (Australian National

More information

Symbolic Evaluation of Sums for Parallelising Compilers

Symbolic Evaluation of Sums for Parallelising Compilers Symbolic Evaluation of Sums for Parallelising Compilers Rizos Sakellariou Department of Computer Science University of Manchester Oxford Road Manchester M13 9PL United Kingdom e-mail: rizos@csmanacuk Keywords:

More information

Survey of Dynamic Instrumentation of Operating Systems

Survey of Dynamic Instrumentation of Operating Systems Survey of Dynamic Instrumentation of Operating Systems Harald Röck Department of Computer Sciences University of Salzburg, Austria hroeck@cs.uni-salzburg.at July 13, 2007 1 Introduction Operating systems

More information

Thunks (continued) Olivier Danvy, John Hatcli. Department of Computing and Information Sciences. Kansas State University. Manhattan, Kansas 66506, USA

Thunks (continued) Olivier Danvy, John Hatcli. Department of Computing and Information Sciences. Kansas State University. Manhattan, Kansas 66506, USA Thunks (continued) Olivier Danvy, John Hatcli Department of Computing and Information Sciences Kansas State University Manhattan, Kansas 66506, USA e-mail: (danvy, hatcli)@cis.ksu.edu Abstract: Call-by-name

More information

Domain-Driven Development with Ontologies and Aspects

Domain-Driven Development with Ontologies and Aspects Domain-Driven Development with Ontologies and Aspects Submitted for Domain-Specific Modeling workshop at OOPSLA 2005 Latest version of this paper can be downloaded from http://phruby.com Pavel Hruby Microsoft

More information

Message Passing Improvements to Shared Address Space Thread Synchronization Techniques DAN STAFFORD, ROBERT RELYEA

Message Passing Improvements to Shared Address Space Thread Synchronization Techniques DAN STAFFORD, ROBERT RELYEA Message Passing Improvements to Shared Address Space Thread Synchronization Techniques DAN STAFFORD, ROBERT RELYEA Agenda Background Motivation Remote Memory Request Shared Address Synchronization Remote

More information