Explore the critical role of Java and the JVM in orchestrating massive robot swarms within Ocado's automated warehouses. Dive into the tools and techniques used to develop Java-based control systems, including simulation modeling, determinism challenges, algorithm optimization through profiling and micro-benchmarking, garbage collection tuning, and Java-C interoperability for comprehensive test coverage. Gain insights into discrete event simulation, time management in simulations, and the importance of deterministic behavior in Java. Learn about event scheduling, caching strategies, and the benefits of ZGC for large-scale applications. By the end of this conference talk from Devoxx Poland 2019, discover the versatility of Java and its potential for solving complex orchestration problems in automated environments.
Overview
Syllabus
Introduction
The Problem
Overview
Simulation
Why Simulation
Time vs Speed
Discrete Event Simulation
Time vs Real Time
Determinism
Time
Scheduling
Determinism in Java
Premature Optimization
Event Scheduling
Busy Loop
Caching
Profiling
Garbage Collection
ZGC
Simulations
Summary
Taught by
Devoxx