BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Presentations Aeron: The Next Generation in High-performance Messaging

Aeron: The Next Generation in High-performance Messaging

Bookmarks
54:38

Summary

Martin Thompson focuses on the design of Aeron and what they learned trying to achieve very consistent performance. He explores the challenges of dealing with reliable message delivery over UDP and the data structures necessary to support transmission and retransmission in a lock-free and wait-free manner.

Bio

Martin Thompson is a high-performance and low-latency specialist, with experience gained over two decades working on large scale transactional and big-data systems. He believes in Mechanical Sympathy, i.e. applying an understanding of the hardware to the creation of software as being fundamental to delivering elegant high-performance solutions.

About the conference

Software is Changing the World. QCon empowers software development by facilitating the spread of knowledge and innovation in the developer community. A practitioner-driven conference, QCon is designed for technical team leads, architects, engineering directors, and project managers who influence innovation in their teams.

Recorded at:

Mar 28, 2015

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • A doubt about the log buffer structure

    by Bharath Ghanta,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    So, if a 2nd thread tries to write to the log buffer active region and it crosses the end of the region, its responsibility is to copy padding and rotate.

    But what happens if a 3rd thread wants to write at the same time a thread is rotating the region?

  • Re: A doubt about the log buffer structure

    by Martin Thompson,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    If a 3rd, or more, thread increments the tail concurrently when past end of the buffer they can see from the tail that they are not responsible for the rotation. They simple fail to offer and can retry at their leisure by which time it is likely rotated and they are in the next term.

    github.com/real-logic/Aeron/blob/master/aeron-c...

    You can also look at the tests for examples.

  • What about SCTP?

    by Giscard Faria,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Quite impressive the work.... However I did not understand why spending so much time on developing a reliable protocol based on UDP when muti streams can be reached using standards like SCTP, which were created just to find the midpath between TCP and UDP.

  • Re: What about SCTP?

    by Martin Thompson,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    That is a good question. There are a number of reasons. The three primary ones are having support for multicast which is critical to disseminating the likes of financial market data, the need for being message oriented rather than byte oriented streams, and the ability to go over multiple media especially including shared memory on box and Infiniband networks.

  • pub/sub only?

    by Peter Taylor,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    do you support inboxing like TIBRV does (where a temporary topic can be used to send point-to-point messages)?

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT