Ken Sipe Presents: JVM and Containers - A Cautionary Tale
Details
Abstract
Whether it is Docker or the Mesos Container running with Apache Mesos means running in a container, but do you really understand cgroups and how they work? Do you understand the difference between CPU Sets and CPU Shares? Many organizations use Java for their application development, but do you understand the consequence of what impact the cgroup constraints have on the JRE?
This talk starts with a look at the anatomy of a container including control groups (cgroups) and namespaces. Then we will take a deep understand of Java's memory management and GC characteristics and how JRE characteristics change based on core count. The session will detail specifically the differences between CPU sets and CPU shares and memory management. The session will close with a deep understanding of the consequences of running the JRE in a CPU share environment and the potential for pseudo-random behavior of running in a heterogeneous datacenter.
Bio
Ken Sipe is a Cloud Solution Architect and Distributed Systems Engineer at Mesosphere, focused on helping companies simplify the development and operation of large scale infrastructure and distributed systems with Apache Mesos and DC/OS. Ken is a JavaOne Rockstar, an author and an accomplished international speaker on the practices of software architecture and engineering, continuous delivery and agile practices. Ken is an Apache Mesos contributor and an Apache committer on a large number of DC/OS services and Apache Mesos frameworks.
