SlideShare a Scribd company logo
Work With Hundreds of Hot
Terabytes in JVMs
Peter Lawrey
Higher Frequency Trading Ltd
Per Minborg
Speedment, Inc.
Do not Cross the Brook for Water
Why would you use a slow remote database
when you can have all your data available
directly in your JVM ready for concurrent
ultra-low-latency access
?
About Per 3
About PeterAbout Peter
Real World Scenario
>10 TB
Application
In-JVM-Cache
Credit Card
Company
Web Shop
Stock Trade
Bank
Back Testing
Fraud Detection
Source of Truth
Table of Content
• Two Important Aspects of Big Data Latency
• Cache synchronization strategies
• How can you have JVMs that are in theTBs?
• Speedment Reflector
• Chronicle Map/Queue
Two Important Aspects of Big Data Latency
• No matter how advanced database you may ever use, it is really the
data locality that counts
• Be aware of the big change in memory pricing
Compare latencies using the Speed of Light
Database query 1 s
During the time a database makes a 1 s query, how far will the light
move?
Compare latencies using the Speed of Light
Disk seek
Intra-data center TCP
SSD
Compare latencies using the Speed of Light
Main Memory
CPU L3 cache
CPU L2 cache
CPU L1 cache
”Back to the Future”How much does
1 GB cost?
Cost of 1 GB RAM - Back to The Future
$ 5
$ 0.04 (1 TB for $ 40)
$ 720,000
$ 67,000,000,000
Source: http://www.jcmit.com/memoryprice.htm
Conclusion
• Keep your data close
• RAM is close enough, cheap and getting even cheaper
Table of Content
• Two Important Aspects of Big Data Latency
• Cache synchronization strategies
• How can you have JVMs that are in theTBs?
• Speedment Reflector
• Chronicle Map/Queue
Cache Synchronize Strategies
Poll Caching
• Data evicted, refreshed or marked as old
• Evicted element are reloaded
• Data changes all the time
• System restart either warm-up the
cache or use a cold cache
Dump and Load Caching
• Dumps are reloaded periodically
• All data elements are reloaded
• Data remains unchanged between
reloads
• System restart is just a reload
Common ways:
Cache Synchronize Strategies
Reactive Persistent Caching
• Changed data is captured in the Database
• Changed data events are pushed into the cache
• Events are grouped in transactions
• Cache updates are persisted
• Data changes all the time
• System restart, replay the missed events
Speedment and Chronicle way:
Comparison
Dump and Load
Caching
Poll Caching Reactive
Persistance
Caching
Max Data Age Dump period Eviction time Replication Latency -
Lookup
Performance
Consistently Instant ~20% slow Consistently Instant
Consistency Eventually Consistent Inconsistent - stale Eventually Consistent
Database Cache
Update Load
Total Size Depends on Eviction
Time and Access
Rate of Change
Restart Complete Reload Eviction Time Down time update
-> 10% of down time
*
Comparison
Dump and Load
Caching
Poll Caching Reactive
Persistance
Caching
Max Data Age Dump period Eviction time Replication Latency -
Lookup
Performance
Consistently Instant ~20% slow Consistently Instant
Consistency Eventually Consistent Inconsistent - stale Eventually Consistent
Database Cache
Update Load
Total Size Depends on Eviction
Time and Access
Rate of Change
Restart Complete Reload Eviction Time Down time update
-> 10% of down time
*
What you can do with TB
Spurious Correlations.
http://www.tylervigen.com/spurious-correlations
What you can do with TB
Table of Content
• Two ImportantAspects of Big Data Latency
• Cache synchronization strategies
• How can you have JVMs that are in theTBs?
• Speedment Reflector
• Chronicle Map/Queue
32 bit operating system (31-bit heap)
Compress Oops in Java 7 (35-bit)
• Using the default of
–XX:+UseCompressedOops
• In a 64-bit JVM, it can use “compressed” memory references.
• This allows the heap to be up to 32 GB without the overhead of 64-
bit object references. The Oracle/OpenJDK JVM still uses 64-bit
class references by default.
• As all object must be 8-byte aligned, the lower 3 bits of the address
are always 000 and don’t need to be stored. This allows the heap to
reference 4 billion * 8-bytes or 32 GB.
• Uses 32-bit references.
Compressed Oops with 8 byte alignment
Compress Oops in Java 8 (36 bits)
• Using the default of
–XX:+UseCompressedOops
–XX:ObjectAlignmentInBytes=16
• In a 64-bit JVM, it can use “compressed” memory references.
• This allows the heap to be up to 64 GB without the overhead of 64-
bit object references. The Oracle/OpenJDK JVM still uses 64-bit
class references by default.
• As all object must be 8 or 16-byte aligned, the lower 3 or 4 bits of
the address are always zeros and don’t need to be stored. This
allows the heap to reference 4 billion * 16-bytes or 64 GB.
• Uses 32-bit references.
64-bit references in Java (100 GB?)
• A small but significant overhead on main memory use.
• Reduces the efficiency of CPU caches as less objects can fit in.
• Can address up to the limit of the free memory. Limited to main
memory.
• GC pauses become a real concern and can take tens of second or
many minutes.
NUMA Regions (~40 bits)
• Large machine are limited in how large a single bank of memory can
be. This varies based on the architecture.
• Ivy and Sandy bridge Xeon processors are limited to addressing 40
bits of real memory.
• In Haswell this has been lifted to 46-bits.
• Each Socket has “local” access to a bank of memory, however to
access other bank it may need to use a bus. This is much slower.
• The GC of a JVM can perform very poorly if it doesn’t sit within one
NUMA region. Ideally you want a JVM to use just one NUMA
region.
NUMA Regions (~40 bits)
Virtual address space (48-bit)
Virtual address space (48-bit)
Memory Mapped files (48+ bits)
• Memory mappings are not limited to main memory size.
• 64-bit OS support 128TiB to 256TiB virtual memory at once.
• For larger data sizes, memory mapping need to be managed and
cached manually.
• Can be shared between processes.
• A library can hide the 48-bit limitation by caching memory mapping.
Peta Byte JVMs (50+ bits)
• If you are receiving 1 GB/s down a 10 Gig-E line in two weeks you will
have received over 1 PB.
• Managing this much data in large servers is more complex than your
standard JVM.
• Replication is critical. Large complex systems, are more likely to fail
and take longer to recover.
• You can have systems which cannot be recovered in the normal way.
i.e. Unless you recover faster than new data is added, you will never
catch up.
Peta Byte JVMs (50+ bits)
Peta Byte JVMs (50+ bits)
What you can do with TB
Table of Content
• Two Important Aspects of Big Data Latency
• Cache synchronization strategies
• How can you have JVMs that are in theTBs?
• Speedment Reflector
• Chronicle Map/Queue
Real World Scenario
>10 TB
Application
In-JVM-Cache
Credit Card
Company
Web Shop
Stock Trade
Bank
Back Testing
Fraud Detection
Source of Truth
What is Speedment?
• Database Reflector
• Code generation -> Automatic domain model extraction from databases
• In-JVM-memory technology
• Pluggable storage engines (ConcurrentHashMap,
OffHeapConcurrentHashMap,Chronicle-Map, Hazelcast, etc.)
• Transaction-aware
Database Reflector
• Detects changes in a database
• Buffers the changes
• Can replay the changes later on
• Will preserve order
• Will preserve transactions
• Will see data as it was persisted
• Detects changes from any source
JVM
Graph
View
CQRS
In-JVM-
Memory
Database
INSERT
UPDATE
DELETE
Scale Out With Chronicle
Workflow
Super Easy Integration
@Override
public void add(User user) {
chronicleMap.put(user.getId(), user);
}
Speedment – OSS and Enterprise
What you can do with TB
Table of Content
• Two Important Aspects of Big Data Latency
• Cache synchronization strategies
• How can you have JVMs that are in theTBs?
• Speedment Reflector
• Chronicle Map/Queue
What is Chronicle?
sales@chronicle.software
@ChronicleUG
http://chronicle.software
Thank you!
sales@speedment.com
@Speedment
www.speedment.com
www.speedment.org
Meet us at Oracle OpenWorld together with Sencha:
Mobile Showcase, Moscone South, Booth 2207

More Related Content

PDF
NUMA and Java Databases
PDF
An Introduction to Apache Cassandra
PDF
Caffe + H2O - By Cyprien noel
PDF
Life as a GlusterFS Consultant with Ivan Rossi
PDF
Redis as a Main Database, Scaling and HA
PDF
Revisão: Forwarding Metamorphosis: Fast Programmable Match-Action Processing ...
PDF
EVCache & Moneta (GoSF)
PDF
TokuDB internals / Лесин Владислав (Percona)
NUMA and Java Databases
An Introduction to Apache Cassandra
Caffe + H2O - By Cyprien noel
Life as a GlusterFS Consultant with Ivan Rossi
Redis as a Main Database, Scaling and HA
Revisão: Forwarding Metamorphosis: Fast Programmable Match-Action Processing ...
EVCache & Moneta (GoSF)
TokuDB internals / Лесин Владислав (Percona)

What's hot (20)

PDF
Application Caching: The Hidden Microservice (SAConf)
PPT
Linux Memory Basics for SysAdmins - ChinaNetCloud Training
PDF
Pgxc scalability pg_open2012
PDF
Managing terabytes: When Postgres gets big
PDF
NetFlow Data processing using Hadoop and Vertica
PDF
Boosting I/O Performance with KVM io_uring
PDF
Avoiding Data Hotspots at Scale
PDF
P99CONF — What We Need to Unlearn About Persistent Storage
PDF
Sharding: Past, Present and Future with Krutika Dhananjay
PDF
Challenges with Gluster and Persistent Memory with Dan Lambright
PDF
Recent advancements in cache technology
PDF
Mongodb meetup
PDF
Elasticsearch avoiding hotspots
PDF
OpenTSDB: HBaseCon2017
PPTX
How to be Successful with Scylla
PDF
Scalability broad strokes
PPTX
Scylla Summit 2018: Rebuilding the Ceph Distributed Storage Solution with Sea...
PDF
Ndb cluster 80_dbt2_5_tb
ODP
Tiering barcelona
Application Caching: The Hidden Microservice (SAConf)
Linux Memory Basics for SysAdmins - ChinaNetCloud Training
Pgxc scalability pg_open2012
Managing terabytes: When Postgres gets big
NetFlow Data processing using Hadoop and Vertica
Boosting I/O Performance with KVM io_uring
Avoiding Data Hotspots at Scale
P99CONF — What We Need to Unlearn About Persistent Storage
Sharding: Past, Present and Future with Krutika Dhananjay
Challenges with Gluster and Persistent Memory with Dan Lambright
Recent advancements in cache technology
Mongodb meetup
Elasticsearch avoiding hotspots
OpenTSDB: HBaseCon2017
How to be Successful with Scylla
Scalability broad strokes
Scylla Summit 2018: Rebuilding the Ceph Distributed Storage Solution with Sea...
Ndb cluster 80_dbt2_5_tb
Tiering barcelona
Ad

Similar to Java one2015 - Work With Hundreds of Hot Terabytes in JVMs (20)

PPTX
Work with hundred of hot terabytes in JVMs
PPTX
JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]
PPTX
JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]
PPTX
IMC Summit 2016 Breakout - Per Minoborg - Work with Multiple Hot Terabytes in...
PPTX
Responding rapidly when you have 100+ GB data sets in Java
PPT
NYJavaSIG - Big Data Microservices w/ Speedment
ODP
Jvm tuning in a rush! - Lviv JUG
PDF
In-Memory Computing - The Big Picture
PPTX
Jug Lugano - Scale over the limits
PDF
Slices Of Performance in Java - Oleksandr Bodnar
PDF
In-Memory Databases, Trends and Technologies (2012)
PDF
Java tuning on GNU/Linux for busy dev
PDF
Scaling Your Cache And Caching At Scale
PDF
“Quantum” Performance Effects: beyond the Core
PPT
Open HFT libraries in @Java
KEY
Everything I Ever Learned About JVM Performance Tuning @Twitter
PDF
TeraCache: Efficient Caching Over Fast Storage Devices
PDF
Caching principles-solutions
PPT
ApacheCon2010: Cache & Concurrency Considerations in Cassandra (& limits of JVM)
PPTX
Speed-up Your Big Data Applications with Sencha and Speedment
Work with hundred of hot terabytes in JVMs
JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]
JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]
IMC Summit 2016 Breakout - Per Minoborg - Work with Multiple Hot Terabytes in...
Responding rapidly when you have 100+ GB data sets in Java
NYJavaSIG - Big Data Microservices w/ Speedment
Jvm tuning in a rush! - Lviv JUG
In-Memory Computing - The Big Picture
Jug Lugano - Scale over the limits
Slices Of Performance in Java - Oleksandr Bodnar
In-Memory Databases, Trends and Technologies (2012)
Java tuning on GNU/Linux for busy dev
Scaling Your Cache And Caching At Scale
“Quantum” Performance Effects: beyond the Core
Open HFT libraries in @Java
Everything I Ever Learned About JVM Performance Tuning @Twitter
TeraCache: Efficient Caching Over Fast Storage Devices
Caching principles-solutions
ApacheCon2010: Cache & Concurrency Considerations in Cassandra (& limits of JVM)
Speed-up Your Big Data Applications with Sencha and Speedment
Ad

More from Speedment, Inc. (11)

PPTX
How to generate customized java 8 code from your database
PPTX
Silicon Valley JUG - How to generate customized java 8 code from your database
PPTX
SenchaCon Roadshow Irvine 2017
PPTX
SenchaCon 2016 - How to Auto Generate a Back-end in Minutes
PPTX
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
PPTX
DZone Java 8 Block Buster: Query Databases Using Streams
PPTX
Speedment & Sencha at Oracle Open World 2015
PPTX
eXtreme Tuesday Club at Pivotal Labs ft. Speemdnet / San Francisco - SEP 2015
PDF
Speedment - Reactive programming for Java8
PPTX
Java days gbg online
PDF
SAP Open Source meetup/Speedment - Palo Alto 2015
How to generate customized java 8 code from your database
Silicon Valley JUG - How to generate customized java 8 code from your database
SenchaCon Roadshow Irvine 2017
SenchaCon 2016 - How to Auto Generate a Back-end in Minutes
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
DZone Java 8 Block Buster: Query Databases Using Streams
Speedment & Sencha at Oracle Open World 2015
eXtreme Tuesday Club at Pivotal Labs ft. Speemdnet / San Francisco - SEP 2015
Speedment - Reactive programming for Java8
Java days gbg online
SAP Open Source meetup/Speedment - Palo Alto 2015

Recently uploaded (20)

PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
A Presentation on Artificial Intelligence
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
cuic standard and advanced reporting.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Modernizing your data center with Dell and AMD
Review of recent advances in non-invasive hemoglobin estimation
Understanding_Digital_Forensics_Presentation.pptx
Empathic Computing: Creating Shared Understanding
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Encapsulation_ Review paper, used for researhc scholars
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Unlocking AI with Model Context Protocol (MCP)
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
A Presentation on Artificial Intelligence
The AUB Centre for AI in Media Proposal.docx
Diabetes mellitus diagnosis method based random forest with bat algorithm
cuic standard and advanced reporting.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Reach Out and Touch Someone: Haptics and Empathic Computing
Spectral efficient network and resource selection model in 5G networks
Modernizing your data center with Dell and AMD

Java one2015 - Work With Hundreds of Hot Terabytes in JVMs

  • 1. Work With Hundreds of Hot Terabytes in JVMs Peter Lawrey Higher Frequency Trading Ltd Per Minborg Speedment, Inc.
  • 2. Do not Cross the Brook for Water Why would you use a slow remote database when you can have all your data available directly in your JVM ready for concurrent ultra-low-latency access ?
  • 5. Real World Scenario >10 TB Application In-JVM-Cache Credit Card Company Web Shop Stock Trade Bank Back Testing Fraud Detection Source of Truth
  • 6. Table of Content • Two Important Aspects of Big Data Latency • Cache synchronization strategies • How can you have JVMs that are in theTBs? • Speedment Reflector • Chronicle Map/Queue
  • 7. Two Important Aspects of Big Data Latency • No matter how advanced database you may ever use, it is really the data locality that counts • Be aware of the big change in memory pricing
  • 8. Compare latencies using the Speed of Light Database query 1 s During the time a database makes a 1 s query, how far will the light move?
  • 9. Compare latencies using the Speed of Light Disk seek Intra-data center TCP SSD
  • 10. Compare latencies using the Speed of Light Main Memory CPU L3 cache CPU L2 cache CPU L1 cache
  • 11. ”Back to the Future”How much does 1 GB cost?
  • 12. Cost of 1 GB RAM - Back to The Future $ 5 $ 0.04 (1 TB for $ 40) $ 720,000 $ 67,000,000,000 Source: http://www.jcmit.com/memoryprice.htm
  • 13. Conclusion • Keep your data close • RAM is close enough, cheap and getting even cheaper
  • 14. Table of Content • Two Important Aspects of Big Data Latency • Cache synchronization strategies • How can you have JVMs that are in theTBs? • Speedment Reflector • Chronicle Map/Queue
  • 15. Cache Synchronize Strategies Poll Caching • Data evicted, refreshed or marked as old • Evicted element are reloaded • Data changes all the time • System restart either warm-up the cache or use a cold cache Dump and Load Caching • Dumps are reloaded periodically • All data elements are reloaded • Data remains unchanged between reloads • System restart is just a reload Common ways:
  • 16. Cache Synchronize Strategies Reactive Persistent Caching • Changed data is captured in the Database • Changed data events are pushed into the cache • Events are grouped in transactions • Cache updates are persisted • Data changes all the time • System restart, replay the missed events Speedment and Chronicle way:
  • 17. Comparison Dump and Load Caching Poll Caching Reactive Persistance Caching Max Data Age Dump period Eviction time Replication Latency - Lookup Performance Consistently Instant ~20% slow Consistently Instant Consistency Eventually Consistent Inconsistent - stale Eventually Consistent Database Cache Update Load Total Size Depends on Eviction Time and Access Rate of Change Restart Complete Reload Eviction Time Down time update -> 10% of down time *
  • 18. Comparison Dump and Load Caching Poll Caching Reactive Persistance Caching Max Data Age Dump period Eviction time Replication Latency - Lookup Performance Consistently Instant ~20% slow Consistently Instant Consistency Eventually Consistent Inconsistent - stale Eventually Consistent Database Cache Update Load Total Size Depends on Eviction Time and Access Rate of Change Restart Complete Reload Eviction Time Down time update -> 10% of down time *
  • 19. What you can do with TB Spurious Correlations. http://www.tylervigen.com/spurious-correlations
  • 20. What you can do with TB
  • 21. Table of Content • Two ImportantAspects of Big Data Latency • Cache synchronization strategies • How can you have JVMs that are in theTBs? • Speedment Reflector • Chronicle Map/Queue
  • 22. 32 bit operating system (31-bit heap)
  • 23. Compress Oops in Java 7 (35-bit) • Using the default of –XX:+UseCompressedOops • In a 64-bit JVM, it can use “compressed” memory references. • This allows the heap to be up to 32 GB without the overhead of 64- bit object references. The Oracle/OpenJDK JVM still uses 64-bit class references by default. • As all object must be 8-byte aligned, the lower 3 bits of the address are always 000 and don’t need to be stored. This allows the heap to reference 4 billion * 8-bytes or 32 GB. • Uses 32-bit references.
  • 24. Compressed Oops with 8 byte alignment
  • 25. Compress Oops in Java 8 (36 bits) • Using the default of –XX:+UseCompressedOops –XX:ObjectAlignmentInBytes=16 • In a 64-bit JVM, it can use “compressed” memory references. • This allows the heap to be up to 64 GB without the overhead of 64- bit object references. The Oracle/OpenJDK JVM still uses 64-bit class references by default. • As all object must be 8 or 16-byte aligned, the lower 3 or 4 bits of the address are always zeros and don’t need to be stored. This allows the heap to reference 4 billion * 16-bytes or 64 GB. • Uses 32-bit references.
  • 26. 64-bit references in Java (100 GB?) • A small but significant overhead on main memory use. • Reduces the efficiency of CPU caches as less objects can fit in. • Can address up to the limit of the free memory. Limited to main memory. • GC pauses become a real concern and can take tens of second or many minutes.
  • 27. NUMA Regions (~40 bits) • Large machine are limited in how large a single bank of memory can be. This varies based on the architecture. • Ivy and Sandy bridge Xeon processors are limited to addressing 40 bits of real memory. • In Haswell this has been lifted to 46-bits. • Each Socket has “local” access to a bank of memory, however to access other bank it may need to use a bus. This is much slower. • The GC of a JVM can perform very poorly if it doesn’t sit within one NUMA region. Ideally you want a JVM to use just one NUMA region.
  • 31. Memory Mapped files (48+ bits) • Memory mappings are not limited to main memory size. • 64-bit OS support 128TiB to 256TiB virtual memory at once. • For larger data sizes, memory mapping need to be managed and cached manually. • Can be shared between processes. • A library can hide the 48-bit limitation by caching memory mapping.
  • 32. Peta Byte JVMs (50+ bits) • If you are receiving 1 GB/s down a 10 Gig-E line in two weeks you will have received over 1 PB. • Managing this much data in large servers is more complex than your standard JVM. • Replication is critical. Large complex systems, are more likely to fail and take longer to recover. • You can have systems which cannot be recovered in the normal way. i.e. Unless you recover faster than new data is added, you will never catch up.
  • 33. Peta Byte JVMs (50+ bits)
  • 34. Peta Byte JVMs (50+ bits)
  • 35. What you can do with TB
  • 36. Table of Content • Two Important Aspects of Big Data Latency • Cache synchronization strategies • How can you have JVMs that are in theTBs? • Speedment Reflector • Chronicle Map/Queue
  • 37. Real World Scenario >10 TB Application In-JVM-Cache Credit Card Company Web Shop Stock Trade Bank Back Testing Fraud Detection Source of Truth
  • 38. What is Speedment? • Database Reflector • Code generation -> Automatic domain model extraction from databases • In-JVM-memory technology • Pluggable storage engines (ConcurrentHashMap, OffHeapConcurrentHashMap,Chronicle-Map, Hazelcast, etc.) • Transaction-aware
  • 39. Database Reflector • Detects changes in a database • Buffers the changes • Can replay the changes later on • Will preserve order • Will preserve transactions • Will see data as it was persisted • Detects changes from any source JVM Graph View CQRS In-JVM- Memory
  • 42. Super Easy Integration @Override public void add(User user) { chronicleMap.put(user.getId(), user); }
  • 43. Speedment – OSS and Enterprise
  • 44. What you can do with TB
  • 45. Table of Content • Two Important Aspects of Big Data Latency • Cache synchronization strategies • How can you have JVMs that are in theTBs? • Speedment Reflector • Chronicle Map/Queue