Mark Claypool and Jonathan Tanner Computer Science Department

Slides:



Advertisements
Similar presentations
1 Wake Up and Smell the Coffee: Performance Analysis Methodologies for the 21st Century Kathryn S McKinley Department of Computer Sciences University of.
Advertisements

1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.
JAVA Processors and JIT Scheduling. Overview & Literature n Formulation of the problem n JAVA introduction n Description of Caffeine * Literature: “Java.
Application, Network and Link Layer Measurements of Streaming Video over a Wireless Campus Network Passive & Active Measurement Workshop 05 Boston, MA,
How’s My Network (HMN)? A Java approach to Home Network Measurement Alan Ritacco, Craig Wills, and Mark Claypool Computer Science Department Worcester.
Performance Analysis of Orb Rabin Karki and Thangam V. Seenivasan 1.
got ? Research Project – April 1998 Hang Xia, Mark Wang, Richard S. Chang Updated: R Norman, August 1999.
Java: History and Introduction (Lecture # 1). History… Java – Based on C and C++ – Developed in 1991 for intelligent consumer electronic devices – Green.
Andrea Camesi, Jarle Hulaas Software Engineering Laboratory Swiss Federal Institute of Technology in Lausanne (EPFL) Switzerland.
An Energy Consumption Framework for Distributed Java-Based Systems Chiyoung Seo Software Architecture Research Group University of Southern California.
Java for High Performance Computing Jordi Garcia Almiñana 14 de Octubre de 1998 de la era post-internet.
Adaptive Content-Aware Scaling for Improved Video Streaming. Avanish Tripathi Mark Claypool Presented by: Huahui Wu Worcester Polytechnic Institute
JVM-1 Introduction to Java Virtual Machine. JVM-2 Outline Java Language, Java Virtual Machine and Java Platform Organization of Java Virtual Machine Garbage.
Adaptive Content Delivery for Scalable Web Servers Authors: Rahul Pradhan and Mark Claypool Presented by: David Finkel Computer Science Department Worcester.
Toba Gregg M. Townsend Executable Code from Java Source.
1 Software Testing and Quality Assurance Lecture 31 – SWE 205 Course Objective: Basics of Programming Languages & Software Construction Techniques.
Session-02. Objective In this session you will learn : What is Class Loader ? What is Byte Code Verifier? JIT & JAVA API Features of Java Java Environment.
Intro to Java The Java Virtual Machine. What is the JVM  a software emulation of a hypothetical computing machine that runs Java bytecodes (Java compiler.
Embedded Java Research Geoffrey Beers Peter Jantz December 18, 2001.
Java Introduction 劉登榮 Deng-Rung Liu 87/7/15. Outline 4 History 4 Why Java? 4 Java Concept 4 Java in Real World 4 Language Overview 4 Java Performance!?
JAVA v.s. C++ Programming Language Comparison By LI LU SAMMY CHU By LI LU SAMMY CHU.
CSCI 224 Introduction to Java Programming. Course Objectives  Learn the Java programming language: Syntax, Idioms Patterns, Styles  Become comfortable.
Component-Level Energy Consumption Estimation for Distributed Java-Based Software Systems Sam Malek George Mason University Chiyoung Seo Yahoo! Nenad Medvidovic.
JOP: A Java Optimized Processor for Embedded Real-Time Systems Martin Schöberl.
IWAN 2005 November – Sophia Antipolis, France Towards the Design of an Industrial Network Node M.Chaudier, J.P Gelas, L.Lefèvre INRIA/LIP Ecole.
Virtual Machine Scheduling for Parallel Soft Real-Time Applications
Lecture 10 : Introduction to Java Virtual Machine
Introduction to the Java Virtual Machine 井民全. JVM (Java Virtual Machine) the environment in which the java programs execute The specification define an.
Institute of Computing Technology On Improving Heap Memory Layout by Dynamic Pool Allocation Zhenjiang Wang Chenggang Wu Institute of Computing Technology,
EFFECTS OF LOCALITY, CONTENT AND JAVA RUNTIME ON VIDEO PERFORMANCE Vikram Chhabra, Akshay Kothare, Mark Claypool Computer Science Department Worcester.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
EMSOFT’02 Silicomp Research Institute JCOD 1 JCOD A Lightweight Modular Compilation Technology For Embedded Java Bertrand Delsart :
February 24, 1998Salt Lake Java SIG Processes In Java Patrick Tullmann Flux Research Group University of Utah.
1 Comp 104: Operating Systems Concepts Java Development and Run-Time Store Organisation.
Introduction and Features of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++
Dynamic Object Sampling for Pretenuring Maria Jump Department of Computer Sciences The University of Texas at Austin Stephen M. Blackburn.
Java Security Model For Mobile Code Abdo Achkar. Mobile Code A mobile object is a “self contained piece” of executable code. Definition:  Code that can.
What Is Java? According to Sun in a white paper: Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture-neutral, portable,
Instrumentation in Software Dynamic Translators for Self-Managed Systems Bruce R. Childers Naveen Kumar, Jonathan Misurda and Mary.
Investigating the Effects of Using Different Nursery Sizing Policies on Performance Tony Guan, Witty Srisa-an, and Neo Jia Department of Computer Science.
Computer Programming 2 Why do we study Java….. Java is Simple It has none of the following: operator overloading, header files, pre- processor, pointer.
Getting started with Programming using IDE. JAVA JAVA IS A PROGRAMMING LANGUAGE AND A PLATFORM. IT CAN BE USED TO DELIVER AND RUN HIGHLY INTERACTIVE DYNAMIC.
Challenges and Solutions for Embedded Java Michael Wortley Computer Integrated Surgery March 1, 2001.
Java -- A very Hot Object- Oriented Language Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung Institute of.
CSE 598c – Virtual Machines Survey Proposal: Improving Performance for the JVM Sandra Rueda.
® July 21, 2004GC Summer School1 Cycles to Recycle: Copy GC Without Stopping the World The Sapphire Collector Richard L. Hudson J. Eliot B. Moss Originally.
ITP 109 Week 2 Trina Gregory Introduction to Java.
Introduction to Programming 1 1 2Introduction to Java.
RealTimeSystems Lab Jong-Koo, Lim
Qin Zhao1, Joon Edward Sim2, WengFai Wong1,2 1SingaporeMIT Alliance 2Department of Computer Science National University of Singapore
Computer System Structures
Applications Active Web Documents Active Web Documents.
Object Oriented Programming in
Java™ 2 Platform Getting Started.
GraalVM Scott Lynn Director of Product Strategy, Oracle Linux
Interpreted languages Jakub Yaghob
Topic: Difference b/w JDK, JRE, JIT, JVM
Java programming lecture one
Runtime Analysis of Hotspot Java Virtual Machine
2.1. Compilers and Interpreters
Improving java performance using Dynamic Method Migration on FPGAs
Department of Computer Science University of California, Santa Barbara
Adaptive Code Unloading for Resource-Constrained JVMs
Assignment of Games to Servers in the OnLive Cloud Game System
.Net Framework Details Imran Rashid CTO at ManiWeber Technologies.
Chap 1. Getting Started Objectives
Department of Computer Science University of California, Santa Barbara
Just In Time Compilation
Presentation transcript:

Java Jitters -- The Effects of Java on Jitter in a Continuous Media Stream Mark Claypool and Jonathan Tanner Computer Science Department Worcester Polytechnic Institute

Motivation Java J a v Continuous Media Continuous Media Work Entertainment Java Cross platform Dynamic Security Java Media API J a v Continuous Media

Java Runtime Java Source Bytecode JIT Compiler Static Native Compiler JVM Java OS Native OS General CPU Java CPU

Java Run-Time Overhead Bytecode Execution Garbage Collection Thread Synch. Misc 15% 55% 15% 15%

Java Performance Traditional benchmarks CaffeineMark Spec95 jBYTEmark CaffeineMark JIT and Static Native speedup But … Continuous Media?

Continuous Media Quality time Server S0 S1 S2 S3 S4 t0 Client t0 C0 C1 C2 C3 Data Loss Delay Jitter

Garbage Collection GC frees memory Low Memory. Begin GC

Experiments Capture Format Send Interpreted - Sun’s JVM Static Native Compiled - Toba Baseline - C++ (with g++)

Experiments Frame Rate: 3 - 30 fps Capture Frame Size: 4 - 76k Format: min - max Send Frame Size: 4 - 76k 166 MHz Intel Pentium 32 MB RAM Linux 2.0.30 Ethernet

Jitter

Frame Rates

Conclusions Java 1/3 full-motion video could do up to 2/3 Static Native Compilation has same jitter and frame rate as Interpreted Java C++ vastly superior in framerate and jitter Contributions: Experimental continuous media performance Tunable continuous media server benchmark

Future Work Client Benchmark Just-In-Time (JIT) Compilers Adaptive Compilers Operating Systems Java OS Browsers Continuous Media Quality