CON Java in a World of Containers
|
|
- Michael Logan
- 6 years ago
- Views:
Transcription
1 CON Java in a World of Containers mikael.vidstedt@oracle.com Director, Java Virtual Copyright 2017, Oracle and/or its affiliates. All rights reserved. 1
2 Agenda Producing images and running containers with JDK 9 Size analysis of JDK Docker Images A quick look at startup Tme 2
3 Java 8 Docker image Official Java 8 SE (Server JRE) available on the docker store See also DockerFiles on GitHub 3
4 In a world of containers we expect Many distributons of Java runtmes Forces that push towards Smaller images Faster executon using less resources (and respectng resource constraints) 4
5 Java has plans for a world of containers Official OpenJDK builds will make it easier to distribute Java runtmes Java 9 tooling can produce custom Java runtmes that are smaller Current and future Java tooling will produce applicaton- specific Java runtmes that startup faster 5
6 Producing Docker images with a JDK Very easy to create a DockerFile that copies (or adds) a tarball of a JDK A resultng Docker image will be large (> 300MB) Not necessarily good for development or executon More stuff than required to build or run an applicaton 6
7 JDK 9 is modular JDK 9 is modular and introduces modules to the Java plagorm A module is a set of packages designed for reuse Modules improve the reliability and maintainability of your programs JDK 9 is itself composed of 79 modules 7
8 JDK 9 and custom Java runtmes JDK 9 comes with jlink, a tool that can create custom Java runtmes Such as, a Java runtme consistng of just the java.base module Note: the Java applicaton need not be modular 8
9 Project Portola and Alpine Linux The OpenJDK Portola Project aims to provide a port of the JDK to the Alpine Linux distributon Early access builds of the JDK port are available jlink can be used to create custom Java runtmes for Alpine Linux 9
10 Demo Crea%ng Docker images with Alpine Linux, Java, and jlink 10
11 Running JDK 9 in Docker containers The JDK has not necessarily been a model citzen and respectng resource constraints when running in a container JDK 9 has a few improvements to respect resource constraints These improvements have been back ported to a JDK 9 release 11
12 RespecTng memory limits The JDK respects group memory limits set for the container (see docker run memory constraints) -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap 12
13 RespecTng CPU constraints The JDK respects some CPU constraints set for the container (see docker run cpuset constraint) java.lang.runtime.availableprocessors reports correct number of CPUs 13
14 Stable executon The JVM ensures stable executon when resources change G1 Garbage Collector operates on actve CPU count discovered at JVM startup 14
15 Ongoing improvements planned for future releases JDK Improve Docker container detecton and resource configuraton usage More robust container detecton logic EvaluaTng support for further docker run flags --cpus --cpu-quota --cpu-period --cpu-shares New -XX:ActiveProcessorCount flag Total and Avail memory extracted from cgroup /proc file system 15
16 Ongoing improvements planned for future releases JDK Allow selectng Heap % of available RAM Draq JEP: Container aware Java hrp://openjdk.java.net/jeps/ Provide Java API access to container metrics 16
17 Demo Running Java (jshell), in a docker container, and respec%ng resource constraints 17
18 For a more comprehensive demonstraton See tutorial on running and monitoring a Java applicaton in a Kubernetes cluster Docker images can be created and published using Wercker 18
19 Size Analysis Viewer discre%on advised: Bar charts ahead! 19
20 Docker Image Docker image using DockerFile FROM oraclelinux:7 ADD jdk linux- x64_bin.tar.gz JDK oraclelinux:7 Let s optmize! Size (MB) Full JDK 20
21 Streamlining the JRE using jlink Full JDK Default JDK (not jlink:ed) java.base jlink add-modules java.base nery A set of modules expected to be sufficient for many Java applicatons jlink --add-modules java.base, java.logging, java.management, java.xml, jdk.management, jdk.unsupported Note: Does not include the nery applicaton code! Size (MB) JDK oraclelinux: Full JDK netty java.base 21
22 Streamlining the base image oraclelinux:7 vs oraclelinux:7- slim oraclelinux:7 (229 MB) Contains Everything and then some Certainly more than Java needs oraclelinux:7- slim (118 MB) Streamlined to bare necessites Saves 111 MB Further optmizaton - Strip out individual files Analyze shared libraries/dependency graph and strip out unneeded files 22 Size (MB) oraclelinux:7 + Full JDK oraclelinux:7-slim + Full JDK oraclelinux:7 + java.base oraclelinux:7-slim + java.base JDK Base oraclelinux:7 + netty oraclelinux:7-slim + netty
23 Small. Simple. Secure. Alpine Linux is a security- oriented, lightweight Linux distributon based on musl libc and busybox. hrps:// 23
24 Docker Base Images Docker base image sizes Size (MB) oraclelinux:7 oraclelinux:7-slim alpine:3.6 24
25 Java Images Based on alpine: Size (MB) JDK alpine: Full JDK java.base netty 25
26 OpTmizing java.base with jlink optons default: no special optons --compress=2 ZIP compression of resources --strip-debug Remove all debug informaton Don t try this at home! Size (MB) JDK alpine: default 4 compress=2 4 compress=2 strip-debug 26
27 but wait, there s more! What s the theoretcal minimum? What s actually in a java.base JRE? Files Size (bytes) lib/modules 23,529,047 lib/server/libjvm.so 21,197,904 <other files> 1,545,818 Sum 46,272,769 27
28 JVM Size Note: Numbers/sizes are approximate 28
29 JVM Size JIT Compiler(s) 29
30 JVM Size GC(s) 30
31 JVM Size Let s keep one GC: Serial 31
32 JVM Size - Other 32
33 The minimal VM 25.0 Size of JVM variants The minimal VM weighs in at just under 5MB STll fully Java compliant Size (MB) But Lacks many/most of the additonal features No JIT compiler Only Serial GC Very few debugging/serviceability features 0.0 server minimal Probably not a good match for producton use- cases, but an interestng data point 33
34 A minimal Docker image HelloWorld in ~20MB Including the Alpine base image minimal VM + java.base More extreme Java runtmes available can bring this down even further (with some limitatons) SubstrateVM from Oracle Labs Size (MB) JDK libjvm.so alpine: default compress=2 strip-debug 34
35 Future: Stripping out unused classes Not every class in a module is necessarily used by the applicaton Finding out which classes to use is non- trivial Indeterminism (haltng problem) ReflecTon Area of research, stay tuned #classes Size (bytes) All java.base classes ,178,884 Classes used by HelloWorld 506 8,796,290 9% 46% 35
36 Sharing across instances
37 Sharing Across Instances Micro- services and Docker encourages running many processes on the same machine Chances are many instances will be running the exact same applica%on OS shared libraries allows for sharing natve data libc, libjvm.so all get shared automatcally by the OS & Docker Assuming same layer/file/inode What about Java class data? 37
38 Class Data Sharing (CDS) Dump Tme Dump Tme process / training run Preload a set of classes Classes are parsed into their Java VM private internal representatons (class metadata) Metadata is split into read- only (RO) and read- write (RW) parts, and allocated in separate memory regions All loaded class metadata is saved to a file (the shared archive) New in JDK 9: Applica%on Class Data Sharing (AppCDS) ApplicaTon classes are supported B.class A.class C.class CDS archive 38
39 Class Data Sharing (CDS) - RunTme Archive is memory- mapped RO pages shared, RW pages are shared copy- on- write Classes read from mapped memory without overhead of searching, reading & parsing from JAR files Like shared libraries, archive can be shared across Docker containers 39
40 AppCDS Benefits - Startup Tme and Footprint Example: WebLogic Server Base Domain Time (s) Startup Time 7.7 Size (MB) - Note: Logarithmic! Footprint 4,634 No AppCDS AppCDS 4,073 4, , No AppCDS AppCDS 1 Unique Shared Total Sharing & savings increases with every instance With 10 instances there is ~10% saving in total memory footprint 40
41 Summary OpTmizing a Java Docker Image The naïve Java Docker image is large - 229MB base + 568MB JDK = 797MB Can be significantly reduced Using an appropriate base image 117MB for oraclelinux:7- slim 4MB for alpine:3.6 CreaTng a custom jlinked JRE ~60MB for nery ~46MB for java.base HelloWorld can be packaged with a full JVM in ~30MB AppCDS enables sharing class data across JVM instances and Docker containers 41
42 A quick look at startup Tme 42
43 Ahead- of- Time (AOT) compilaton Does with JIT compiled Java code what AppCDS does with Java class data Pre- compile to shared library: jaotc --output libhelloworld.so HelloWorld.class Use in subsequent runs: java -XX:AOTLibrary=libHelloWorld.so HelloWorld Experimental functonality introduced in JDK 9 Only on linux- x64, other plagorms to follow Benefits Startup performance Reduces Tme to peak performance Saves on footprint by sharing across instances Not- so- secret plan: use for enabling Java- based JIT compiler OpenJDK Project Metropolis aims to move JVM functonality to Java 43
44 Docker+Java startup Tme Example Applica%on Host java Create socket Setup java arguments for ProcessBuilder Start docker image with Java app Docker java Create socket and connect to host Send message and exit 44
45 ExecuTon Analysis Average Startup Time for 50 clients in ms Java no CDS or AOT Java with APPCDS & AOT 600 GO SVM Host Docker Run Docker Exec 45
46 ====================================================================== CDS AOT GC Average start-up time for 50 iterations ====================================================================== NO NO Parallel task-clock (msec) # CPUs utilized ( % ) NO NO ParallelOld task-clock (msec) # CPUs utilized ( % ) NO NO G task-clock (msec) # CPUs utilized ( % ) NO NO Serial task-clock (msec) # CPUs utilized ( % ) NO YES Parallel task-clock (msec) # CPUs utilized ( % ) NO YES ParallelOld task-clock (msec) # CPUs utilized ( % ) NO YES G task-clock (msec) # CPUs utilized ( % ) NO YES Serial task-clock (msec) # CPUs utilized ( % ) YES NO Parallel task-clock (msec) # CPUs utilized ( % ) YES NO ParallelOld task-clock (msec) # CPUs utilized ( % ) YES NO G task-clock (msec) # CPUs utilized ( % ) YES NO Serial task-clock (msec) # CPUs utilized ( % ) YES YES Parallel task-clock (msec) # CPUs utilized ( % ) YES YES ParallelOld task-clock (msec) # CPUs utilized ( % ) YES YES G task-clock (msec) # CPUs utilized ( % ) YES YES Serial task-clock (msec) # CPUs utilized ( % ) 46
47 Q&A 47
48 Stay connected Join us: DevOps Corner (Developer Lounge Moscone West) Learn more: openjdk.java.net #JavaOne #DevOps 48
49
50 Example DockerFile (jdk-9-alpine.dockerfile) for building an image with JDK 9 # A JDK 9 development image for building FROM alpine:3.6 # Add the musl- based JDK 9 distribution RUN mkdir /opt # Download from ADD jdk- 9- ea+181_linux- x64- musl_bin.tar.gz /opt # Set up env variables ENV JAVA_HOME=/opt/jdk- 9 ENV PATH=$PATH:$JAVA_HOME/bin CMD ["java", "- version"] ConfidenTal Oracle Internal/Restricted/Highly Restricted 50
51 Example script (link.sh) using jlink to produce a smaller JDK 9 distributon #!/bin/sh rm - fr jdk- 9- base- ea+181_linux- x64- musl docker run - - rm \ - - volume $PWD:/out \ jdk- 9- alpine \ jlink - - module- path /opt/jdk- 9/jmods \ - - add- modules java.base \ - - compress 2 \ - - no- header- files \ - - output /out/jdk- 9- base- ea+181_linux- x64- musl ConfidenTal Oracle Internal/Restricted/Highly Restricted 51
52 Example DockerFile (jdk-9-base-alpine.dockerfile) for building an image with a custom JDK 9 distributon # Make a docker image with a jlink'ed JDK 9 FROM alpine:3.6 # Add jlink'ed JDK 9 ADD jdk- 9- base- ea+181_linux- x64- musl /opt/jdk- 9 # Set up env variables ENV JAVA_HOME=/opt/jdk- 9 ENV PATH=$PATH:$JAVA_HOME/bin CMD ["java", "- version"] ConfidenTal Oracle Internal/Restricted/Highly Restricted 52
53 Commands to build images # Build an image with JDK 9 docker build - t jdk- 9- alpine - f jdk- 9- alpine.dockerfile. # Create a custom JDK 9 distribution with just the java.base module bash link.sh # Build an image with the custom JDK 9 distribution docker build - t jdk- 9- base- alpine - f jdk- 9- base- alpine.dockerfile. # Run the image docker run - - rm jdk- 9- base- alpine java - - list- modules ConfidenTal Oracle Internal/Restricted/Highly Restricted 53
54 jshell snippets (snippets.txt) long javamaxmem() { return Runtime.getRuntime().maxMemory(); } import java.nio.file.*; long sysmaxmem() throws IOException { return Files.lines(Paths.get("/sys/fs/cgroup/memory/memory.limit_in_bytes")).mapToLong(Long::valueOf).findFirst().getAsLong(); } ConfidenTal Oracle Internal/Restricted/Highly Restricted 54
55 jshell in Docker executon commands # Run without resource restrictions docker run \ - - rm - it - - volume $PWD:/in jdk- 9- alpine \ jshell /in/snippets.txt # Run with resource restrictions but no Java configutation docker run - m=384m - - cpuset- cpus=0 \ - - rm - it - - volume $PWD:/in jdk- 9- alpine \ jshell /in/snippets.txt # Run with resource restrictions and Java configutation docker run - m=384m - - cpuset- cpus=0 \ - - rm - it - - volume $PWD:/in jdk- 9- alpine \ jshell /in/snippets.txt \ - J- XX:+UnlockExperimentalVMOptions - J- XX:+UseCGroupMemoryLimitForHeap \ - R- XX:+UnlockExperimentalVMOptions - R- XX:+UseCGroupMemoryLimitForHeap ConfidenTal Oracle Internal/Restricted/Highly Restricted 55
Java in a World of Containers
Java in a World of Containers mikael.vidstedt@oracle.com Not-coder, JVM @MikaelVidstedt matthew.gilliard@oracle.com Coder, not-jvm @MaximumGilliard Copyright 2017, Oracle and/or its affiliates. All rights
More informationJava in a World of Containers
Java in a World of Containers mikael.vidstedt@oracle.com Director, JVM @MikaelVidstedt Copyright 2018, Oracle and/or its affiliates. All rights reserved. 1 Safe Harbor Statement The following is intended
More informationJDK 9/10/11 and Garbage Collection
JDK 9/10/11 and Garbage Collection Thomas Schatzl Senior Member of Technical Staf Oracle JVM Team May, 2018 thomas.schatzl@oracle.com Copyright 2017, Oracle and/or its afliates. All rights reserved. 1
More informationWhat a Year! Java 10 and 10 Big Java Milestones
What a Year! Java 10 and 10 Big Java Milestones Java has made tremendous strides in the past 12 months, with exciting new features and capabilities for developers of all kinds. Table of Contents INTRODUCTION
More informationNew Java performance developments: compilation and garbage collection
New Java performance developments: compilation and garbage collection Jeroen Borgers @jborgers #jfall17 Part 1: New in Java compilation Part 2: New in Java garbage collection 2 Part 1 New in Java compilation
More informationAhead of Time (AOT) Compilation
Ahead of Time (AOT) Compilation Vaibhav Choudhary (@vaibhav_c) Java Platforms Team https://blogs.oracle.com/vaibhav Copyright 2018, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement
More informationThe Z Garbage Collector Low Latency GC for OpenJDK
The Z Garbage Collector Low Latency GC for OpenJDK Per Lidén & Stefan Karlsson HotSpot Garbage Collection Team Jfokus VM Tech Summit 2018 Safe Harbor Statement The following is intended to outline our
More informationShaping the future of Java, Faster
Shaping the future of Java, Faster Georges Saab Vice President, Java Platform Group Oracle, Corp Twitter: @gsaab Safe Harbor Statement The following is intended to outline our general product direction.
More informationBest Practices for Developing & Deploying Java Applications with Docker
JavaOne 2017 CON7957 Best Practices for Developing & Deploying Java Applications with Docker Eric Smalling - Solution Architect, Docker Inc. @ericsmalling Who Am I? Eric Smalling Solution Architect Docker
More informationThe G1 GC in JDK 9. Erik Duveblad Senior Member of Technical Staf Oracle JVM GC Team October, 2017
The G1 GC in JDK 9 Erik Duveblad Senior Member of Technical Staf racle JVM GC Team ctober, 2017 Copyright 2017, racle and/or its affiliates. All rights reserved. 3 Safe Harbor Statement The following is
More informationSQL Server inside a docker container. Christophe LAPORTE SQL Server MVP/MCM SQL Saturday 735 Helsinki 2018
SQL Server inside a docker container Christophe LAPORTE SQL Server MVP/MCM SQL Saturday 735 Helsinki 2018 Christophe LAPORTE ~ since 1997 : SQL 6.5 / WinNT4 christophe_laporte@hotmail.fr http://conseilit.wordpress.com/
More informationDeployment Patterns using Docker and Chef
Deployment Patterns using Docker and Chef Sandeep Chellingi Sandeep.chellingi@prolifics.com Agenda + + Rapid Provisioning + Automated and Managed Deployment IT Challenges - Use-cases What is Docker? What
More informationThe Z Garbage Collector An Introduction
The Z Garbage Collector An Introduction Per Lidén & Stefan Karlsson HotSpot Garbage Collection Team FOSDEM 2018 Safe Harbor Statement The following is intended to outline our general product direction.
More informationRuntime Application Self-Protection (RASP) Performance Metrics
Product Analysis June 2016 Runtime Application Self-Protection (RASP) Performance Metrics Virtualization Provides Improved Security Without Increased Overhead Highly accurate. Easy to install. Simple to
More informationDynamic Vertical Memory Scalability for OpenJDK Cloud Applications
Dynamic Vertical Memory Scalability for OpenJDK Cloud Applications Rodrigo Bruno, Paulo Ferreira: INESC-ID / Instituto Superior Técnico, University of Lisbon Ruslan Synytsky, Tetiana Fydorenchyk: Jelastic
More informationWho is Docker and how he can help us? Heino Talvik
Who is Docker and how he can help us? Heino Talvik heino.talvik@seb.ee heino.talvik@gmail.com What is Docker? Software guy view: Marriage of infrastucture and Source Code Management Hardware guy view:
More informationCertified Core Java Developer VS-1036
VS-1036 1. LANGUAGE FUNDAMENTALS The Java language's programming paradigm is implementation and improvement of Object Oriented Programming (OOP) concepts. The Java language has its own rules, syntax, structure
More informationDevOps in the Cloud A pipeline to heaven?! Robert Cowham BCS CMSG Vice Chair
DevOps in the Cloud A pipeline to heaven?! Robert Cowham BCS CMSG Vice Chair Agenda Definitions, History & Background Cloud intro DevOps Pipelines Docker containers Examples 2 Definitions DevOps Agile
More informationJDK 9, 10, 11 and Beyond: Delivering New Features in the JDK
JDK 9, 10, 11 and Beyond: Delivering New Features in the JDK Copyright Azul Systems 2015 Simon Ritter Deputy CTO, Azul Systems azul.com @speakjava 1 JDK 9: Big And Small Changes 2 Java Platform Module
More informationDocker und IBM Digital Experience in Docker Container
Docker und IBM Digital Experience in Docker Container 20. 21. Juni 2017 IBM Labor Böblingen 1 What is docker Introduction VMs vs. containers Terminology v Docker components 2 6/22/2017 What is docker?
More informationIndex. Decomposability, 13 Deep reflection, 136 Dependency hell, 19 --describe-module, 39
Index A --add-exports option, 28, 134 136, 142, 192 Apache Maven compatibility, 214 Compiler plugin, 212, 214 goals, 209 JDeps plugin goals, 210 options, 211 JEP 223 New Version-String scheme, 209 Automatic
More informationOracle Container Natve Applicaton Development Platorm. Edgars Ruņģis Cloud Soluton Architect
Oracle Container Natve Applicaton Development Platorm Edgars Ruņģis Cloud Soluton Architect Buzzwords You Might Hear Isto Java Kubernetes DevOps CI/CD Microservices CD Container Natve DevOps CI Isto Pipelines
More informationReal Time: Understanding the Trade-offs Between Determinism and Throughput
Real Time: Understanding the Trade-offs Between Determinism and Throughput Roland Westrelin, Java Real-Time Engineering, Brian Doherty, Java Performance Engineering, Sun Microsystems, Inc TS-5609 Learn
More informationMODULE 1 JAVA PLATFORMS. Identifying Java Technology Product Groups
MODULE 1 JAVA PLATFORMS Identifying Java Technology Product Groups Java SE Platform Versions Year Developer Version (JDK) Platform 1996 1.0 1 1997 1.1 1 1998 1.2 2 2000 1.3 2 2002 1.4 2 2004 1.5 5 2006
More informationAndroid meets Docker. Jing Li
Android meets Docker Jing Li 1 2 > 50 cities in Europe 3 Developer Story 4 Pain in the Admin provision machines ( e.g. mobile CI ) 5 Containerization vs Virtualization 6 Why Docker? Docker Vagrant Resource
More informationJVM Memory Model and GC
JVM Memory Model and GC Developer Community Support Fairoz Matte Principle Member Of Technical Staff Java Platform Sustaining Engineering, Copyright 2015, Oracle and/or its affiliates. All rights reserved.
More informationThe Z Garbage Collector Scalable Low-Latency GC in JDK 11
The Z Garbage Collector Scalable Low-Latency GC in JDK 11 Per Lidén (@perliden) Consulting Member of Technical Staff Java Platform Group, Oracle October 24, 2018 Safe Harbor Statement The following is
More informationOptimising Multicore JVMs. Khaled Alnowaiser
Optimising Multicore JVMs Khaled Alnowaiser Outline JVM structure and overhead analysis Multithreaded JVM services JVM on multicore An observational study Potential JVM optimisations Basic JVM Services
More informationHeimdall Data Access Platform Installation and Setup Guide
Heimdall Data Access Platform Installation and Setup Guide Heimdall Data Access Platform Installation and Setup Guide Heimdall Data Access Platform Installation and Setup Guide 1. General Information 1
More informationJava Without the Jitter
TECHNOLOGY WHITE PAPER Achieving Ultra-Low Latency Table of Contents Executive Summary... 3 Introduction... 4 Why Java Pauses Can t Be Tuned Away.... 5 Modern Servers Have Huge Capacities Why Hasn t Latency
More informationJamaicaVM Java for Embedded Realtime Systems
JamaicaVM Java for Embedded Realtime Systems... bringing modern software development methods to safety critical applications Fridtjof Siebert, 25. Oktober 2001 1 Deeply embedded applications Examples:
More informationShark. Hive on Spark. Cliff Engle, Antonio Lupher, Reynold Xin, Matei Zaharia, Michael Franklin, Ion Stoica, Scott Shenker
Shark Hive on Spark Cliff Engle, Antonio Lupher, Reynold Xin, Matei Zaharia, Michael Franklin, Ion Stoica, Scott Shenker Agenda Intro to Spark Apache Hive Shark Shark s Improvements over Hive Demo Alpha
More informationDocker and Oracle Everything You Wanted To Know
Docker and Oracle Everything You Wanted To Know June, 2017 Umesh Tanna Principal Technology Sales Consultant Oracle Sales Consulting Centers(SCC) Bangalore Safe Harbor Statement The following is intended
More informationAsterisk & the Docker revolution Some lessons from the trenches
Asterisk & the Docker revolution Some lessons from the trenches Asterisk Africa Johannesburg - March 14, 2018 Presented by: Lenz Emilitri Founder, Loway @lenz Today s presentation Docker Benefits How it
More informationDocker A FRAMEWORK FOR DATA INTENSIVE COMPUTING
Docker A FRAMEWORK FOR DATA INTENSIVE COMPUTING Agenda Intro / Prep Environments Day 1: Docker Deep Dive Day 2: Kubernetes Deep Dive Day 3: Advanced Kubernetes: Concepts, Management, Middleware Day 4:
More informationJava Performance: The Definitive Guide
Java Performance: The Definitive Guide Scott Oaks Beijing Cambridge Farnham Kbln Sebastopol Tokyo O'REILLY Table of Contents Preface ix 1. Introduction 1 A Brief Outline 2 Platforms and Conventions 2 JVM
More informationDockerfile Best Practices
Dockerfile Best Practices OpenRheinRuhr 2015 November 07th, 2015 1 Dockerfile Best Practices Outline About Dockerfile Best Practices Building Images This work is licensed under the Creative Commons Attribution-ShareAlike
More informationOS-caused Long JVM Pauses - Deep Dive and Solutions
OS-caused Long JVM Pauses - Deep Dive and Solutions Zhenyun Zhuang LinkedIn Corp., Mountain View, California, USA https://www.linkedin.com/in/zhenyun Zhenyun@gmail.com 2016-4-21 Outline q Introduction
More informationHighlights from Java 10, 11 and 12 and Future of Java Javaland by Vadym Kazulkin, ip.labs GmbH
Highlights from Java 10, 11 and 12 and Future of Java Javaland 19.03.2019 by Vadym Kazulkin, ip.labs GmbH Contact Vadym Kazulkin, ip.labs GmbH v.kazulkin@gmail.com https://www.linkedin.com/in/vadymkazulkin
More informationServer Monitoring. AppDynamics Pro Documentation. Version 4.1.x. Page 1
Server Monitoring AppDynamics Pro Documentation Version 4.1.x Page 1 Server Monitoring......................................................... 4 Standalone Machine Agent Requirements and Supported Environments............
More informationGetting Started with Hadoop
Getting Started with Hadoop May 28, 2018 Michael Völske, Shahbaz Syed Web Technology & Information Systems Bauhaus-Universität Weimar 1 webis 2018 What is Hadoop Started in 2004 by Yahoo Open-Source implementation
More informationEngineering Robust Server Software
Engineering Robust Server Software Containers Isolation Isolation: keep different programs separate Good for security Might also consider performance isolation Also has security implications (side channel
More informationAdvanced Modular Development
Advanced Modular Development Alan Bateman Alex Buckley Java Platform Group, Oracle September 2016 Copyright 2016, Oracle and/or its affiliates. All rights reserved. Sessions 1 2 3 4 5 Prepare for JDK 9
More informationJ2EE Development Best Practices: Improving Code Quality
Session id: 40232 J2EE Development Best Practices: Improving Code Quality Stuart Malkin Senior Product Manager Oracle Corporation Agenda Why analyze and optimize code? Static Analysis Dynamic Analysis
More informationcontainerization: more than the new virtualization
containerization: more than the new virtualization Jérôme Petazzoni (@jpetazzo) Grumpy French DevOps - Go away or I will replace you with a very small shell script Runs everything in containers - Docker-in-Docker
More informationIntroduction to Java Programming
Introduction to Java Programming Lecture 1 CGS 3416 Spring 2017 1/9/2017 Main Components of a computer CPU - Central Processing Unit: The brain of the computer ISA - Instruction Set Architecture: the specific
More informationAutomating the Build Pipeline for Docker Container
Automating the Build Pipeline for Docker Container Nikolai Reed, Jürgen Walter, and Samuel Kounev University of Würzburg November 9-10, 2017 SSP 2017 Karlsruhe, Germany 08.11.17 2 Reproducibility Problem
More informationUsing the Singularity Research Development Kit
Using the Research Development Kit James Larus & Galen Hunt Microsoft Research ASPLOS 08 Tutorial March 1, 2008 Outline Overview (Jim) Rationale & key decisions architecture Details (Galen) Safe Languages
More informationIntroduction to Mobile Development
Introduction to Mobile Development Building mobile applications can be as easy as opening up the IDE, throwing something together, doing a quick bit of testing, and submitting to an App Store all done
More informationDocker 101 Workshop. Eric Smalling - Solution Architect, Docker
Docker 101 Workshop Eric Smalling - Solution Architect, Docker Inc. @ericsmalling Who Am I? Eric Smalling Solution Architect Docker Customer Success Team ~25 years in software development, architecture,
More informationSABLEJIT: A Retargetable Just-In-Time Compiler for a Portable Virtual Machine p. 1
SABLEJIT: A Retargetable Just-In-Time Compiler for a Portable Virtual Machine David Bélanger dbelan2@cs.mcgill.ca Sable Research Group McGill University Montreal, QC January 28, 2004 SABLEJIT: A Retargetable
More informationNotes of the course - Advanced Programming. Barbara Russo
Notes of the course - Advanced Programming Barbara Russo a.y. 2014-2015 Contents 1 Lecture 2 Lecture 2 - Compilation, Interpreting, and debugging........ 2 1.1 Compiling and interpreting...................
More informationWelcome to the session...
Welcome to the session... Copyright 2013, Oracle and/or its affiliates. All rights reserved. 02/22/2013 1 The following is intended to outline our general product direction. It is intended for information
More informationJavaentwicklung in der Oracle Cloud
Javaentwicklung in der Oracle Cloud Sören Halter Principal Sales Consultant 2016-11-17 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information
More informationRyan Sciampacone Senior Software Developer August 1 st Multitenant JVM. JVM Languages Summit IBM Corporation
Ryan Sciampacone Senior Software Developer August 1 st 2012 Multitenant JVM JVM Languages Summit 2012 Important Disclaimers THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL
More informationOptimizing Docker Images
Optimizing Docker Images Brian DeHamer - CenturyLink Labs bdehamer CenturyLinkLabs @bdehamer @centurylinklabs Overview Images & Layers Minimizing Image Size Leveraging the Image Cache Dockerfile Tips
More informationNew Features Overview
Features pf JDK 7 New Features Overview Full List: http://docs.oracle.com/javase/7/docs/webnotes/adoptionguide/index.html JSR 334: Small language enhancements (Project Coin) Concurrency and collections
More informationDocker Live Hacking: From Raspberry Pi to Kubernetes
Docker Live Hacking: From Raspberry Pi to Kubernetes Hong Kong Meetup + Oracle CODE 2018 Shenzhen munz & more Dr. Frank Munz Dr. Frank Munz Founded munz & more in 2007 17 years Oracle Middleware, Cloud,
More informationCore Java JDK 9 Overview Angelika Langer & Klaus Kreft
Core Java JDK 9 Overview Angelika Langer & Klaus Kreft Training/Consulting a quick glance at Java 9 Java 9 available since September, 21 2017 many new features (> 90 JEPs) "Collection Literals" "Compact
More informationJAVA PERFORMANCE. PR SW2 S18 Dr. Prähofer DI Leopoldseder
JAVA PERFORMANCE PR SW2 S18 Dr. Prähofer DI Leopoldseder OUTLINE 1. What is performance? 1. Benchmarking 2. What is Java performance? 1. Interpreter vs JIT 3. Tools to measure performance 4. Memory Performance
More informationOperating Systems. Designed and Presented by Dr. Ayman Elshenawy Elsefy
Operating Systems Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. AL-AZHAR University Website : eaymanelshenawy.wordpress.com Email : eaymanelshenawy@yahoo.com Reference
More informationDocker on Hadoop. Daniel Templeton Hadoop Cloudera. Cloudera, Inc. All rights reserved.
Docker on Hadoop Daniel Templeton Hadoop Commiter @ Cloudera 1 Me 2 One Slide on Docker Same general idea as a VM BUT there s only one OS image Parttoned process space Layered images Image repo 3 One Slide
More informationDesigning experiments Performing experiments in Java Intel s Manycore Testing Lab
Designing experiments Performing experiments in Java Intel s Manycore Testing Lab High quality results that capture, e.g., How an algorithm scales Which of several algorithms performs best Pretty graphs
More informationPARAMETERS Options may be in any order. For a discussion of parameters which apply to a specific option, see OPTIONS below.
NAME java Java interpreter SYNOPSIS java [ options ] class [ argument... ] java [ options ] jar file.jar [ argument... ] PARAMETERS Options may be in any order. For a discussion of parameters which apply
More informationTesting Lucene and Solr with various JVMs: Bugs, Bugs, Bugs
Testing Lucene and Solr with various JVMs: Bugs, Bugs, Bugs Uwe Schindler Apache Lucene Committer & PMC Member uschindler@apache.org http://www.thetaphi.de, http://blog.thetaphi.de @ThetaPh1 SD DataSolutions
More informationRECap: RunEscape Capsule for On-demand Managed Service Delivery in the Cloud
RECap: RunEscape Capsule for On-demand Managed Service Delivery in the Cloud Shripad J Nadgowda, Sahil Suneja, Canturk Isci IBM T J Watson Research Center Evolution of application runtimes (General-purpose
More informationContainers, Serverless and Functions in a nutshell. Eugene Fedorenko
Containers, Serverless and Functions in a nutshell Eugene Fedorenko About me Eugene Fedorenko Senior Architect Flexagon adfpractice-fedor.blogspot.com @fisbudo Agenda Containers Microservices Docker Kubernetes
More informationRunning Splunk Enterprise within Docker
Running Splunk Enterprise within Docker Michael Clayfield Partner Consultant 03/09/2017 1.1 Forward-Looking Statements During the course of this presentation, we may make forward-looking statements regarding
More informationTypical Issues with Middleware
Typical Issues with Middleware HrOUG 2016 Timur Akhmadeev October 2016 About Me Database Consultant at Pythian 10+ years with Database and Java Systems Performance and Architecture OakTable member 3 rd
More informationdocker & HEP: containerization of applications for development, distribution and preservation
docker & HEP: containerization of applications for development, distribution and preservation Sébastien Binet LAL/IN2P3 2015-04-13 S. Binet (LAL) docker-hep 2015-04-13 1 / 16 Docker: what is it? http://www.docker.io/
More informationAdministering WebLogic Server on Java Cloud Service I Ed 1 Coming Soon
Oracle University Contact Us: Local: 0180 2000 526 Intl: +49 8914301200 Administering WebLogic Server on Java Cloud Service I Ed 1 Coming Soon Duration: 5 Days What you will learn This Administering WebLogic
More informationStreamSets Control Hub Installation Guide
StreamSets Control Hub Installation Guide Version 3.2.1 2018, StreamSets, Inc. All rights reserved. Table of Contents 2 Table of Contents Chapter 1: What's New...1 What's New in 3.2.1... 2 What's New in
More informationArup Nanda VP, Data Services Priceline.com
Jumpstarting Docker Arup Nanda VP, Data Services Priceline.com My application worked in Dev but not in QA Will it work in production? I need an environment right now No, I can t wait for 2 weeks I just
More informationJava Architectures A New Hope. Eberhard Wolff
Java Architectures A New Hope Eberhard Wolff http://ewolff.com What happens with a talk titled like this? Architecture of Enterprise Java Apps How can I implement a new feature??? ! ECommerce System
More informationOracle Cloud Metric Reference for Oracle Infrastructure Monitoring
Oracle Cloud Metric Reference for Oracle Infrastructure Monitoring E73187-22 July 2018 Oracle Cloud Metric Reference for Oracle Infrastructure Monitoring, E73187-22 Copyright 2016, 2018, Oracle and/or
More informationLightweight Containerization at Facebook
Lightweight Containerization at Facebook Zoltan Puskas (zpuskas@fb.com) Production Engineer on Infrastructure Agenda What is Tupperware? Why use Btrfs? Building layered images Launching with systemd Results
More informationAssumptions. History
Assumptions A Brief Introduction to Java for C++ Programmers: Part 1 ENGI 5895: Software Design Faculty of Engineering & Applied Science Memorial University of Newfoundland You already know C++ You understand
More informationCHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.
CHAPTER 2: SYSTEM STRUCTURES By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 2: System Structures Operating System Services User Operating System Interface System Calls Types of System
More information12 (15) Factor App Workshop
12 (15) Factor App Workshop http://bit.ly/15factor-uberconf-2018 Christopher M. Judd Christopher M. Judd CTO and Partner at leader 221 BROUGHT TO YOU IN PARTNERSHIP WITH Getting Started With Docker BY
More informationCoping with Immutable Data in a JVM for Embedded Real-Time Systems. Christoph Erhardt, Simon Kuhnle, Isabella Stilkerich, Wolfgang Schröder-Preikschat
The final Frontier Coping with Immutable Data in a JVM for Embedded Real-Time Systems Christoph Erhardt, Simon Kuhnle, Isabella Stilkerich, Wolfgang Schröder-Preikschat https://www4.cs.fau.de/research/keso/
More informationIBM Cloud Developer Tools (IDT) and App Service Console Overview
IBM Cloud Developer Tools (IDT) and App Service Console Overview Steve Clay clays@us.ibm.com Technical Lead, IDT Paul Bennett pwbennet@us.ibm.com Java Squad Lead, IBM Cloud Developer Experience Cloud native
More information/ Cloud Computing. Recitation 5 February 14th, 2017
15-319 / 15-619 Cloud Computing Recitation 5 February 14th, 2017 1 Overview Administrative issues Office Hours, Piazza guidelines Last week s reflection Project 2.1, OLI Unit 2 modules 5 and 6 This week
More informationJavaFX.Next. Kevin Rushforth Oracle Johan Vos Gluon October Copyright 2018, Oracle and/or its affiliates. All rights reserved.
JavaFX.Next Kevin Rushforth Oracle Johan Vos Gluon October 2018 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and
More informationNetApp Jenkins Plugin Documentation
NetApp Jenkins Plugin Documentation Release 2.0 Akshay Patil Aug 22, 2017 Contents 1 Contents 3 1.1 Pre-Requisites.............................................. 3 1.2 Configuration...............................................
More informationContinuous delivery of Java applications. Marek Kratky Principal Sales Consultant Oracle Cloud Platform. May, 2016
Continuous delivery of Java applications using Oracle Cloud Platform Services Marek Kratky Principal Sales Consultant Oracle Cloud Platform May, 2016 Safe Harbor Statement The following is intended to
More informationLast class: OS and Architecture. OS and Computer Architecture
Last class: OS and Architecture OS and Computer Architecture OS Service Protection Interrupts System Calls IO Scheduling Synchronization Virtual Memory Hardware Support Kernel/User Mode Protected Instructions
More informationLast class: OS and Architecture. Chapter 3: Operating-System Structures. OS and Computer Architecture. Common System Components
Last class: OS and Architecture Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation
More information<Insert Picture Here>
1 2010-0237 The Maxine Inspector: A Specialized Tool for VM Development, Santa Clara, CA Michael L. Van De Vanter Researcher, Oracle Sun Labs The Maxine Project at Oracle Sun Labs:
More informationChapter 2: Operating-System Structures. Operating System Concepts Essentials 8 th Edition
Chapter 2: Operating-System Structures Operating System Concepts Essentials 8 th Edition Silberschatz, Galvin and Gagne 2011 Chapter 2: Operating-System Structures Operating System Services User Operating
More informationDockerfile & docker CLI Cheat Sheet
Dockerfile & docker CLI Cheat Sheet Table of Contents Introduction 1 1. docker CLI Engine 2 1.1 Container Related s 2 1.2 Image Related s 4 1.3 Network Related s 5 1.4 Registry Related s 6 1.5 Volume Related
More informationThink Small to Scale Big
Think Small to Scale Big Intro to Containers for the Datacenter Admin Pete Zerger Principal Program Manager, MVP pete.zerger@cireson.com Cireson Lee Berg Blog, e-mail address, title Company Pete Zerger
More informationAn introduction to Docker
An introduction to Docker Ing. Vincenzo Maffione Operating Systems Security Container technologies on Linux Several light virtualization technologies are available for Linux They build on cgroups, namespaces
More information~Deep dive into Windows Containers and Docker~
~Deep dive into Windows Containers and Docker~ Blog: Twitter: http://www.solidalm.com https://twitter.com/cornellknulst Are we doing the right things? In managing infrastructure? In deployment? Desired
More informationDevOps Workflow. From 0 to kube in 60 min. Christian Kniep, v Technical Account Manager, Docker Inc.
DevOps Workflow From 0 to kube in 60 min http://qnib.org/devops-workflow Christian Kniep, v2018-02-20 Technical Account Manager, Docker Inc. Motivation Iteration barriers Works on my Laptop! Why is DevOps
More informationLesson 2 Dissecting Memory Problems
Lesson 2 Dissecting Memory Problems Poonam Parhar JVM Sustaining Engineer Oracle Agenda 1. Symptoms of Memory Problems 2. Causes of Memory Problems 3. OutOfMemoryError messages 3 Lesson 2-1 Symptoms of
More informationOperating- System Structures
Operating- System Structures 2 CHAPTER Practice Exercises 2.1 What is the purpose of system calls? Answer: System calls allow user-level processes to request services of the operating system. 2.2 What
More informationChapter 2: Operating-System
Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services! User Operating System Interface! System Calls! Types of System Calls! System Programs! Operating
More information" Qué me estás container?" Docker for dummies
" Qué me estás container?" Docker for dummies Sara Arjona @sara_arjona Pau Ferrer @crazyserver Developer at Moodle HQ Moodle Mobile developer at Moodle HQ #MootES18 Who uses Docker for development? Who
More informationONOS Performance Test. Jin Huawei HUAWEI TECHNOLOGIES CO., LTD. HUAWEI TECHNOLOGIES CO., LTD. Page 1
ONOS Performance Test Jin Gan @ Huawei Page 1 HUAWEI TECHNOLOGIES CO., LTD. HUAWEI TECHNOLOGIES CO., LTD. www.huawei.com Project: ONOS Performance Benchmark and Improvement https://wiki.onosproject.org/display/onos/onos+performance+benchmark+and+improvement
More informationRed Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS
Red Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS Daniel Riek Sr. Director Systems Design & Engineering In the beginning there was Stow... and
More information