Apache Storm, Disruptor, JCTools and Linearizability
A conversation with Francesco Nigro about high scalability and
JCTools
1 Stunde 6 Minuten
Podcast
Podcaster
Java, Serverless, Clouds, Architecture and Web conversations with Adam Bien
Beschreibung
vor 9 Monaten
An airhacks.fm conversation with Francesco Nigro (@forked_franz)
about: JCTools as a Java concurrency utility library created by
Nitsan Wakart, the history of JCTools and how Cliff Click donated
his non-blocking HashMap algorithm to the project, contributions to
JCTools including weight-free queue implementations, Apache Storm
vs. Apache Kafka, explanation of how JCTools improves upon Java's
standard concurrent queues by reducing garbage creation and
optimizing memory layout, the difference between linked node
implementations in standard Java collections versus array-based
implementations in JCTools, detailed explanation of linearizability
as a property of concurrent algorithms, the challenges of
implementing concurrent data structures that maintain proper
ordering guarantees, explanation of lock-free versus wait-free
algorithms and their progress guarantees, discussion of the xadd
instruction in x86 processors and how it's used in JCTools for
atomic operations, the implementation of MessagePassingQueue API in
JCTools that provides relaxed guarantees for better performance,
comparison between JCTools and other solutions like Disruptor,
explanation of how JCTools achieves 400 million operations per
second in single-producer single-consumer scenarios, discussion of
cooperative algorithms for multi-producer scenarios, the use of
padding to avoid false sharing in concurrent data structures, the
implementation of code generation in JCTools to create different
flavors of queues, the use of Unsafe and AtomicLongFieldUpdater for
low-level operations, real-world applications in high-frequency
trading and medical data processing, integration of JCTools with
quarkus and mutiny frameworks, the importance of proper memory
layout for performance
Francesco Nigro on twitter: @forked_franz
about: JCTools as a Java concurrency utility library created by
Nitsan Wakart, the history of JCTools and how Cliff Click donated
his non-blocking HashMap algorithm to the project, contributions to
JCTools including weight-free queue implementations, Apache Storm
vs. Apache Kafka, explanation of how JCTools improves upon Java's
standard concurrent queues by reducing garbage creation and
optimizing memory layout, the difference between linked node
implementations in standard Java collections versus array-based
implementations in JCTools, detailed explanation of linearizability
as a property of concurrent algorithms, the challenges of
implementing concurrent data structures that maintain proper
ordering guarantees, explanation of lock-free versus wait-free
algorithms and their progress guarantees, discussion of the xadd
instruction in x86 processors and how it's used in JCTools for
atomic operations, the implementation of MessagePassingQueue API in
JCTools that provides relaxed guarantees for better performance,
comparison between JCTools and other solutions like Disruptor,
explanation of how JCTools achieves 400 million operations per
second in single-producer single-consumer scenarios, discussion of
cooperative algorithms for multi-producer scenarios, the use of
padding to avoid false sharing in concurrent data structures, the
implementation of code generation in JCTools to create different
flavors of queues, the use of Unsafe and AtomicLongFieldUpdater for
low-level operations, real-world applications in high-frequency
trading and medical data processing, integration of JCTools with
quarkus and mutiny frameworks, the importance of proper memory
layout for performance
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)