• Watch recording

    Workshop. Lincheck: Testing concurrency on the JVM (part 2)

    Writing concurrent programs is hard. However, testing them can also be extremely challenging. That's why we have Lincheck – a special framework for testing concurrent data structures on the JVM. Maria will conduct a live workshop on using Lincheck: an online guide on the functionality of the tool applied to a series of concurrency problems that you may face in practice.

  • Watch recording

    The official ten-year retrospective of NewSQL databases

    In this talk, we will first discuss the origins of the NewSQL movement and its influence on the DBMS marketplace. We will cover the systems that were part of the original NewSQL classification and then how both the category and those systems evolved.

  • Watch recording

    Simplifying global-scale strong consistency

    Andras will present a novel consensus algorithm over locally replicated consensus groups, which allows for strong consistency, a robust geo-distribution- and a failure recovery model.

  • Watch recording

    Data parallelism from a multicore perspective

    This talk surveys how to use multithreading and fine-grained synchronization to structure computations like map-reduce on multicores. The talk will assume some familiarity with Java syntax, but the issues will be addressed from the first principles.

  • Watch recording

    Workshop: Java Concurrency Stress (JCStress)

    In this talk, we are going to see what tests are possible, look at classic concurrency examples on real hardware, talk about all the different ways the harness uses the underlying Hotspot-specific machinery to improve test fidelity and look how real-world projects use it for empirical concurrency testing.

  • Watch recording

    Algorithms for practical distributed agreement

    Agreement algorithms form the underpinning of many reliable services; they provide a consistent state among several machines despite asynchrony, crash failures, and malicious attacks. In this talk, Naama will argue that it is important to design agreement algorithms to optimize for both best-case and worst-case performance.

  • Watch recording

    Workshop: TLA+ in action

    The goal of this workshop is to show developers of concurrent and distributed systems how to model algorithms with TLA+.

  • Watch recording

    Workshop: Java Concurrency Stress (JCStress) (part 2)

    In this talk, we are going to see what tests are possible, look at classic concurrency examples on real hardware, talk about all the different ways the harness uses the underlying Hotspot-specific machinery to improve test fidelity and look how real-world projects use it for empirical concurrency testing.

  • Watch recording

    Workshop. Lincheck: Testing concurrency on the JVM

    Writing concurrent programs is hard. However, testing them can also be extremely challenging. That's why we have Lincheck – a special framework for testing concurrent data structures on the JVM. Maria will conduct a live workshop on using Lincheck: an online guide on the functionality of the tool applied to a series of concurrency problems that you may face in practice.

  • Watch recording

    The hitchhiker's guide to distributed transactions

    This talk is a survey of the various approaches that academic (Carousel, MDCC, SLOG, TAPIR) and industrial (Spanner, CockroachDB, OceanVista) systems use to achieve atomicity in their transactions. We'll explore how each system uniquely composes its transaction model with the underlying replication protocol, each achieving the theoretical minimum latency for atomic commitment: one round-trip between data centers.

  • Watch recording

    Theoretical and practical worlds of failure detectors

    In this talk, the audience will learn about the theoretical foundations behind failure detectors: underlying concepts, crucial properties, and differences in guarantees. We will look at applications of failure detection in several practical use cases and dive into the specifics of their implementation in some known distributed systems.