Java Scalability Considerations
A conversation with Francesco Nigro about low-level Java
scalability
1 Stunde 8 Minuten
Podcast
Podcaster
Java, Serverless, Clouds, Architecture and Web conversations with Adam Bien
Beschreibung
vor 11 Monaten
An airhacks.fm conversation with Francesco Nigro (@forked_franz)
about: Netty committer and performance engineer at Red Hat,
discussion of Netty's history, focus on low-level core components
like buffers and allocators in Netty, relationship between Vert.x
and Netty where Vert.x provides a more opinionated and
user-friendly abstraction over Netty, explanation of reactive back
pressure implementation in Vert.x, performance advantages of Vert.x
over Netty due to batching and reactive design, detailed
explanation of IO_uring as a Linux-specific asynchronous I/O
mechanism, comparison between event loop architecture and Project
Loom for scalability, limitations of Loom when working with
IO_uring due to design incompatibilities, discovery of a major Java
type system scalability issue related to instance-of checks against
interfaces, explanation of how this issue affected Hibernate
performance, deep investigation using assembly-level analysis to
identify the root cause, collaboration with Andrew Haley to fix the
20-year-old JDK issue, performance improvements of 2-3x after
fixing the issue, discussion of CPU cache coherency problems in
NUMA architectures, explanation of how container environments like
kubernetes can worsen performance issues due to CPU scheduling,
insights into how modern CPUs handle branch prediction and
speculation, impact of branch misprediction on performance
especially with memory access patterns, discussion of memory
bandwidth limitations in AI/ML workloads, advantages of unified
memory architectures like Apple M-series chips for AI inference
Francesco Nigro on twitter: @forked_franz
about: Netty committer and performance engineer at Red Hat,
discussion of Netty's history, focus on low-level core components
like buffers and allocators in Netty, relationship between Vert.x
and Netty where Vert.x provides a more opinionated and
user-friendly abstraction over Netty, explanation of reactive back
pressure implementation in Vert.x, performance advantages of Vert.x
over Netty due to batching and reactive design, detailed
explanation of IO_uring as a Linux-specific asynchronous I/O
mechanism, comparison between event loop architecture and Project
Loom for scalability, limitations of Loom when working with
IO_uring due to design incompatibilities, discovery of a major Java
type system scalability issue related to instance-of checks against
interfaces, explanation of how this issue affected Hibernate
performance, deep investigation using assembly-level analysis to
identify the root cause, collaboration with Andrew Haley to fix the
20-year-old JDK issue, performance improvements of 2-3x after
fixing the issue, discussion of CPU cache coherency problems in
NUMA architectures, explanation of how container environments like
kubernetes can worsen performance issues due to CPU scheduling,
insights into how modern CPUs handle branch prediction and
speculation, impact of branch misprediction on performance
especially with memory access patterns, discussion of memory
bandwidth limitations in AI/ML workloads, advantages of unified
memory architectures like Apple M-series chips for AI inference
Francesco Nigro on twitter: @forked_franz
Weitere Episoden
1 Stunde 12 Minuten
vor 7 Monaten
1 Stunde 6 Minuten
vor 7 Monaten
57 Minuten
vor 8 Monaten
1 Stunde 5 Minuten
vor 8 Monaten
1 Stunde 13 Minuten
vor 8 Monaten
In Podcasts werben
Kommentare (0)