A JIT Compiler for Android s Dalvik VM. Ben Cheng, Bill Buzbee May 2010
|
|
|
- Shonda Campbell
- 10 years ago
- Views:
Transcription
1
2 A JIT Compiler for Android s Dalvik VM Ben Cheng, Bill Buzbee May 2010
3 Overview View live session notes and ask questions on Google Wave: Dalvik Environment Trace vs. Method Granularity JITs Dalvik JIT 1.0 Future directions for the JIT Performance Case Studies Profiling JIT d code Built-in Self-Verification Mode 3
4 Dalvik Execution Environment Virtual Machine for Android Apps See 2008 Google IO talk Very compact representation Emphasis on code/data sharing to reduce memory usage Process container sandboxes for security 4
5 Dalvik Interpreter Dalvik programs consist of byte code, processed by a hostspecific interpreter Highly-tuned, very fast interpreter (2x similar) Typically less than 1/3rd of time spent in the interpreter OS and performance-critical library code natively compiled Good enough for most applications Performance a problem for compute-intensive applications Partial solution was the release of the Android Native Development Kit, which allows Dalvik applications to call out to statically-compiled methods Other part of the solution is a Just-In-Time Compiler Translates byte code to optimized native code at run time 5
6 A JIT for Dalvik - but what flavor of JIT? Surprisingly wide variety of JIT styles When to compile install time, launch time, method invoke time, instruction fetch time What to compile whole program, shared library, page, method, trace, single instruction Each combination has strengths & weaknesses - key for us was to meet the needs of a mobile, battery-powered Android device Minimal additional memory usage Coexist with Dalvik s container-based security model Quick delivery of performance boost Smooth transition between interpretation & compiled code 6
7 Method vs. Trace Granularity Method-granularity JIT Most common model for server JITs Interprets with profiling to detect hot methods Compile & optimize method-sized chunks Strengths Larger optimization window Machine state sync with interpreter only at method call boundaries Weaknesses Cold code within hot methods gets compiled Much higher memory usage during compilation & optimization Longer delay between the point at which a method goes hot and the point that a compiled and optimized method delivers benefits 7
8 Method vs. Trace Granularity Trace-granularity JIT Most common model for low-level code migration systems Interprets with profiling to identify hot execution paths Compiled fragments chained together in translation cache Strengths Only hottest of hot code is compiled, minimizing memory usage Tight integration with interpreter allows focus on common cases Very rapid return of performance boost once hotness detected Weaknesses Smaller optimization window limits peak gain More frequent state synchronization with interpreter Difficult to share translation cache across processes 8
9 Hot vs. Cold Code: system_server example Full Program 4,695,780 bytes Hot Methods 396,230 bytes 8% of Program Method JIT: Best optimization window Trace JIT: Best speed/space tradeoff Hot Traces 103,966 bytes 26% of Hot Methods 2% of Program 9
10 The Decision: Start with a Trace JIT Minimizing memory usage critical for mobile devices Important to deliver performance boost quickly User might give up on new app if we wait too long to JIT Leave open the possibility of supplementing with methodbased JIT The two styles can co-exist A mobile device looks more like a server when it s plugged in Best of both worlds Trace JIT when running on battery Method JIT in background while charging 10
11 Start Update profile count for this location Interpret until next potential trace head No Threshold? Yes Dalvik Trace JIT Flow Translation Cache Translation Translation Exit 0 Interpret/build trace request No Xlation exists? Yes Exit 0 Exit 1 Exit 1 Submit compilation request Compiler Thread Install new translation Translation Exit 0 Exit 1 11
12 Dalvik JIT v1.0 Overview Tight integration with interpreter Useful to think of the JIT as an extension of the interpreter Interpreter profiles and triggers trace selection mode when a potential trace head goes hot Trace request is built during interpretation Allows access to actual run-time values Ensures that trace only includes byte codes that have successfully executed at least once (useful for some optimizations) Trace requests handed off to compiler thread, which compiles and optimizes into native code Compiled traces chained together in translation cache 12
13 Dalvik JIT v1.0 Features Per-process translation caches (sharing only within security sandboxes) Simple traces - generally 1 to 2 basic blocks long Local optimizations Register promotion Load/store elimination Redundant null-check elimination Heuristic scheduling Loop optimizations Simple loop detection Invariant code motion Induction variable optimization 13
14 CPU-Intensive Benchmark Results Speedup relative to Dalvik Interpreter on Nexus One Linpack BenchmarkPi CMark SciMark3 Checkers JIT Total Memory Usage (in kbytes) Linpack, BenchmarkPI, CaffeineMark & Checkers from the Android Market Scimark 3 run from command-line shell Measurements taken on Nexus One running pre-release Froyo build in airplane mode 0 Linpack BenchmarkPi CMark SciMark3 Checkers 14
15 Future Directions Method in-lining Trace extension Persistent profile information Off-line trace coalescing Off-line method translation Tuning, tuning and more tuning 15
16 Solving Performance and Correctness Issues How much boost will an app get from the JIT? JIT can only remove cycles from the interpreter OProfile can provide the insight to breakdown the workload How resource-friendly/optimizing is the JIT? Again, OProfile can provide some high-level information Use a special Dalvik build to analyze code quality How to debug the JIT? Code generation vs optimization bugs Self-verification against the interpreter 16 Google Confidential
17 Case Study: RoboDefense Lots of actions 17 Google Confidential
18 Case Study: RoboDefense Performance gain from Dalvik capped at 4.34% Samples % Module libskia.so no-vmlinux libcutils.so libdvm.so libc.so libglesv2_adreno200.so 18 Google Confidential
19 Case Study: Checkers JIT <3 Brain and Puzzle x Speedup 19 Google Confidential
20 Case Study: Checkers Use OProfile to explain the speedup Samples % Module dalvik-jit-code-cache 97% 96.45% libdvm.so 3% no-vmlinux libc.so libglesv2_adreno200.so 20 Google Confidential
21 Solving Performance and Correctness Issues Part 2/3 How much boost will an app get from the JIT? How resource-friendly/optimizing is the JIT? How to debug the JIT? 21 Google Confidential
22 Peek into the Code Cache Land kill -12 <pid> Example from system_server (20 minutes after boot) 9898 compilations using bytes 80 bytes / compilation Code size stats: / (trace/method Dalvik) / = 7.7x code bloat from Dalvik to native Total compilation time: 6024 ms Average unit compilation time: 609 µs 22 Google Confidential
23 JIT Profiling Set dalvik.vm.jit.profile = true in /data/local.prop count % offset (# insn), line method signature x0(+2), x18(+2), x22(+2), x5(+2), x0(+2), x30(+3), 892 Ljava/util/HashMap;size;()I Lcom/android/internal/os/ BatteryStatsImpl;readKernelWakelockStats;()Ljava/util/Map; Lcom/android/internal/os/ BatteryStatsImpl;readKernelWakelockStats;()Ljava/util/Map; Ljava/util/HashSet;size;()I Ljava/util/HashSet;size;()I Lcom/android/internal/os/BatteryStatsImpl;parseProcWakelocks; ([BI)Ljava/util/Map; 23 Google Confidential
24 Solving Performance and Correctness Issues Part 3/3 How much boost will an app get from the JIT? How resource-friendly/optimizing is the JIT? How to debug the JIT? 24 Google Confidential
25 Guess What s Wrong Here A codegen bug is deliberately injected to the JIT E/AndroidRuntime( 84): *** FATAL EXCEPTION IN SYSTEM PROCESS: android.server.serverthread E/AndroidRuntime( 84): java.lang.runtimeexception: Binary XML file line #28: You must supply a layout_width attribute. E/AndroidRuntime( 84): at android.content.res.typedarray.getlayoutdimension(typedarray.java: 491) E/AndroidRuntime( 187): *** FATAL EXCEPTION IN SYSTEM PROCESS: E/AndroidRuntime( 84): at android.view.viewgroup $LayoutParams.setBaseAttributes(ViewGroup.java:3592) WindowManager E/AndroidRuntime( 187): java.lang.arrayindexoutofboundsexception E/AndroidRuntime( 187): 661) E/AndroidRuntime( 187): : at java.util.gregoriancalendar.computefields(gregoriancalendar.java: E/AndroidRuntime( 435): *** FATAL at java.util.calendar.complete(calendar.java:807) EXCEPTION IN SYSTEM PROCESS: android.server.serverthread E/AndroidRuntime( 435): java.lang.stackoverflowerror E/AndroidRuntime( 435): at java.util.hashtable.get(hashtable.java:267) E/AndroidRuntime( 435): at java.util.propertyresourcebundle.handlegetobject(propertyresourcebundle.java:120) : 25 Google Confidential
26 Debugging and Verification Tools Byte code binary search Call graph filtering Self-verification w/ the interpreter Code generation Optimization 26 Google Confidential
27 Bugs == Incorrect Machine States Heap, stack, and control-flow Shadow Heap Addr Data == Heap Shadow Stack == Stack PC == PC 27 Google Confidential
28 Step-by-Step Debugging under Self-Verification Divergence detected ~~~ DbgIntp(8): REGISTERS DIVERGENCE! ********** SHADOW STATE DUMP ********** CurrentPC: 0x42062d24, Offset: 0x0012 Class: Ljava/lang/Character; Method: touppercase Dalvik PC: 0x42062d1c endpc: 0x42062d24 Interp FP: 0x41866a3c endfp: 0x41866a3c Shadow FP: 0x22c330 endfp: 0x22c330 Frame1 Bytes: 8 Frame2 Local: 0 Bytes: 0 Trace length: 2 State: 0 28 Google Confidential
29 Step-by-Step Debugging under Self-Verification Divergence details ********** SHADOW TRACE DUMP ********** 0x42062d1c: (0x000e) const/16 0x42062d20: (0x0010) if-ge *** Interp Registers: (v0) 0x b5 X (v1) 0x 55 *** Shadow Registers: (v0) 0x b6 X (v1) 0x Google Confidential
30 Step-by-Step Debugging under Self-Verification Replay the compilation with verbose dump Compiler: Building trace for touppercase, offset 0xe 0x42062d1c: 0x0013 const/16 v0, #181 0x42062d20: 0x0035 if-ge v1, v0, #4 TRACEINFO (141): 0x42062d00 Ljava/lang/Character;toUpperCase dalvik offset: const/16 v0, #181 0x2 (0002): ldr r1, [r5, #4] 0x4 (0004): mov r0, # dalvik offset: if-ge v1, v0, #4 0x6 (0006): cmp r1, r0 0x8 (0008): str r0, [r5, #0] 0xa (000a): bge 0x Google Confidential
31 Summary A resource friendly JIT for Dalvik Small memory footprint Significant speedup improvement delivered 2x ~ 5x performance gain for computation intensive workloads More optimizations waiting in the pipeline Enable more computation intensive apps Verification bot Dynamic code review by the interpreter 31 Google Confidential
32 Q&A 32
General Introduction
Managed Runtime Technology: General Introduction Xiao-Feng Li ([email protected]) 2012-10-10 Agenda Virtual machines Managed runtime systems EE and MM (JIT and GC) Summary 10/10/2012 Managed Runtime
Example of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
picojava 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
Interpreters 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.
Chapter 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
Replication on Virtual Machines
Replication on Virtual Machines Siggi Cherem CS 717 November 23rd, 2004 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism
Instrumentation Software Profiling
Instrumentation Software Profiling Software Profiling Instrumentation of a program so that data related to runtime performance (e.g execution time, memory usage) is gathered for one or more pieces of the
How To Use Java On An Ipa 2.2.2 (Jspa) With A Microsoft Powerbook (Jempa) With An Ipad 2.3.2 And A Microos 2.5 (Microos)
Java Monitoring and Diagnostic Tooling Iris Baron IBM Java JIT on System Z [email protected] Session ID: 16182 Insert Custom Session QR if Desired. Java Road Map Java 7.0 Language Updates Java 6.0 SE 5.0
Chapter 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
PART 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
NetBeans Profiler is an
NetBeans Profiler Exploring the NetBeans Profiler From Installation to a Practical Profiling Example* Gregg Sporar* NetBeans Profiler is an optional feature of the NetBeans IDE. It is a powerful tool that
Overview. The Android operating system is like a cake consisting of various layers.
The Android Stack Overview The Android operating system is like a cake consisting of various layers. Each layer has its own characteristics and purpose but the layers are not always cleanly separated and
Monitoring, Tracing, Debugging (Under Construction)
Monitoring, Tracing, Debugging (Under Construction) I was already tempted to drop this topic from my lecture on operating systems when I found Stephan Siemen's article "Top Speed" in Linux World 10/2003.
Basics of VTune Performance Analyzer. Intel Software College. Objectives. VTune Performance Analyzer. Agenda
Objectives At the completion of this module, you will be able to: Understand the intended purpose and usage models supported by the VTune Performance Analyzer. Identify hotspots by drilling down through
Effective 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
Running a Program on an AVD
Running a Program on an AVD Now that you have a project that builds an application, and an AVD with a system image compatible with the application s build target and API level requirements, you can run
Tuning WebSphere Application Server ND 7.0. Royal Cyber Inc.
Tuning WebSphere Application Server ND 7.0 Royal Cyber Inc. JVM related problems Application server stops responding Server crash Hung process Out of memory condition Performance degradation Check if the
Virtual 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
MOBILE APPS. QA Testing for mobile applications
MOBILE APPS QA Testing for mobile applications How familiar are you with Apple devices? This question can be asked for apple devices as well as Android devices - depending on the company your interviewing
Introducing the IBM Software Development Kit for PowerLinux
Introducing the IBM Software Development Kit for PowerLinux Wainer S. Moschetta IBM, PowerLinux SDK Team Leader [email protected] 1 2009 IBM Acknowledgments The information in this presentation was created
Virtualization. Dr. Yingwu Zhu
Virtualization Dr. Yingwu Zhu What is virtualization? Virtualization allows one computer to do the job of multiple computers. Virtual environments let one computer host multiple operating systems at the
Chapter 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
11.1 inspectit. 11.1. inspectit
11.1. inspectit Figure 11.1. Overview on the inspectit components [Siegl and Bouillet 2011] 11.1 inspectit The inspectit monitoring tool (website: http://www.inspectit.eu/) has been developed by NovaTec.
Last 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
Armed E-Bunny: A Selective Dynamic Compiler for Embedded Java Virtual Machine Targeting ARM Processors
2005 ACM Symposium on Applied Computing Armed E-Bunny: A Selective Dynamic Compiler for Embedded Java Virtual Machine Targeting ARM Processors Mourad Debbabi Computer Security Research Group CIISE, Concordia
Android Geek Night. Application framework
Android Geek Night Application framework Agenda 1. Presentation 1. Trifork 2. JAOO 2010 2. Google Android headlines 3. Introduction to an Android application 4. New project using ADT 5. Main building blocks
System 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
Pentesting Android Apps. Sneha Rajguru (@Sneharajguru)
Pentesting Android Apps Sneha Rajguru (@Sneharajguru) About Me Penetration Tester Web, Mobile and Infrastructure applications, Secure coding ( part time do secure code analysis), CTF challenge writer (at
An Oracle White Paper September 2013. Advanced Java Diagnostics and Monitoring Without Performance Overhead
An Oracle White Paper September 2013 Advanced Java Diagnostics and Monitoring Without Performance Overhead Introduction... 1 Non-Intrusive Profiling and Diagnostics... 2 JMX Console... 2 Java Flight Recorder...
HOTPATH VM. An Effective JIT Compiler for Resource-constrained Devices
HOTPATH VM An Effective JIT Compiler for Resource-constrained Devices based on the paper by Andreas Gal, Christian W. Probst and Michael Franz, VEE 06 INTRODUCTION INTRODUCTION Most important factor: speed
A Practical Method to Diagnose Memory Leaks in Java Application Alan Yu
A Practical Method to Diagnose Memory Leaks in Java Application Alan Yu 1. Introduction The Java virtual machine s heap stores all objects created by a running Java application. Objects are created by
Debugging A MotoHawk Application using the Application Monitor
CONTROL SYSTEM SOLUTIONS Debugging A MotoHawk Application using the Application Monitor Author(s): New Eagle Consulting 3588 Plymouth Road, #274 Ann Arbor, MI 48105-2603 Phone: +1 (734) 929-4557 Ben Hoffman
CUDA Optimization with NVIDIA Tools. Julien Demouth, NVIDIA
CUDA Optimization with NVIDIA Tools Julien Demouth, NVIDIA What Will You Learn? An iterative method to optimize your GPU code A way to conduct that method with Nvidia Tools 2 What Does the Application
Monitoring 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
Performance Analysis of Android Platform
Performance Analysis of Android Platform Jawad Manzoor EMDC 21-Nov-2010 Table of Contents 1. Introduction... 3 2. Android Architecture... 3 3. Dalvik Virtual Machine... 4 3.1 Architecture of Dalvik VM...
Eight Ways to Increase GPIB System Performance
Application Note 133 Eight Ways to Increase GPIB System Performance Amar Patel Introduction When building an automated measurement system, you can never have too much performance. Increasing performance
Mobile Application Development Android
Mobile Application Development Android MTAT.03.262 Satish Srirama [email protected] Goal Give you an idea of how to start developing Android applications Introduce major Android application concepts
Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture
Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2
ZooKeeper. Table of contents
by Table of contents 1 ZooKeeper: A Distributed Coordination Service for Distributed Applications... 2 1.1 Design Goals...2 1.2 Data model and the hierarchical namespace...3 1.3 Nodes and ephemeral nodes...
CSCI 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
Guided Performance Analysis with the NVIDIA Visual Profiler
Guided Performance Analysis with the NVIDIA Visual Profiler Identifying Performance Opportunities NVIDIA Nsight Eclipse Edition (nsight) NVIDIA Visual Profiler (nvvp) nvprof command-line profiler Guided
Mobile Performance Testing Approaches and Challenges
NOUS INFOSYSTEMS LEVERAGING INTELLECT Mobile Performance Testing Approaches and Challenges ABSTRACT Mobile devices are playing a key role in daily business functions as mobile devices are adopted by most
Android Programming and Security
Android Programming and Security Dependable and Secure Systems Andrea Saracino [email protected] Outlook (1) The Android Open Source Project Philosophy Players Outlook (2) Part I: Android System
Fachbereich 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
KVM: A Hypervisor for All Seasons. Avi Kivity [email protected]
KVM: A Hypervisor for All Seasons Avi Kivity [email protected] November 2007 Virtualization Simulation of computer system in software Components Processor: register state, instructions, exceptions Memory
Introduction to Android
Introduction to Android 26 October 2015 Lecture 1 26 October 2015 SE 435: Development in the Android Environment 1 Topics for Today What is Android? Terminology and Technical Terms Ownership, Distribution,
Compilers and Tools for Software Stack Optimisation
Compilers and Tools for Software Stack Optimisation EJCP 2014 2014/06/20 [email protected] Outline Compilers for a Set-Top-Box Compilers Potential Auto Tuning Tools Dynamic Program instrumentation
Open-Xchange Outlook OXtender
Open-Xchange Outlook OXtender Functionality v1.00 Copyright 2006, OPEN-XCHANGE Inc. This document is the intellectual property of Open-Xchange Inc., Tarrytown, NY, USA The document may be copied in whole
ELEC 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
find model parameters, to validate models, and to develop inputs for models. c 1994 Raj Jain 7.1
Monitors Monitor: A tool used to observe the activities on a system. Usage: A system programmer may use a monitor to improve software performance. Find frequently used segments of the software. A systems
Performance Measurement of Dynamically Compiled Java Executions
Performance Measurement of Dynamically Compiled Java Executions Tia Newhall and Barton P. Miller University of Wisconsin Madison Madison, WI 53706-1685 USA +1 (608) 262-1204 {newhall,bart}@cs.wisc.edu
IBM 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
RoverPal - A Mobile Payment Application
White Paper RoverPal - A Mobile Payment Application Introduction Online shopping has been a favorable experience with most of us. Still, we come across instances where we are out on shopping and we run
Finding Performance and Power Issues on Android Systems. By Eric W Moore
Finding Performance and Power Issues on Android Systems By Eric W Moore Agenda Performance & Power Tuning on Android & Features Needed/Wanted in a tool Some Performance Tools Getting a Device that Supports
Mobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications
Mobile Devices - An Introduction to the Android Operating Environment Design, Architecture, and Performance Implications Dominique A. Heger DHTechnologies (DHT) [email protected] 1.0 Introduction With
Holly Cummins IBM Hursley Labs. Java performance not so scary after all
Holly Cummins IBM Hursley Labs Java performance not so scary after all So... You have a performance problem. What next? Goals After this talk you will: Not feel abject terror when confronted with a performance
Tool - 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
2 2011 Oracle Corporation Proprietary and Confidential
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material,
CS5460: Operating Systems. Lecture: Virtualization 2. Anton Burtsev March, 2013
CS5460: Operating Systems Lecture: Virtualization 2 Anton Burtsev March, 2013 Paravirtualization: Xen Full virtualization Complete illusion of physical hardware Trap _all_ sensitive instructions Virtualized
Troubleshooting PHP Issues with Zend Server Code Tracing
White Paper: Troubleshooting PHP Issues with Zend Server Code Tracing Technical January 2010 Table of Contents Introduction... 3 What is Code Tracing?... 3 Supported Workflows... 4 Manual Workflow... 4
THE BUSY DEVELOPER'S GUIDE TO JVM TROUBLESHOOTING
THE BUSY DEVELOPER'S GUIDE TO JVM TROUBLESHOOTING November 5, 2010 Rohit Kelapure HTTP://WWW.LINKEDIN.COM/IN/ROHITKELAPURE HTTP://TWITTER.COM/RKELA Agenda 2 Application Server component overview Support
CS378 -Mobile Computing. Android Overview and Android Development Environment
CS378 -Mobile Computing Android Overview and Android Development Environment What is Android? A software stack for mobile devices that includes An operating system Middleware Key Applications Uses Linux
Full and Para Virtualization
Full and Para Virtualization Dr. Sanjay P. Ahuja, Ph.D. 2010-14 FIS Distinguished Professor of Computer Science School of Computing, UNF x86 Hardware Virtualization The x86 architecture offers four levels
GraySort on Apache Spark by Databricks
GraySort on Apache Spark by Databricks Reynold Xin, Parviz Deyhim, Ali Ghodsi, Xiangrui Meng, Matei Zaharia Databricks Inc. Apache Spark Sorting in Spark Overview Sorting Within a Partition Range Partitioner
Cloud 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
Eclipse 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
TEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING
TEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING NVIDIA DEVELOPER TOOLS BUILD. DEBUG. PROFILE. C/C++ IDE INTEGRATION STANDALONE TOOLS HARDWARE SUPPORT CPU AND GPU DEBUGGING & PROFILING
As shown, the emulator instance connected to adb on port 5555 is the same as the instance whose console listens on port 5554.
Tools > Android Debug Bridge Android Debug Bridge (adb) is a versatile tool lets you manage the state of an emulator instance or Android-powered device. It is a client-server program that includes three
Performance Monitoring of the Software Frameworks for LHC Experiments
Proceedings of the First EELA-2 Conference R. mayo et al. (Eds.) CIEMAT 2009 2009 The authors. All rights reserved Performance Monitoring of the Software Frameworks for LHC Experiments William A. Romero
Operating System Structures
COP 4610: Introduction to Operating Systems (Spring 2015) Operating System Structures Zhi Wang Florida State University Content Operating system services User interface System calls System programs Operating
Virtualization. Clothing the Wolf in Wool. Wednesday, April 17, 13
Virtualization Clothing the Wolf in Wool Virtual Machines Began in 1960s with IBM and MIT Project MAC Also called open shop operating systems Present user with the view of a bare machine Execute most instructions
XenMobile Logs Collection Guide
XenMobile Logs Collection Guide 1 Contents Summary... 3 Background... 3 How to Collect Logs from Server Components... 4 Support Bundle Contents... 4 Operations Supported for Server Components... 5 Configurations
TRACE PERFORMANCE TESTING APPROACH. Overview. Approach. Flow. Attributes
TRACE PERFORMANCE TESTING APPROACH Overview Approach Flow Attributes INTRODUCTION Software Testing Testing is not just finding out the defects. Testing is not just seeing the requirements are satisfied.
Lab 4 In class Hands-on Android Debugging Tutorial
Lab 4 In class Hands-on Android Debugging Tutorial Submit lab 4 as PDF with your feedback and list each major step in this tutorial with screen shots documenting your work, i.e., document each listed step.
Part V Applications. What is cloud computing? SaaS has been around for awhile. Cloud Computing: General concepts
Part V Applications Cloud Computing: General concepts Copyright K.Goseva 2010 CS 736 Software Performance Engineering Slide 1 What is cloud computing? SaaS: Software as a Service Cloud: Datacenters hardware
ROM Monitor. Entering the ROM Monitor APPENDIX
APPENDIX B This appendix describes the Cisco router ROM monitor (also called the bootstrap program). The ROM monitor firmware runs when the router is powered up or reset. The firmware helps to initialize
Dongwoo Kim : Hyeon-jeong Lee s Husband
2/ 32 Who we are Dongwoo Kim : Hyeon-jeong Lee s Husband Ph.D. Candidate at Chungnam National University in South Korea Majoring in Computer Communications & Security Interested in mobile hacking, digital
The V8 JavaScript Engine
The V8 JavaScript Engine Design, Implementation, Testing and Benchmarking Mads Ager, Software Engineer Agenda Part 1: What is JavaScript? Part 2: V8 internals Part 3: V8 testing and benchmarking What is
Module Title: Software Development A: Mobile Application Development
Module Title: Software Development A: Mobile Application Development Module Code: SDA SDA prerequisites: CT1, HS1, MS001, CA Award of BSc. In Information Technology The Bachelor of Science in Information
Mobile Performance Management Tools Prasanna Gawade, Infosys April 2014
Mobile Performance Management Tools Prasanna Gawade, Infosys April 2014 Computer Measurement Group, India 1 Contents Introduction Mobile Performance Optimization Developer Tools Purpose and Overview Mobile
VM Application Debugging via JTAG: Android TRACE32 JTAG Debug Bridge ADB Architecture Stop-Mode implications for ADB JTAG Transport Outlook
VM Application Debugging via JTAG: Android TRACE32 JTAG Debug Bridge ADB Architecture Stop-Mode implications for ADB JTAG Transport Outlook TRACE32 JTAG Debug Bridge Hagen Patzke 2011-06-16 www.lauterbach.com
Evading Android Emulator
Evading Android Emulator Thanasis Petsas [email protected] [email protected] - www.syssec-project.eu 1 What is a Virtual Machine? A software based computer that functions like a physical machine A
Practical 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
I Control Your Code Attack Vectors Through the Eyes of Software-based Fault Isolation. Mathias Payer, ETH Zurich
I Control Your Code Attack Vectors Through the Eyes of Software-based Fault Isolation Mathias Payer, ETH Zurich Motivation Applications often vulnerable to security exploits Solution: restrict application
An Easier Way for Cross-Platform Data Acquisition Application Development
An Easier Way for Cross-Platform Data Acquisition Application Development For industrial automation and measurement system developers, software technology continues making rapid progress. Software engineers
Performance Tuning and Optimizing SQL Databases 2016
Performance Tuning and Optimizing SQL Databases 2016 http://www.homnick.com [email protected] +1.561.988.0567 Boca Raton, Fl USA About this course This four-day instructor-led course provides students
Java Garbage Collection Basics
Java Garbage Collection Basics Overview Purpose This tutorial covers the basics of how Garbage Collection works with the Hotspot JVM. Once you have learned how the garbage collector functions, learn how
DevOps Best Practices for Mobile Apps. Sanjeev Sharma IBM Software Group
DevOps Best Practices for Mobile Apps Sanjeev Sharma IBM Software Group Me 18 year in the software industry 15+ years he has been a solution architect with IBM Areas of work: o DevOps o Enterprise Architecture
ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY
ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY Suhas Holla #1, Mahima M Katti #2 # Department of Information Science & Engg, R V College of Engineering Bangalore, India Abstract In the advancing
vmprof Documentation Release 0.1 Maciej Fijalkowski, Antonio Cuni, Sebastian Pawlus
vmprof Documentation Release 0.1 Maciej Fijalkowski, Antonio Cuni, Sebastian Pawlus January 23, 2016 Contents 1 Introduction 1 1.1 Requirements............................................... 1 1.2 Installation................................................
Capacity Estimation for Linux Workloads
Capacity Estimation for Linux Workloads Session L985 David Boyes Sine Nomine Associates 1 Agenda General Capacity Planning Issues Virtual Machine History and Value Unique Capacity Issues in Virtual Machines
Availability Digest. www.availabilitydigest.com. Raima s High-Availability Embedded Database December 2011
the Availability Digest Raima s High-Availability Embedded Database December 2011 Embedded processing systems are everywhere. You probably cannot go a day without interacting with dozens of these powerful
MYPY: A PYTHON VARIANT WITH SEAMLESS DYNAMIC AND STATIC TYPING. Jukka Lehtosalo University of Cambridge Computer Laboratory
MYPY: A PYTHON VARIANT WITH SEAMLESS DYNAMIC AND STATIC TYPING Jukka Lehtosalo University of Cambridge Computer Laboratory SPEAKER BIO 2000-2006 Software engineer (QPR Software and Kielikone) 2007-2009
Instruction Set Architecture (ISA)
Instruction Set Architecture (ISA) * Instruction set architecture of a machine fills the semantic gap between the user and the machine. * ISA serves as the starting point for the design of a new machine
HeapStats: 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,
Transaction Performance Maximizer InterMax
Transaction Performance Maximizer InterMax A-1208 Woorim Business Center, YeomChang-Dong, GangSeo-Gu, Seoul Korea Republic. TEL 82.2.6230.6300 l FAX 80.2.6203.6301 l www.ex-em.com Transaction Performance
language 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
