Replication on Virtual Machines
|
|
- Sophia Alexander
- 8 years ago
- Views:
Transcription
1 Replication on Virtual Machines Siggi Cherem CS 717 November 23rd, 2004
2 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism Implementation Experiments 3 Fiedman, Kama - SRDS 2003 Introduction Non-determinism Design and implementation Experimentation
3 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism Implementation Experiments 3 Fiedman, Kama - SRDS 2003 Introduction Non-determinism Design and implementation Experimentation
4 JVM philosophy Compile once, run everywhere Java bytecodes bytecode = instruction set of Java Virtual Machine One JVM for each architecture High-level support Memory management (garbage collection) Multithreading support (monitors)
5 JVM to real machines Internal components Dynamic class loader Interpreters vs. Just in Time compiling (JIT) Native methods (JNI) Provided libraries Allocation and garbage collection User-level vs. native threads
6 Random technical details A few characteristics Compact bytecodes (202 instructions) Types are preserved for safety, precise GC Objects accessible through references Strong, soft, weak, phantom references Object can be shared Passed to new thread constructor Static fields
7 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism Implementation Experiments 3 Fiedman, Kama - SRDS 2003 Introduction Non-determinism Design and implementation Experimentation
8 General idea Their work Modify JVM to tolerate fail-stop failures. Extends hypervisor-based fault-tolerance Hypervisor model Implement a virtual state machine over underlying hardware Perform replica coordination in the hypervisor
9 State machine approach Requirements 1 Determinism: defining replicas 2 Independence: implementing replicas 3 Choice replication: ensuring replication 4 Transparency: guaranteeing single output A state machine Read set [ deterministic command ] Write set output to environment
10 A state machine for the JVM Challenges Non-determinism of commands Replication of sequence of commands Copying read-sets Multithreading Their approach: Bytecode execution engines (BEE) A BEE is a state machine JVM = set of BEEs, one for each application thread Replication at BEE level
11 Sources of non-determinism Some causes of non-determinism Asynchronous commands Non-deterministic commands Non-deterministic read sets Output to environment
12 Asynchronous commands Definition A command is asynchronous if it can appear anywhere in the BEE s sequence of commands. Examples Hardware interrupts, not for JVM Asynchronous Java exceptions Fatal errors, e.g. no resources, deadlocks Killing another thread, i.e. thread.stop() Added restrictions 1 Fatal exceptions are not replicated 2 Threads must not call Thread.stop
13 Non-deterministic commands Definition A command is non-deterministic if it write-set or output are not uniquely determined by the read-set values. Example Native calls: I/O, clock Solution Agreement between replicas on input environment and read-set. Not possible! input is outside JVM s control Backup must adopt primary write-set Restrict output on native methods
14 Non-deterministic commands Added restrictions 3 Native methods produce deterministic output to environment 4 Native methods invoke other methods deterministically Handling these conditions: splitting methods void non determ read write() { long r = read clock(); printf("%d\n",r); }
15 Non-deterministic commands Added restrictions 3 Native methods produce deterministic output to environment 4 Native methods invoke other methods deterministically Handling these conditions: splitting methods long non determ read(){ return read clock(); } void determ write(long r ){ printf("%d\n",r); }
16 Non-deterministic read sets Definition A read set is non-deterministic if it contains a shared variable. Examples Invoking methods on shared objects Storing objects in static references Alternatives Bookkeeping of shared data: an order of magnitude overhead Lock acquisition ordering, needs data-race elimination Exclusive access to all variables while thread is scheduled
17 Non-deterministic read sets Added restrictions 5 Include one of the following Example 1 No data-races (protect any shared data with monitors) 2 Exclusive access to all shared variables class Example { static F shared = null; String tostring() { if (null == shared) { shared = new F(); synchronized call();...
18 Output to the environment Definition An output is idempotent if it is independent of the number of times a command is executed. An output is testable when the environment can be tested for occurrence of output. Examples cd /home/siggi is idempotent, cd.. is not cd.. is testable if pwd is available. Definition A state is volatile if it does not survive failure of state machine. Otherwise, it is stable.
19 Output to the environment Solution Only support idempotent and testable output. Volatile data might be necessary for correct operation Side effects handlers: replicate lost volatile state of the primary Added restrictions 6 Output of native methods is idempotent or testable 7 Native methods annotated for volatile output
20 Implementation details Extended JVM New threads for Failure detection and backup initiation Transfer of logging information Interact with other system threads: GC, finalization Threading modification Restriction (5.2) requires modifying multi-threading libraries Sun s JVM provides both native and green threads Native threads are desired to run applications on SMP Green threads are desired for portability
21 Implementation for non-deterministic commands Initial work Inspected and categorized all native methods by hand! Found only 100 non-deterministic Runtime support algorithm Create table with (non-deterministic) method s unique signature Native call on primary triggers message to backup Backup on recovery uses same values Side effect handlers used for volatile state (e.g. file descriptor from an open command)
22 Non-deterministic read sets: first approach Replicated lock synchronization Assumes (5.1), ensuring mutual exclusion Defines lock acquisition record = (t i,l j,t # i,l # j ) Locking thread (t i ) Lock (l j ) Relative order of lock acquisition thread acquire sequence number (t # i ) lock acquire sequence number (l # j ) Primary creates (t i,l j,t # i,l # j ) Backup uses (t i,l j,t # i,l # j ) to repeat ordering
23 Computing lock acquisition record Defining record values Not trivial Object address for l j : meaningless at replicas Order of events: might differ in primary and backup Recursive definition for t i = (t p,k) t p is parent of t i t i is the k created w.r.t. siblings Use thread determinism for l j l j assigned the first time used Log map l j (t i,t # i )
24 Using lock acquisition record Recovery algorithm Case 1: Backup thread t i tries to acquire l j, and Log contains r = (t i,l j,t # i,l # j ) Wait until we reach l # j Remove r from log Case 2: Backup thread t i tries to acquire l j, and Log doesn t contain (t i,l j,t # i,l # j ) Wait until log is empty (end of recovery protocol)
25 Using lock acquisition record Recovery algorithm Case 3: Backup thread t i tries to acquire a lock with no id, and Log contains map l j (t i,t # i ) Assign lock primary s l j Remove map entry Case 4: Backup thread t i tries to acquire a lock with no id, and Log doesn t contain map l j (t i,t # i ) Wait until A thread t i assigns l j to the lock Log contains no more maps (assign fresh l j )
26 Non-deterministic read sets: second approach Replicated thread scheduling Assumes (5.2), all shared data is protected Defines thread scheduling record = (bn,pc,m,l #,t n ) Code executed Current program counter (pc) Trace summary to get there (bn) Monitor uses (m) Thread was waiting on a lock (l # ) Next scheduled thread (t n ) Log record on each context switch
27 Computing thread scheduling record Defining program position How many statements were executed? Avoid counting each instruction bn counts branches, jumps and invocations taken. pc is program counter offset (not absolute address): updated on every instruction!
28 Computing thread scheduling record Defining program position What if preemption occurred inside a native method? Can t control preemption outside JVM On recovery, preemption before native call? Need to keep track of locks acquired Locking done in JVM monitors On recovery, preempt when m is reached
29 Interaction with system threads Example Heap shared with GC. GC not in Java! Problems t i acquires a lock at primary with no contention, but t i waits at backup t n can enter at backup before it should! User-level threads to force t i to stay t i acquires a lock at backup with no contention, but t i waits at primary Use m also to force rescheduling at backup
30 Replicated scheduling: final details Wait and notifyall() Multiple threads awakened Store the l # to preserve order in backup Finishing recovery Log becomes empty, last entry contains t n Backup must schedule t n to reproduce interaction to environment.
31 Garbage Collection Common problems Soft/weak references Primary and backup may diverge Convert them to strong references Finalizers should be no source of non-determinism Replicate as before
32 Output to the environment Side effects handlers Store and recover volatile state Ensure exactly-once semantics for output Composed by 5 methods register test log receive restore
33 Components of SE handlers Method register Provide method signature Non-determinism flag Output command flag Arguments used for output Method test Used by backup True if output command was successfully executed Only defined for testable commands Idempotent commands are replayed
34 Components of SE handlers Method log Used by primary after an output command Saves arguments, return value and internal state Produces a message with recovery information Method receive Used by backup to retrieve result of log Can perform compaction of messages Method restore Used by backup only once to recover volatile state Uses received messages
35 Experimental setting Architecture and settings Sun E5000 Servers MHz UltraSPARC II CPUs. 2GB Mem. 100Mbps Ethernet Primary and backup run on different machines Log is kept at backup in volatile memory Synchronization on each output (acks) Interpreted mode, no JIT 3 scenarios: AL, TS, NoFT Only green threads (native on SMP yield similar result)
36 Experimental setting Benchmarks Spec JVM98 Benchmarks Shown result for 6 benchmarks compress: cpu intensive db: database, heavy on locking mtrt: only multithreaded
37 Algorithms comparison Running times under two algorithms
38 Overhead Overhead of lock acquisition algorithm
39 Overhead Overhead of thread scheduling algorithm
40 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism Implementation Experiments 3 Fiedman, Kama - SRDS 2003 Introduction Non-determinism Design and implementation Experimentation
41 Introduction Another hypervisor Build on top of Jikes RVM Ignore native code Support JIT Jikes RVM Almost all in Java Yield points and time slices
42 Sources of non-determinism Multithreading Use deterministic scheduler (yield points) Deterministic dequeuing Data-races on SMPs assume no data-races, enforce lock ordering
43 Design decisions Frames One frame lag between primary and backup Synchronize with replicas before starting a new frame Send all I/O results to replicas at start point Send locks (on SMP) anywhere Send non-deterministic read sets
44 Frames example Framing...
45 Implementation details Replication engine Additional module to Jikes RVM Communication between primary and backup Detection of fails Election of new primary
46 Implementation details Hurdles JIT compilation saving thread switch counter Non-deterministic number of statements also disable preemption Garbage collection on SMP: cooperative threads GC non-preemptive until all are done
47 Experimental setting Benchmarks Some Spec JVM98 Benchmarks and SciMark scimark, compress, db, raytrace, mtrt Variations on frame-size (number of context switches)
48 Compress compress Benchmark
49 Database db Benchmark
50 Raytrace raytrace Benchmark
51 Multithreaded Raytrace mtrt Benchmark
52 Replication Overhead Overhead
53 Final remarks Summary Common technique: hypervisor model Restrictions to solve non-determinism Support for SMPs First paper main features SE Handlers: native methods Second paper main features Frames Lower synchronization Faster recovery
A Fault-Tolerant Java Virtual Machine
A Fault-Tolerant Java Virtual Machine Jeff Napper, Lorenzo Alvisi, Harrick Vin Abstract We modify the Sun JDK1.2 to provide transparent faulttolerance for many Java applications using a primarybackup architecture.
More informationState-Machine Replication
State-Machine Replication The Problem Clients Server The Problem Clients Server The Problem Clients Server The Problem Clients Server The Problem Clients Server The Problem Clients Server Solution: replicate
More informationCSCI E 98: Managed Environments for the Execution of Programs
CSCI E 98: Managed Environments for the Execution of Programs Draft Syllabus Instructor Phil McGachey, PhD Class Time: Mondays beginning Sept. 8, 5:30-7:30 pm Location: 1 Story Street, Room 304. Office
More informationTransparent Fault-Tolerant Java Virtual Machine
Transparent Fault-Tolerant Java Virtual Machine Roy Friedman Alon Kama Computer Science Department Technion Israel Institute of Technology Haifa, 32000 Israel {roy,alon}@cs.technion.ac.il Abstract Replication
More informationCloud Computing. Up until now
Cloud Computing Lecture 11 Virtualization 2011-2012 Up until now Introduction. Definition of Cloud Computing Grid Computing Content Distribution Networks Map Reduce Cycle-Sharing 1 Process Virtual Machines
More informationHeapStats: Your Dependable Helper for Java Applications, from Development to Operation
: Technologies for Promoting Use of Open Source Software that Contribute to Reducing TCO of IT Platform HeapStats: Your Dependable Helper for Java Applications, from Development to Operation Shinji Takao,
More informationLast Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
More informationChapter 3 Operating-System Structures
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
More informationPART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design
PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions Slide 1 Outline Principles for performance oriented design Performance testing Performance tuning General
More informationFault Tolerance in the Internet: Servers and Routers
Fault Tolerance in the Internet: Servers and Routers Sana Naveed Khawaja, Tariq Mahmood Research Associates Department of Computer Science Lahore University of Management Sciences Motivation Client Link
More informationFachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert
Ubiquitous Computing Ubiquitous Computing The Sensor Network System Sun SPOT: The Sun Small Programmable Object Technology Technology-Based Wireless Sensor Networks a Java Platform for Developing Applications
More informationenterprise professional expertise distilled
Oracle JRockit The Definitive Guide Develop and manage robust Java applications with Oracle's high-performance Java Virtual Machine Marcus Hirt Marcus Lagergren PUBLISHING enterprise professional expertise
More informationAutomatic Logging of Operating System Effects to Guide Application-Level Architecture Simulation
Automatic Logging of Operating System Effects to Guide Application-Level Architecture Simulation Satish Narayanasamy, Cristiano Pereira, Harish Patil, Robert Cohn, and Brad Calder Computer Science and
More informationPerformance Tools for Parallel Java Environments
Performance Tools for Parallel Java Environments Sameer Shende and Allen D. Malony Department of Computer and Information Science, University of Oregon {sameer,malony}@cs.uoregon.edu http://www.cs.uoregon.edu/research/paracomp/tau
More informationMulti-core Programming System Overview
Multi-core Programming System Overview Based on slides from Intel Software College and Multi-Core Programming increasing performance through software multi-threading by Shameem Akhter and Jason Roberts,
More informationSystem Structures. Services Interface Structure
System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface
More informationInterpreters and virtual machines. Interpreters. Interpreters. Why interpreters? Tree-based interpreters. Text-based interpreters
Interpreters and virtual machines Michel Schinz 2007 03 23 Interpreters Interpreters Why interpreters? An interpreter is a program that executes another program, represented as some kind of data-structure.
More informationMonitoring and Managing a JVM
Monitoring and Managing a JVM Erik Brakkee & Peter van den Berkmortel Overview About Axxerion Challenges and example Troubleshooting Memory management Tooling Best practices Conclusion About Axxerion Axxerion
More informationValidating Java for Safety-Critical Applications
Validating Java for Safety-Critical Applications Jean-Marie Dautelle * Raytheon Company, Marlborough, MA, 01752 With the real-time extensions, Java can now be used for safety critical systems. It is therefore
More informationPort of the Java Virtual Machine Kaffe to DROPS by using L4Env
Port of the Java Virtual Machine Kaffe to DROPS by using L4Env Alexander Böttcher ab764283@os.inf.tu-dresden.de Technische Universität Dresden Faculty of Computer Science Operating System Group July 2004
More informationScheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum
Scheduling Yücel Saygın These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum 1 Scheduling Introduction to Scheduling (1) Bursts of CPU usage alternate with periods
More informationWhat s Cool in the SAP JVM (CON3243)
What s Cool in the SAP JVM (CON3243) Volker Simonis, SAP SE September, 2014 Public Agenda SAP JVM Supportability SAP JVM Profiler SAP JVM Debugger 2014 SAP SE. All rights reserved. Public 2 SAP JVM SAP
More informationIBM SDK, Java Technology Edition Version 1. IBM JVM messages IBM
IBM SDK, Java Technology Edition Version 1 IBM JVM messages IBM IBM SDK, Java Technology Edition Version 1 IBM JVM messages IBM Note Before you use this information and the product it supports, read the
More informationTechniques for Real-System Characterization of Java Virtual Machine Energy and Power Behavior
Techniques for Real-System Characterization of Java Virtual Machine Energy and Power Behavior Gilberto Contreras Margaret Martonosi Department of Electrical Engineering Princeton University 1 Why Study
More informationProactive, Resource-Aware, Tunable Real-time Fault-tolerant Middleware
Proactive, Resource-Aware, Tunable Real-time Fault-tolerant Middleware Priya Narasimhan T. Dumitraş, A. Paulos, S. Pertet, C. Reverte, J. Slember, D. Srivastava Carnegie Mellon University Problem Description
More informationEloquence Training What s new in Eloquence B.08.00
Eloquence Training What s new in Eloquence B.08.00 2010 Marxmeier Software AG Rev:100727 Overview Released December 2008 Supported until November 2013 Supports 32-bit and 64-bit platforms HP-UX Itanium
More informationReal-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 26 Real - Time POSIX. (Contd.) Ok Good morning, so let us get
More informationAvoid a single point of failure by replicating the server Increase scalability by sharing the load among replicas
3. Replication Replication Goal: Avoid a single point of failure by replicating the server Increase scalability by sharing the load among replicas Problems: Partial failures of replicas and messages No
More informationChapter 3: Operating-System Structures. Common System Components
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1
More informationTool - 1: Health Center
Tool - 1: Health Center Joseph Amrith Raj http://facebook.com/webspherelibrary 2 Tool - 1: Health Center Table of Contents WebSphere Application Server Troubleshooting... Error! Bookmark not defined. About
More informationHPC performance applications on Virtual Clusters
Panagiotis Kritikakos EPCC, School of Physics & Astronomy, University of Edinburgh, Scotland - UK pkritika@epcc.ed.ac.uk 4 th IC-SCCE, Athens 7 th July 2010 This work investigates the performance of (Java)
More informationOverview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification
Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by
More informationChapter 2: OS Overview
Chapter 2: OS Overview CmSc 335 Operating Systems 1. Operating system objectives and functions Operating systems control and support the usage of computer systems. a. usage users of a computer system:
More informationGeneral Introduction
Managed Runtime Technology: General Introduction Xiao-Feng Li (xiaofeng.li@gmail.com) 2012-10-10 Agenda Virtual machines Managed runtime systems EE and MM (JIT and GC) Summary 10/10/2012 Managed Runtime
More informationELEC 377. Operating Systems. Week 1 Class 3
Operating Systems Week 1 Class 3 Last Class! Computer System Structure, Controllers! Interrupts & Traps! I/O structure and device queues.! Storage Structure & Caching! Hardware Protection! Dual Mode Operation
More informationWhy Threads Are A Bad Idea (for most purposes)
Why Threads Are A Bad Idea (for most purposes) John Ousterhout Sun Microsystems Laboratories john.ousterhout@eng.sun.com http://www.sunlabs.com/~ouster Introduction Threads: Grew up in OS world (processes).
More informationJava Performance Evaluation through Rigorous Replay Compilation
Java Performance Evaluation through Rigorous Replay Compilation Andy Georges Lieven Eeckhout Dries Buytaert Department Electronics and Information Systems, Ghent University, Belgium {ageorges,leeckhou}@elis.ugent.be,
More informationChapter 6, The Operating System Machine Level
Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General
More informationVertical Profiling: Understanding the Behavior of Object-Oriented Applications
Vertical Profiling: Understanding the Behavior of Object-Oriented Applications ABSTRACT Matthias Hauswirth University of Colorado at Boulder Matthias.Hauswirth@colorado.edu Amer Diwan University of Colorado
More informationlanguage 1 (source) compiler language 2 (target) Figure 1: Compiling a program
CS 2112 Lecture 27 Interpreters, compilers, and the Java Virtual Machine 1 May 2012 Lecturer: Andrew Myers 1 Interpreters vs. compilers There are two strategies for obtaining runnable code from a program
More informationDistributed File System. MCSN N. Tonellotto Complements of Distributed Enabling Platforms
Distributed File System 1 How do we get data to the workers? NAS Compute Nodes SAN 2 Distributed File System Don t move data to workers move workers to the data! Store data on the local disks of nodes
More informationJava Real-Time Distributed Processing over Chorus/OS
Java Real-Time Distributed Processing over Chorus/OS Christophe Lizzi CS Technologies Informatiques lizzi@csti.fr CNAM, CEDRIC lab. lizzi@cnam.fr Outline Motivations Our vision Real-time Java Operating
More informationOPERATING SYSTEMS SCHEDULING
OPERATING SYSTEMS SCHEDULING Jerry Breecher 5: CPU- 1 CPU What Is In This Chapter? This chapter is about how to get a process attached to a processor. It centers around efficient algorithms that perform
More informationChapter 14: Recovery System
Chapter 14: Recovery System Chapter 14: Recovery System Failure Classification Storage Structure Recovery and Atomicity Log-Based Recovery Remote Backup Systems Failure Classification Transaction failure
More informationDistributed Architectures. Distributed Databases. Distributed Databases. Distributed Databases
Distributed Architectures Distributed Databases Simplest: client-server Distributed databases: two or more database servers connected to a network that can perform transactions independently and together
More informationAn Implementation Of Multiprocessor Linux
An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than
More informationVirtual Machine Learning: Thinking Like a Computer Architect
Virtual Machine Learning: Thinking Like a Computer Architect Michael Hind IBM T.J. Watson Research Center March 21, 2005 CGO 05 Keynote 2005 IBM Corporation What is this talk about? Virtual Machines? 2
More informationJava Troubleshooting and Performance
Java Troubleshooting and Performance Margus Pala Java Fundamentals 08.12.2014 Agenda Debugger Thread dumps Memory dumps Crash dumps Tools/profilers Rules of (performance) optimization 1. Don't optimize
More informationOptimising Cloud Computing with SBSE
Optimising Cloud Computing with SBSE David R. White & Jeremy Singer {david.r.white, jeremy.singer}@glasgow.ac.uk University of Glasgow Monday 25 July 2011 OUTLINE VIRTUAL MACHINES OPPORTUNITIES FOR SBSE
More informationChapter 2 System Structures
Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices
More informationEffective Java Programming. efficient software development
Effective Java Programming efficient software development Structure efficient software development what is efficiency? development process profiling during development what determines the performance of
More informationCharacterizing Java Virtual Machine for More Efficient Processor Power Management. Abstract
Characterizing Java Virtual Machine for More Efficient Processor Power Management Marcelo S. Quijano, Lide Duan Department of Electrical and Computer Engineering University of Texas at San Antonio hrk594@my.utsa.edu,
More informationpicojava TM : A Hardware Implementation of the Java Virtual Machine
picojava TM : A Hardware Implementation of the Java Virtual Machine Marc Tremblay and Michael O Connor Sun Microelectronics Slide 1 The Java picojava Synergy Java s origins lie in improving the consumer
More informationProcesses and Non-Preemptive Scheduling. Otto J. Anshus
Processes and Non-Preemptive Scheduling Otto J. Anshus 1 Concurrency and Process Challenge: Physical reality is Concurrent Smart to do concurrent software instead of sequential? At least we want to have
More informationFrom Control Loops to Software
CNRS-VERIMAG Grenoble, France October 2006 Executive Summary Embedded systems realization of control systems by computers Computers are the major medium for realizing controllers There is a gap between
More informationGarbage Collection in the Java HotSpot Virtual Machine
http://www.devx.com Printed from http://www.devx.com/java/article/21977/1954 Garbage Collection in the Java HotSpot Virtual Machine Gain a better understanding of how garbage collection in the Java HotSpot
More informationHardware/Software Co-Design of a Java Virtual Machine
Hardware/Software Co-Design of a Java Virtual Machine Kenneth B. Kent University of Victoria Dept. of Computer Science Victoria, British Columbia, Canada ken@csc.uvic.ca Micaela Serra University of Victoria
More informationExperimental Evaluation of Distributed Middleware with a Virtualized Java Environment
Experimental Evaluation of Distributed Middleware with a Virtualized Java Environment Nuno A. Carvalho, João Bordalo, Filipe Campos and José Pereira HASLab / INESC TEC Universidade do Minho MW4SOC 11 December
More informationCS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study
CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what
More informationReconfigurable Architecture Requirements for Co-Designed Virtual Machines
Reconfigurable Architecture Requirements for Co-Designed Virtual Machines Kenneth B. Kent University of New Brunswick Faculty of Computer Science Fredericton, New Brunswick, Canada ken@unb.ca Micaela Serra
More informationBuilt-in Concurrency Primitives in Java Programming Language. by Yourii Martiak and Mahir Atmis
Built-in Concurrency Primitives in Java Programming Language by Yourii Martiak and Mahir Atmis Overview One of the many strengths of Java is the built into the programming language support for concurrency
More informationConcepts of Database Management Seventh Edition. Chapter 7 DBMS Functions
Concepts of Database Management Seventh Edition Chapter 7 DBMS Functions Objectives Introduce the functions, or services, provided by a DBMS Describe how a DBMS handles updating and retrieving data Examine
More informationIOmark- VDI. HP HP ConvergedSystem 242- HC StoreVirtual Test Report: VDI- HC- 150427- b Test Report Date: 27, April 2015. www.iomark.
IOmark- VDI HP HP ConvergedSystem 242- HC StoreVirtual Test Report: VDI- HC- 150427- b Test Copyright 2010-2014 Evaluator Group, Inc. All rights reserved. IOmark- VDI, IOmark- VM, VDI- IOmark, and IOmark
More informationG22.3250-001. Porcupine. Robert Grimm New York University
G22.3250-001 Porcupine Robert Grimm New York University Altogether Now: The Three Questions! What is the problem?! What is new or different?! What are the contributions and limitations? Porcupine from
More informationDepartment of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY. 6.828 Operating System Engineering: Fall 2005
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.828 Operating System Engineering: Fall 2005 Quiz II Solutions Average 84, median 83, standard deviation
More informationThe Microsoft Windows Hypervisor High Level Architecture
The Microsoft Windows Hypervisor High Level Architecture September 21, 2007 Abstract The Microsoft Windows hypervisor brings new virtualization capabilities to the Windows Server operating system. Its
More informationOperating Systems. 05. Threads. Paul Krzyzanowski. Rutgers University. Spring 2015
Operating Systems 05. Threads Paul Krzyzanowski Rutgers University Spring 2015 February 9, 2015 2014-2015 Paul Krzyzanowski 1 Thread of execution Single sequence of instructions Pointed to by the program
More informationConfiguring Apache Derby for Performance and Durability Olav Sandstå
Configuring Apache Derby for Performance and Durability Olav Sandstå Sun Microsystems Trondheim, Norway Agenda Apache Derby introduction Performance and durability Performance tips Open source database
More informationThe Use of Traces for Inlining in Java Programs
The Use of Traces for Inlining in Java Programs Borys J. Bradel and Tarek S. Abdelrahman Edward S. Rogers Sr. Department of Electrical and Computer Engineering University of Toronto, Toronto, Ontario,
More information(Pessimistic) Timestamp Ordering. Rules for read and write Operations. Pessimistic Timestamp Ordering. Write Operations and Timestamps
(Pessimistic) stamp Ordering Another approach to concurrency control: Assign a timestamp ts(t) to transaction T at the moment it starts Using Lamport's timestamps: total order is given. In distributed
More informationData Management in the Cloud
Data Management in the Cloud Ryan Stern stern@cs.colostate.edu : Advanced Topics in Distributed Systems Department of Computer Science Colorado State University Outline Today Microsoft Cloud SQL Server
More informationAdministering Microsoft SQL Server 2012 Databases
Administering Microsoft SQL Server 2012 Databases Install and Configure (19%) Plan installation. May include but not limited to: evaluate installation requirements; design the installation of SQL Server
More informationIntroduction of Virtualization Technology to Multi-Process Model Checking
Introduction of Virtualization Technology to Multi-Process Model Checking Watcharin Leungwattanakit watcharin@is.s.u-tokyo.ac.jp Masami Hagiya hagiya@is.s.u-tokyo.ac.jp Mitsuharu Yamamoto Chiba University
More informationCloud Storage. Parallels. Performance Benchmark Results. White Paper. www.parallels.com
Parallels Cloud Storage White Paper Performance Benchmark Results www.parallels.com Table of Contents Executive Summary... 3 Architecture Overview... 3 Key Features... 4 No Special Hardware Requirements...
More informationTashkent: Uniting Durability with Transaction Ordering for High-Performance Scalable Database Replication
EuroSys 2006 117 Tashkent: Uniting Durability with Transaction Ordering for High-Performance Scalable Database Replication Sameh Elnikety Steven Dropsho Fernando Pedone School of Computer and Communication
More informationThe Java Virtual Machine and Mobile Devices. John Buford, Ph.D. buford@alum.mit.edu Oct 2003 Presented to Gordon College CS 311
The Java Virtual Machine and Mobile Devices John Buford, Ph.D. buford@alum.mit.edu Oct 2003 Presented to Gordon College CS 311 Objectives Review virtual machine concept Introduce stack machine architecture
More informationMulti-Threading Performance on Commodity Multi-Core Processors
Multi-Threading Performance on Commodity Multi-Core Processors Jie Chen and William Watson III Scientific Computing Group Jefferson Lab 12000 Jefferson Ave. Newport News, VA 23606 Organization Introduction
More informationOperating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
More informationLinux Process Scheduling Policy
Lecture Overview Introduction to Linux process scheduling Policy versus algorithm Linux overall process scheduling objectives Timesharing Dynamic priority Favor I/O-bound process Linux scheduling algorithm
More informationPrecise and Efficient Garbage Collection in VMKit with MMTk
Precise and Efficient Garbage Collection in VMKit with MMTk LLVM Developer s Meeting Nicolas Geoffray nicolas.geoffray@lip6.fr 2 Background VMKit: Java and.net on top of LLVM Uses LLVM s JIT for executing
More informationSMock A Test Platform for the Evaluation of Monitoring Tools
SMock A Test Platform for the Evaluation of Monitoring Tools User Manual Ruth Mizzi Faculty of ICT University of Malta June 20, 2013 Contents 1 Introduction 3 1.1 The Architecture and Design of SMock................
More informationPython Programming: An Introduction to Computer Science
Python Programming: An Introduction to Computer Science Chapter 1 Computers and Programs 1 Objectives To understand the respective roles of hardware and software in a computing system. To learn what computer
More informationVIRTUALIZATION AND CPU WAIT TIMES IN A LINUX GUEST ENVIRONMENT
VIRTUALIZATION AND CPU WAIT TIMES IN A LINUX GUEST ENVIRONMENT James F Brady Capacity Planner for the State Of Nevada jfbrady@doit.nv.gov The virtualization environment presents the opportunity to better
More informationUsing jvmstat and visualgc to Solve Memory Management Problems
Using jvmstat and visualgc to Solve Memory Management Problems java.sun.com/javaone/sf 1 Wally Wedel Sun Software Services Brian Doherty Sun Microsystems, Inc. Analyze JVM Machine Memory Management Problems
More informationINTRODUCTION TO JAVA PROGRAMMING LANGUAGE
INTRODUCTION TO JAVA PROGRAMMING LANGUAGE Today Java programming language is one of the most popular programming language which is used in critical applications like stock market trading system on BSE,
More informationHighly Available Mobile Services Infrastructure Using Oracle Berkeley DB
Highly Available Mobile Services Infrastructure Using Oracle Berkeley DB Executive Summary Oracle Berkeley DB is used in a wide variety of carrier-grade mobile infrastructure systems. Berkeley DB provides
More informationIntroduction. What is an Operating System?
Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization
More informationEclipse Visualization and Performance Monitoring
Eclipse Visualization and Performance Monitoring Chris Laffra IBM Ottawa Labs http://eclipsefaq.org/chris Chris Laffra Eclipse Visualization and Performance Monitoring Page 1 Roadmap Introduction Introspection
More informationLast Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
More informationJava DB Performance. Olav Sandstå Sun Microsystems, Trondheim, Norway Submission ID: 860
Java DB Performance Olav Sandstå Sun Microsystems, Trondheim, Norway Submission ID: 860 AGENDA > Java DB introduction > Configuring Java DB for performance > Programming tips > Understanding Java DB performance
More informationPractical Performance Understanding the Performance of Your Application
Neil Masson IBM Java Service Technical Lead 25 th September 2012 Practical Performance Understanding the Performance of Your Application 1 WebSphere User Group: Practical Performance Understand the Performance
More informationTasks Schedule Analysis in RTAI/Linux-GPL
Tasks Schedule Analysis in RTAI/Linux-GPL Claudio Aciti and Nelson Acosta INTIA - Depto de Computación y Sistemas - Facultad de Ciencias Exactas Universidad Nacional del Centro de la Provincia de Buenos
More informationReal-Time Component Software. slide credits: H. Kopetz, P. Puschner
Real-Time Component Software slide credits: H. Kopetz, P. Puschner Overview OS services Task Structure Task Interaction Input/Output Error Detection 2 Operating System and Middleware Applica3on So5ware
More informationPC Based Escape Analysis in the Java Virtual Machine
PC Based Escape Analysis in the Java Virtual Machine Manfred Jendrosch, Gerhard W. Dueck, Charlie Gracie, and AndréHinkenjann Abstract Current computer architectures are multi-threaded and make use of
More informationWeb Performance, Inc. Testing Services Sample Performance Analysis
Web Performance, Inc. Testing Services Sample Performance Analysis Overview This document contains two performance analysis reports created for actual web testing clients, and are a good example of the
More informationIn Memory Accelerator for MongoDB
In Memory Accelerator for MongoDB Yakov Zhdanov, Director R&D GridGain Systems GridGain: In Memory Computing Leader 5 years in production 100s of customers & users Starts every 10 secs worldwide Over 15,000,000
More informationBox Leangsuksun+ * Thammasat University, Patumtani, Thailand # Oak Ridge National Laboratory, Oak Ridge, TN, USA + Louisiana Tech University, Ruston,
N. Saragol * Hong Ong# Box Leangsuksun+ K. Chanchio* * Thammasat University, Patumtani, Thailand # Oak Ridge National Laboratory, Oak Ridge, TN, USA + Louisiana Tech University, Ruston, LA, USA Introduction
More informationWEBLOGIC ADMINISTRATION
WEBLOGIC ADMINISTRATION Session 1: Introduction Oracle Weblogic Server Components Java SDK and Java Enterprise Edition Application Servers & Web Servers Documentation Session 2: Installation System Configuration
More informationThe Advantages of Class Loaders Over Compaction in Java
Application Isolation in the Java Virtual Machine Grzegorz Czajkowski Sun Microsystems Laboratories 2600 Casey Avenue Mountain View, CA 94043, USA +1-650-336-6501 Grzegorz.Czajkowski@sun.com Abstract To
More informationPrinciples and characteristics of distributed systems and environments
Principles and characteristics of distributed systems and environments Definition of a distributed system Distributed system is a collection of independent computers that appears to its users as a single
More information