Experimental Evaluation of Distributed Middleware with a Virtualized Java Environment

Size: px
Start display at page:

Download "Experimental Evaluation of Distributed Middleware with a Virtualized Java Environment"

Transcription

1 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 12, Nuno Alexandre Carvalho MINHA

2 Motivation Service oriented architectures span a wide range of application scenarios Geographically dispersed Deployed outside enterprise information systems Comprehensive evaluation requirements Correctness Performance 2

3 Motivation Current evaluation solutions Simulation models: useful while the whole system isn t available, but can only validate design and not the middleware and service implementation Actual deployment: most realistic but costly and time consuming, also requires the availability of the entire system 3

4 Overview Traditional experimental middleware evaluation JVM n... JVM 2 JVM 1 Platform libraries (java.*) Platform libraries (java.*) Platform libraries (java.*) Java Interpreter / JIT Compiler Java Interpreter / JIT Compiler Java Interpreter / JIT Compiler Network 4

5 Overview Traditional experimental middleware evaluation Multiple instances of an application are deployed in multiple JVMs JVMs are scattered across multiple physical hosts The amount of the required hardware resources is o&en prohibitive JVM n... JVM 2 JVM 1 Platform libraries (java.*) Java Interpreter / JIT Compiler Platform libraries (java.*) Platform libraries (java.*) Java Interpreter / JIT Compiler Java Interpreter / JIT Compiler Network 5

6 Overview MINHA middleware evaluation... Virtual JVM 1 JVM Virtual JVM n Virtual JVM 1 Bytecode instrumentation MINHA Platform libraries (java.*) Java Interpreter / JIT Compiler 6

7 Overview MINHA middleware evaluation Reproduces the same distributed run within a single JVM Application and middleware classes for each vjvm are automatically transformed Some simulation models are developed from scratch, others are produced by translating native libraries... JVM Virtual JVM 1 Virtual JVM 1 Bytecode instrumentation MINHA Platform libraries (java.*) Java Interpreter / JIT Compiler Virtual JVM n 7

8 Overview MINHA middleware evaluation advantages Global observation without interference Simulated components... Virtual JVM 1 Virtual JVM 1 Bytecode instrumentation JVM Virtual JVM n Large scale scenarios Automated What-If analysis MINHA Platform libraries (java.*) Java Interpreter / JIT Compiler 8

9 Agenda Simulation Kernel Virtualized JVM Input/Output Models Calibration Case Study 9

10 Simulation Kernel Event-based simulation kernel Abstract resource management primitives JVM... Virtual JVM n Virtual JVM 1 Virtual JVM 1 Simulated events and resources Platform libraries (java.*) Java Interpreter / JIT Compiler 10

11 Simulation Kernel Combination of real and simulated code: Measuring the time of execution and management of a simulated processor Allowing sequential Java code to execute by eliminating the inversion of control resultant from the event simulation JVM... Virtual JVM n Virtual JVM 1 Virtual JVM 1 Time virtualization Simulated events and resources Platform libraries (java.*) Java Interpreter / JIT Compiler 11

12 Simulation Kernel public class Foo { public static void main(...){ int i = 0; while (i<100) i++; } } 12

13 Simulation Kernel JVM class load public class Foo { start public static void main(...){ int i = 0; while (i<100) i++; } } 12

14 Simulation Kernel JVM class load public class Foo { start public static void main(...){ int i = 0; while (i<100) i++; } } For simplicity, let s assume that this segment is a thread 12

15 Simulation Kernel Thread JVM class load public class Foo { start() start public static void main(...){ int i = 0; while (i<100) i++; } } For simplicity, let s assume that this segment is a thread 12

16 Simulation Kernel Thread JVM class load public class Foo { event.run() start() start public static void main(...){ int i = 0; while (i<100) i++; } } For simplicity, let s assume that this segment is a thread 12

17 Simulation Thread Thread Simulation Kernel JVM st.pause() class load public class Foo { starttime() st.wakeup() event.run() start() start public static void main(...){ int i = 0; while (i<100) i++; } stoptime() st.pause() } For simplicity, let s assume that this segment is a thread 12

18 Simulation Thread Thread Simulation Kernel JVM st.pause() class load public class Foo { simulation time delta starttime() st.wakeup() event.run() start() start public static void main(...){ int i = 0; while (i<100) real time delta } i++; stoptime() st.pause() } For simplicity, let s assume that this segment is a thread 12

19 Virtualized JVM Reflect real time of execution of a sequence of code in the occupation of a simulated processor Blocking operations (thread synchronization and I/O) must be intercepted and translated into corresponding simulation primitives Code executing in different virtual instances cannot interfere directly through shared variables 13

20 Virtualized JVM Bytecode manipulation: custom class loader that uses ASM Java bytecode manipulation and analysis framework to rewrite classes Isolation: each virtual JVM has its own separate instance of the class loader acting like a sandbox Bytecode instrumentation Virtual JVM 1 Bytecode instrumentation... Translated platform libraries (moved.java.*) JVM Virtual JVM 2 Trans Byte Time virtualization Interaction: A subset of classes, containing the simulation kernel and models, are kept global providing a controlled channel for virtual JVMs to interact Simulated events and Platform libraries ( Java Interpreter / JIT 14

21 Virtualized JVM Bytecode manipulation: custom class loader that uses ASM Java bytecode manipulation and analysis framework to rewrite classes Isolation: each virtual JVM has its own separate instance of the class loader acting like a sandbox Bytecode instrumentation Virtual JVM 1 Bytecode instrumentation... Translated platform libraries (moved.java.*) JVM Virtual JVM 2 Trans Byte Time virtualization Interaction: A subset of classes, containing the simulation kernel and models, are kept global providing a controlled channel for virtual JVMs to interact Simulated events and Platform libraries ( Java Interpreter / JIT 14

22 Virtualized JVM Bytecode manipulation: custom class loader that uses ASM Java bytecode manipulation and analysis framework to rewrite classes Isolation: each virtual JVM has its own separate instance of the class loader acting like a sandbox Bytecode instrumentation Virtual JVM 1 Bytecode instrumentation... Translated platform libraries (moved.java.*) JVM Virtual JVM 2 Trans Byte Time virtualization Interaction: A subset of classes, containing the simulation kernel and models, are kept global providing a controlled channel for virtual JVMs to interact Simulated events and Platform libraries ( Java Interpreter / JIT 15

23 Virtualized JVM Bytecode manipulation: custom class loader that uses ASM Java bytecode manipulation and analysis framework to rewrite classes Isolation: each virtual JVM has its own separate instance of the class loader acting like a sandbox Bytecode instrumentation Virtual JVM 1 Bytecode instrumentation... Translated platform libraries (moved.java.*) JVM Virtual JVM 2 Trans Byte Time virtualization Interaction: A subset of classes, containing the simulation kernel and models, are kept global providing a controlled channel for virtual JVMs to interact Simulated events and Platform libraries ( Java Interpreter / JIT 15

24 Virtualized JVM... JVM Virtual JVM n Bytecode manipulation: custom class loader that uses ASM Java bytecode manipulation and analysis framework to rewrite classes Virtual JVM 1 Translated platform libraries (moved.java.*) Virtual JVM 2 Translated platform libraries (moved.java.*) Bytecode instrumentation Bytecode instrumentation Bytecode instrumentation Isolation: each virtual JVM has its own separate instance of the class loader acting like a sandbox Time virtualization Simulated events and resources Platform libraries (java.*) Simulation models (network,...) Java Interpreter / JIT Compiler Interaction: A subset of classes, containing the simulation kernel and models, are kept global providing a controlled channel for virtual JVMs to interact 16

25 Virtualized JVM Platform libraries Java prohibits the transformation of classes under java.* package Rewrite classes that contains native methods Overwrite special static methods, like System.nanoTime() The remaining classes are analyzed and processed automatically Translated platform libraries (moved.java.*) Bytecode instrumentation Virtual JVM 1 Time virtualization... Translated platform libraries (moved.java.*) JVM Virtual JVM 2 Trans Stubbed platform libraries Bytecode instrumentation (fake.java.*) Stub Byte Simulated events and Platform libraries ( Java Interpreter / JIT 17

26 Virtualized JVM Synchronization Primitives in java.util.concurrent.* Rewrite to fake.* Java monitor operations and implicit mutex/condition variables Inject a special fake.java.lang.object ancestor on all translated classes and rewrite monitor operations to invocations to methods on this class Translated platform libraries (moved.java.*) Bytecode instrumentation Virtual JVM 1 Time virtualization... Translated platform libraries (moved.java.*) JVM Virtual JVM 2 Trans Stubbed platform libraries Bytecode instrumentation (fake.java.*) Stub Byte Simulated events and Platform libraries ( Java Interpreter / JIT static synchronized methods are solved in a similar way with a singleton object 18

27 Input/Output Models Filesystem Reads and writes are intercepted in order to avoid direct invocation of native methods, thus providing separate filesystems to different virtual JVMs Network Modeled as a resource shared by all communication channels with a finite capacity Access control is performed by the leaky bucket algorithm TCP and UDP sockets, including Multicast, supported through the java.net API 19

28 Calibration Network Bandwidth Sending and receiving overheads Latency Performed by running two benchmarks: Flood Round-trip 20

29 Calibration Bandwidth with realistic behavior BW (Mbit/s) BW (Mbit/s) Real Minha Real Minha Size (bytes) Size (bytes) a) Writing b) Reading 21

30 Calibration Latency with realistic behavior 0.7 Round Trip (ms) Real Minha Size (bytes) c) Latency 22

31 Case Study Devices Profile for Web Services (DPWS) Standard that defines a set of protocols for devices to achieve seamless networking and interoperability through Web Services Proposed as the base for large scale smart grids and safety critical medical devices Used on recent operating systems, home automation, assembly lines and car industry Web Services for Devices (WS4D-JMEDS) Framework that implements DPWS standard Supports J2SE and J2ME 23

32 Case Study Membership notification Manager finds peers through multicast Manager sends producers addresses to peers Peers register themselves on producers Producers initiate notification rounds Number of peers go from 10 to 300 Manager Producer Rounds of events C C C C C C... C 24

33 Case Study In a normal WS4D deploy we would have Each peer on a different device Each device with only one CPU core 25

34 Case Study In a normal WS4D deploy we would have Each peer on a different device Each device with only one CPU core Due to hardware restrictions we deployed 300 devices on multiple JVMs on a single host with 24 CPU cores Localhost network with minimal latency Producer can send up to 24 notifications in parallel (biasing the results) 25

35 Case Study MINHA eliminates false latency when all peers run on a single host MINHA is faster than real deployments on I/O bound scenarios (up to 50 times) Latency (ms) Multiple JVMs Minha Duration (s) Multiple JVMs Minha (sim) Minha (real) Devices Devices a) Latency b) Duration 26

36 Conclusion Allows off-the-shelf code (bytecode) to run unchanged including threading, concurrency control and networking Manages a simulated timeline which is updated using accurate measurements of time spent executing real code fragments Provides simulation models of networking primitives and an automatic calibrator Allows off-the-shelf middleware stack evaluation deployed on a large scale system with hundred of devices 27

37 Conclusion 28

Cloud Computing. Up until now

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

More information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

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

More information

Chapter 3: Operating-System Structures. Common System Components

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

More information

Java and Real Time Storage Applications

Java and Real Time Storage Applications Java and Real Time Storage Applications Gary Mueller Janet Borzuchowski 1 Flavors of Java for Embedded Systems Software Java Virtual Machine(JVM) Compiled Java Hardware Java Virtual Machine Java Virtual

More information

System Structures. Services Interface Structure

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

More information

Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java

Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java Oxford University Press 2007. All rights reserved. 1 C and C++ C and C++ with in-line-assembly, Visual Basic, and Visual C++ the

More information

Resource Utilization of Middleware Components in Embedded Systems

Resource Utilization of Middleware Components in Embedded Systems Resource Utilization of Middleware Components in Embedded Systems 3 Introduction System memory, CPU, and network resources are critical to the operation and performance of any software system. These system

More information

ZooKeeper. Table of contents

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...

More information

Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert

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

More information

Cloud Operating Systems for Servers

Cloud Operating Systems for Servers Cloud Operating Systems for Servers Mike Day Distinguished Engineer, Virtualization and Linux August 20, 2014 mdday@us.ibm.com 1 What Makes a Good Cloud Operating System?! Consumes Few Resources! Fast

More information

Multi-core Programming System Overview

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

Apache Tomcat. Load-balancing and Clustering. Mark Thomas, 20 November 2014. 2014 Pivotal Software, Inc. All rights reserved.

Apache Tomcat. Load-balancing and Clustering. Mark Thomas, 20 November 2014. 2014 Pivotal Software, Inc. All rights reserved. 2 Apache Tomcat Load-balancing and Clustering Mark Thomas, 20 November 2014 Introduction Apache Tomcat committer since December 2003 markt@apache.org Tomcat 8 release manager Member of the Servlet, WebSocket

More information

Multi-Channel Clustered Web Application Servers

Multi-Channel Clustered Web Application Servers THE AMERICAN UNIVERSITY IN CAIRO SCHOOL OF SCIENCES AND ENGINEERING Multi-Channel Clustered Web Application Servers A Masters Thesis Department of Computer Science and Engineering Status Report Seminar

More information

Restraining Execution Environments

Restraining Execution Environments Restraining Execution Environments Segurança em Sistemas Informáticos André Gonçalves Contents Overview Java Virtual Machine: Overview The Basic Parts Security Sandbox Mechanisms Sandbox Memory Native

More information

Globus Striped GridFTP Framework and Server. Raj Kettimuthu, ANL and U. Chicago

Globus Striped GridFTP Framework and Server. Raj Kettimuthu, ANL and U. Chicago Globus Striped GridFTP Framework and Server Raj Kettimuthu, ANL and U. Chicago Outline Introduction Features Motivation Architecture Globus XIO Experimental Results 3 August 2005 The Ohio State University

More information

Replication on Virtual Machines

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

More information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

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

More information

Application Note. Windows 2000/XP TCP Tuning for High Bandwidth Networks. mguard smart mguard PCI mguard blade

Application Note. Windows 2000/XP TCP Tuning for High Bandwidth Networks. mguard smart mguard PCI mguard blade Application Note Windows 2000/XP TCP Tuning for High Bandwidth Networks mguard smart mguard PCI mguard blade mguard industrial mguard delta Innominate Security Technologies AG Albert-Einstein-Str. 14 12489

More information

- An Essential Building Block for Stable and Reliable Compute Clusters

- An Essential Building Block for Stable and Reliable Compute Clusters Ferdinand Geier ParTec Cluster Competence Center GmbH, V. 1.4, March 2005 Cluster Middleware - An Essential Building Block for Stable and Reliable Compute Clusters Contents: Compute Clusters a Real Alternative

More information

Chapter 3 Operating-System Structures

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

More information

Jonathan Worthington Scarborough Linux User Group

Jonathan Worthington Scarborough Linux User Group Jonathan Worthington Scarborough Linux User Group Introduction What does a Virtual Machine do? Hides away the details of the hardware platform and operating system. Defines a common set of instructions.

More information

Proactive, Resource-Aware, Tunable Real-time Fault-tolerant Middleware

Proactive, 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 information

General Introduction

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

FOUNDATION Fieldbus High Speed Ethernet Control System

FOUNDATION Fieldbus High Speed Ethernet Control System FOUNDATION Fieldbus High Speed Ethernet Control System Sean J. Vincent Fieldbus Inc. Austin, TX, USA KEYWORDS Fieldbus, High Speed Ethernet, H1, ABSTRACT FOUNDATION fieldbus is described in part by the

More information

Service and Resource Discovery in Smart Spaces Composed of Low Capacity Devices

Service and Resource Discovery in Smart Spaces Composed of Low Capacity Devices Service and Resource Discovery in Smart Spaces Composed of Low Capacity Devices Önder Uzun, Tanır Özçelebi, Johan Lukkien, Remi Bosman System Architecture and Networking Department of Mathematics and Computer

More information

Report of the case study in Sistemi Distribuiti A simple Java RMI application

Report of the case study in Sistemi Distribuiti A simple Java RMI application Report of the case study in Sistemi Distribuiti A simple Java RMI application Academic year 2012/13 Vessio Gennaro Marzulli Giovanni Abstract In the ambit of distributed systems a key-role is played by

More information

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run SFWR ENG 3BB4 Software Design 3 Concurrent System Design 2 SFWR ENG 3BB4 Software Design 3 Concurrent System Design 11.8 10 CPU Scheduling Chapter 11 CPU Scheduling Policies Deciding which process to run

More information

An Easier Way for Cross-Platform Data Acquisition Application Development

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

More information

Cisco Integrated Services Routers Performance Overview

Cisco Integrated Services Routers Performance Overview Integrated Services Routers Performance Overview What You Will Learn The Integrated Services Routers Generation 2 (ISR G2) provide a robust platform for delivering WAN services, unified communications,

More information

CSCI E 98: Managed Environments for the Execution of Programs

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

More information

ILOG JRules Performance Analysis and Capacity Planning

ILOG JRules Performance Analysis and Capacity Planning ILOG JRules Performance Analysis and Capacity Planning Version 1. Last Modified: 25-9-31 Introduction JRules customers and evaluators often ask fundamental questions such as: How fast is the rule engine?,

More information

10G Ethernet: The Foundation for Low-Latency, Real-Time Financial Services Applications and Other, Future Cloud Applications

10G Ethernet: The Foundation for Low-Latency, Real-Time Financial Services Applications and Other, Future Cloud Applications 10G Ethernet: The Foundation for Low-Latency, Real-Time Financial Services Applications and Other, Future Cloud Applications Testing conducted by Solarflare Communications and Arista Networks shows that

More information

Crash Course in Java

Crash Course in Java Crash Course in Java Based on notes from D. Hollinger Based in part on notes from J.J. Johns also: Java in a Nutshell Java Network Programming and Distributed Computing Netprog 2002 Java Intro 1 What is

More information

Validating Java for Safety-Critical Applications

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

COLO: COarse-grain LOck-stepping Virtual Machine for Non-stop Service

COLO: COarse-grain LOck-stepping Virtual Machine for Non-stop Service COLO: COarse-grain LOck-stepping Virtual Machine for Non-stop Service Eddie Dong, Yunhong Jiang 1 Legal Disclaimer INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE,

More information

System Models for Distributed and Cloud Computing

System Models for Distributed and Cloud Computing System Models for Distributed and Cloud Computing Dr. Sanjay P. Ahuja, Ph.D. 2010-14 FIS Distinguished Professor of Computer Science School of Computing, UNF Classification of Distributed Computing Systems

More information

10Gb Ethernet: The Foundation for Low-Latency, Real-Time Financial Services Applications and Other, Latency-Sensitive Applications

10Gb Ethernet: The Foundation for Low-Latency, Real-Time Financial Services Applications and Other, Latency-Sensitive Applications 10Gb Ethernet: The Foundation for Low-Latency, Real-Time Financial Services Applications and Other, Latency-Sensitive Applications Testing conducted by Solarflare and Arista Networks reveals single-digit

More information

Informatica Ultra Messaging SMX Shared-Memory Transport

Informatica Ultra Messaging SMX Shared-Memory Transport White Paper Informatica Ultra Messaging SMX Shared-Memory Transport Breaking the 100-Nanosecond Latency Barrier with Benchmark-Proven Performance This document contains Confidential, Proprietary and Trade

More information

Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation

Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation Objectives Distributed Databases and Client/Server Architecture IT354 @ Peter Lo 2005 1 Understand the advantages and disadvantages of distributed databases Know the design issues involved in distributed

More information

Between Mutual Trust and Mutual Distrust: Practical Fine-grained Privilege Separation in Multithreaded Applications

Between Mutual Trust and Mutual Distrust: Practical Fine-grained Privilege Separation in Multithreaded Applications Between Mutual Trust and Mutual Distrust: Practical Fine-grained Privilege Separation in Multithreaded Applications Jun Wang, Xi Xiong, Peng Liu Penn State Cyber Security Lab 1 An inherent security limitation

More information

Experimental Comparison of Concolic and Random Testing for Java Card Applets

Experimental Comparison of Concolic and Random Testing for Java Card Applets Experimental Comparison of Concolic and Random Testing for Java Card Applets Kari Kähkönen, Roland Kindermann, Keijo Heljanko, and Ilkka Niemelä Aalto University, Department of Information and Computer

More information

Middleware. Peter Marwedel TU Dortmund, Informatik 12 Germany. technische universität dortmund. fakultät für informatik informatik 12

Middleware. Peter Marwedel TU Dortmund, Informatik 12 Germany. technische universität dortmund. fakultät für informatik informatik 12 Universität Dortmund 12 Middleware Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: Alexandra Nolte, Gesine Marwedel, 2003 2010 年 11 月 26 日 These slides use Microsoft clip arts. Microsoft copyright

More information

Virtual Machine Security

Virtual Machine Security Virtual Machine Security CSE497b - Spring 2007 Introduction Computer and Network Security Professor Jaeger www.cse.psu.edu/~tjaeger/cse497b-s07/ 1 Operating System Quandary Q: What is the primary goal

More information

MAQAO Performance Analysis and Optimization Tool

MAQAO Performance Analysis and Optimization Tool MAQAO Performance Analysis and Optimization Tool Andres S. CHARIF-RUBIAL andres.charif@uvsq.fr Performance Evaluation Team, University of Versailles S-Q-Y http://www.maqao.org VI-HPS 18 th Grenoble 18/22

More information

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont. Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures

More information

In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal

In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal Paper Title: Generic Framework for Video Analysis Authors: Luís Filipe Tavares INESC Porto lft@inescporto.pt Luís Teixeira INESC Porto, Universidade Católica Portuguesa lmt@inescporto.pt Luís Corte-Real

More information

Application. Performance Testing

Application. Performance Testing Application Performance Testing www.mohandespishegan.com شرکت مهندش پیشگان آزمون افسار یاش Performance Testing March 2015 1 TOC Software performance engineering Performance testing terminology Performance

More information

language 1 (source) compiler language 2 (target) Figure 1: Compiling a program

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

More information

Java Coding Practices for Improved Application Performance

Java Coding Practices for Improved Application Performance 1 Java Coding Practices for Improved Application Performance Lloyd Hagemo Senior Director Application Infrastructure Management Group Candle Corporation In the beginning, Java became the language of the

More information

Java Virtual Machine: the key for accurated memory prefetching

Java Virtual Machine: the key for accurated memory prefetching Java Virtual Machine: the key for accurated memory prefetching Yolanda Becerra Jordi Garcia Toni Cortes Nacho Navarro Computer Architecture Department Universitat Politècnica de Catalunya Barcelona, Spain

More information

Mission-Critical Java. An Oracle White Paper Updated October 2008

Mission-Critical Java. An Oracle White Paper Updated October 2008 Mission-Critical Java An Oracle White Paper Updated October 2008 Mission-Critical Java The Oracle JRockit family of products is a comprehensive portfolio of Java runtime solutions that leverages the base

More information

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines Operating System Concepts 3.1 Common System Components

More information

Operating System Structures

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

More information

Enabling Real-Time Sharing and Synchronization over the WAN

Enabling Real-Time Sharing and Synchronization over the WAN Solace message routers have been optimized to very efficiently distribute large amounts of data over wide area networks, enabling truly game-changing performance by eliminating many of the constraints

More information

Accelerating Hadoop MapReduce Using an In-Memory Data Grid

Accelerating Hadoop MapReduce Using an In-Memory Data Grid Accelerating Hadoop MapReduce Using an In-Memory Data Grid By David L. Brinker and William L. Bain, ScaleOut Software, Inc. 2013 ScaleOut Software, Inc. 12/27/2012 H adoop has been widely embraced for

More information

Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61

Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61 F# Applications to Computational Financial and GPU Computing May 16th Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61 Today! Why care about F#? Just another fashion?! Three success stories! How Alea.cuBase

More information

Garbage Collection in the Java HotSpot Virtual Machine

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

D1.2 Network Load Balancing

D1.2 Network Load Balancing D1. Network Load Balancing Ronald van der Pol, Freek Dijkstra, Igor Idziejczak, and Mark Meijerink SARA Computing and Networking Services, Science Park 11, 9 XG Amsterdam, The Netherlands June ronald.vanderpol@sara.nl,freek.dijkstra@sara.nl,

More information

APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM

APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM 152 APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM A1.1 INTRODUCTION PPATPAN is implemented in a test bed with five Linux system arranged in a multihop topology. The system is implemented

More information

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE

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

Rackspace Cloud Databases and Container-based Virtualization

Rackspace Cloud Databases and Container-based Virtualization Rackspace Cloud Databases and Container-based Virtualization August 2012 J.R. Arredondo @jrarredondo Page 1 of 6 INTRODUCTION When Rackspace set out to build the Cloud Databases product, we asked many

More information

Application Performance in the Cloud

Application Performance in the Cloud Application Performance in the Cloud Understanding and ensuring application performance in highly elastic environments Albert Mavashev, CTO Nastel Technologies, Inc. amavashev@nastel.com What is Cloud?

More information

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,

More information

Quantifying the Performance Degradation of IPv6 for TCP in Windows and Linux Networking

Quantifying the Performance Degradation of IPv6 for TCP in Windows and Linux Networking Quantifying the Performance Degradation of IPv6 for TCP in Windows and Linux Networking Burjiz Soorty School of Computing and Mathematical Sciences Auckland University of Technology Auckland, New Zealand

More information

CS423 Spring 2015 MP4: Dynamic Load Balancer Due April 27 th at 9:00 am 2015

CS423 Spring 2015 MP4: Dynamic Load Balancer Due April 27 th at 9:00 am 2015 CS423 Spring 2015 MP4: Dynamic Load Balancer Due April 27 th at 9:00 am 2015 1. Goals and Overview 1. In this MP you will design a Dynamic Load Balancer architecture for a Distributed System 2. You will

More information

Can You Trust Your JVM Diagnostic Tools?

Can You Trust Your JVM Diagnostic Tools? Can You Trust Your JVM Diagnostic Tools? Isaac Sjoblom, Tim S. Snyder, and Elena Machkasova Computer Science Discipline University of Minnesota Morris Morris, MN 56267 sjobl014@umn.edu, snyde479@umn.edu,

More information

Scaling Objectivity Database Performance with Panasas Scale-Out NAS Storage

Scaling Objectivity Database Performance with Panasas Scale-Out NAS Storage White Paper Scaling Objectivity Database Performance with Panasas Scale-Out NAS Storage A Benchmark Report August 211 Background Objectivity/DB uses a powerful distributed processing architecture to manage

More information

Virtual Machines. www.viplavkambli.com

Virtual Machines. www.viplavkambli.com 1 Virtual Machines A virtual machine (VM) is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software

More information

An Hybrid MPI/Stream Programming Model for Heterogeneous High Performance Systems

An Hybrid MPI/Stream Programming Model for Heterogeneous High Performance Systems An Hybrid MPI/Stream Programming Model for Heterogeneous High Performance Systems Emilio P. Mancini, Gregory Marsh, Dhabaleswar K. Panda {mancini, marshgr, panda}@cse.ohio-state.edu May 19th, 2009 Outline

More information

QoS and Communication Performance Management

QoS and Communication Performance Management Using a Real-Time, QoS-based ORB to Intelligently Manage Communications Bandwidth in a Multi-Protocol Environment Bill Beckwith Objective Interface Systems, Inc. OMG Embedded Workshop The Nature of CORBA

More information

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson CS 3530 Operating Systems L02 OS Intro Part 1 Dr. Ken Hoganson Chapter 1 Basic Concepts of Operating Systems Computer Systems A computer system consists of two basic types of components: Hardware components,

More information

Performance Analysis of IPv4 v/s IPv6 in Virtual Environment Using UBUNTU

Performance Analysis of IPv4 v/s IPv6 in Virtual Environment Using UBUNTU Performance Analysis of IPv4 v/s IPv6 in Virtual Environment Using UBUNTU Savita Shiwani Computer Science,Gyan Vihar University, Rajasthan, India G.N. Purohit AIM & ACT, Banasthali University, Banasthali,

More information

GORDA: An Open Architecture for Database Replication

GORDA: An Open Architecture for Database Replication GORDA: An Open Architecture for Database Replication Alfrânio Correia Jr. University of Minho Nuno Carvalho University of Lisboa José Pereira University of Minho Ricardo Vilaça University of Minho Susana

More information

14/05/2013 Ed Merks EDL V1.0 1

14/05/2013 Ed Merks EDL V1.0 1 14/05/2013 Ed Merks EDL V1.0 1 Java Performance is Complex Write once run everywhere Java is slow because it s interpreted No, there are Just In Time (JIT) compilers Different hardware and platforms Different

More information

enterprise professional expertise distilled

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

The Optimistic Total Order Protocol

The Optimistic Total Order Protocol From Spontaneous Total Order to Uniform Total Order: different degrees of optimistic delivery Luís Rodrigues Universidade de Lisboa ler@di.fc.ul.pt José Mocito Universidade de Lisboa jmocito@lasige.di.fc.ul.pt

More information

CEJVM: Cluster Enabled Java Virtual Machine

CEJVM: Cluster Enabled Java Virtual Machine CE: Cluster Enabled Java Virtual Machine M.U. Janjua, M. Yasin, F. Sher, K. Awan, I. Hassan Faculty of Computer Science & Engineering, GIK Institute, Topi, Pakistan umar_janjua@yahoo.com, mmyasin@giki.edu.pk

More information

The Advantages of Class Loaders Over Compaction in Java

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

25 May 11.30 Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy

25 May 11.30 Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy UK CMG Presentation 25 May 11.30 Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy Is Performance a Problem? Not using appropriate performance tools will cause

More information

Driving force. What future software needs. Potential research topics

Driving force. What future software needs. Potential research topics Improving Software Robustness and Efficiency Driving force Processor core clock speed reach practical limit ~4GHz (power issue) Percentage of sustainable # of active transistors decrease; Increase in #

More information

Introduction to the NI Real-Time Hypervisor

Introduction to the NI Real-Time Hypervisor Introduction to the NI Real-Time Hypervisor 1 Agenda 1) NI Real-Time Hypervisor overview 2) Basics of virtualization technology 3) Configuring and using Real-Time Hypervisor systems 4) Performance and

More information

Performance Workload Design

Performance Workload Design Performance Workload Design The goal of this paper is to show the basic principles involved in designing a workload for performance and scalability testing. We will understand how to achieve these principles

More information

How accurately do Java profilers predict runtime performance bottlenecks?

How accurately do Java profilers predict runtime performance bottlenecks? How accurately do Java profilers predict runtime performance bottlenecks? Master Software Engineering How accurately do Java profilers predict runtime performance bottlenecks? Peter Klijn: Student number

More information

11.1 inspectit. 11.1. inspectit

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.

More information

A Transport Protocol for Multimedia Wireless Sensor Networks

A Transport Protocol for Multimedia Wireless Sensor Networks A Transport Protocol for Multimedia Wireless Sensor Networks Duarte Meneses, António Grilo, Paulo Rogério Pereira 1 NGI'2011: A Transport Protocol for Multimedia Wireless Sensor Networks Introduction Wireless

More information

Performance Analysis and Optimization Tool

Performance Analysis and Optimization Tool Performance Analysis and Optimization Tool Andres S. CHARIF-RUBIAL andres.charif@uvsq.fr Performance Analysis Team, University of Versailles http://www.maqao.org Introduction Performance Analysis Develop

More information

Performance Review of COTS-based System Architecture

Performance Review of COTS-based System Architecture Performance Review of COTS-based System Architecture Ashutosh Shinde Abstract Commercial, off-the-shelf (COTS) software has gained considerable popularity as an approach that quickly and economically creates

More information

Adobe LiveCycle Data Services 3 Performance Brief

Adobe LiveCycle Data Services 3 Performance Brief Adobe LiveCycle ES2 Technical Guide Adobe LiveCycle Data Services 3 Performance Brief LiveCycle Data Services 3 is a scalable, high performance, J2EE based server designed to help Java enterprise developers

More information

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent

More information

Industrial Communication Whitepaper. Principles of EtherNet/IP Communication

Industrial Communication Whitepaper. Principles of EtherNet/IP Communication Industrial Communication Whitepaper Principles of EtherNet/IP Communication 1 Contents Introduction...3 Producer/Consumer Model...4 EtherNet/IP Messaging Types...7 Real Time Data Exchanges...9 Typical

More information

Practical Performance Understanding the Performance of Your Application

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

More information

Lecture 1 Introduction to Android

Lecture 1 Introduction to Android These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy

More information

VXLAN: Scaling Data Center Capacity. White Paper

VXLAN: Scaling Data Center Capacity. White Paper VXLAN: Scaling Data Center Capacity White Paper Virtual Extensible LAN (VXLAN) Overview This document provides an overview of how VXLAN works. It also provides criteria to help determine when and where

More information

Automatic test factoring for Java

Automatic test factoring for Java Automatic test factoring for Java David Saff Shay Artzi Jeff H. Perkins Michael D. Ernst MIT Computer Science and Artificial Intelligence Lab The Stata Center, 32 Vassar Street Cambridge, MA 02139 USA

More information

VALAR: A BENCHMARK SUITE TO STUDY THE DYNAMIC BEHAVIOR OF HETEROGENEOUS SYSTEMS

VALAR: A BENCHMARK SUITE TO STUDY THE DYNAMIC BEHAVIOR OF HETEROGENEOUS SYSTEMS VALAR: A BENCHMARK SUITE TO STUDY THE DYNAMIC BEHAVIOR OF HETEROGENEOUS SYSTEMS Perhaad Mistry, Yash Ukidave, Dana Schaa, David Kaeli Department of Electrical and Computer Engineering Northeastern University,

More information

Running SAP Solutions in the Cloud How to Handle Sizing and Performance Challenges. William Adams SAP AG

Running SAP Solutions in the Cloud How to Handle Sizing and Performance Challenges. William Adams SAP AG Running SAP Solutions in the Cloud How to Handle Sizing and Performance Challenges William Adams SAP AG Agenda What Types of Cloud Environments we are talking about Private Public Critical Performance

More information

A Survey Study on Monitoring Service for Grid

A Survey Study on Monitoring Service for Grid A Survey Study on Monitoring Service for Grid Erkang You erkyou@indiana.edu ABSTRACT Grid is a distributed system that integrates heterogeneous systems into a single transparent computer, aiming to provide

More information

ELEC 377. Operating Systems. Week 1 Class 3

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

More information

Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest

Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest 1. Introduction Few years ago, parallel computers could

More information

In-Memory Computing for Iterative CPU-intensive Calculations in Financial Industry In-Memory Computing Summit 2015

In-Memory Computing for Iterative CPU-intensive Calculations in Financial Industry In-Memory Computing Summit 2015 In-Memory Computing for Iterative CPU-intensive Calculations in Financial Industry In-Memory Computing Summit 2015 June 29-30, 2015 Contacts Alexandre Boudnik Senior Solution Architect, EPAM Systems Alexandre_Boudnik@epam.com

More information