Broadcast Standards: Introducing MXL - The Media eXchange Layer

The Media eXchange Layer, or MXL, is the foundation layer in the DMF reference architecture.

MXL is the foundation layer in the DMF reference architecture and is therefore an important component. An earlier Broadcast Bridge article described it as a key enabler.

Recall this layered arrangement from the previous article about DMF. The MXL layer is highlighted and sits immediately above the hosting layers. The rest of DMF is built on top of it.

This is fundamental, and this layered model is even reflected in the MXL project logo:

MXL is being delivered as a small library of code in an open-source Software Development Kit (SDK). Keeping things small and compact rather than delivering an entire framework aims to facilitate faster MXL deployment.

The key MXL design goals are:

  • Shared memory (local and wide area).
  • Low latency (especially for replication between hosts).
  • Security via MXL domains.
  • Scalability using containers.
  • To be software friendly with robust API connections.
  • To eliminate unnecessary media compression cycles.
  • Sharing high data-rate media between Media Functions.
  • Deliver a reduction in hardware deployment.

The shared memory concepts are already well understood by IT engineers. At the moment, this is working for devices communicating with one another within the same host. Sharing their memory is simple. More advanced sharing over wider domains is being developed.

What Is MXL?

The Unified Media eXchange Layer describes how virtualized DMF Media Functions share data with each other. MXL describes how this is done transparently with low CPU overheads and low latency.

MXL is analogous to the cable connections between the hardware devices in a traditional broadcast architecture. Because it can support multiple connections to the same source data, it works more like a matrix than a single cable. This facilitates the replacement of hardware devices with virtual containers running on local or cloud-based servers.

The EBU is driving the development of the MXL Standard, but is also collaborating with the Linux Foundation and the North American Broadcasting Association (NABA). The involvement of the Linux Foundation is to provide a technical charter and put the governance in place to deliver a framework for making Open Source projects.

MXL is available as an Open-Source project. This increases the likelihood of widespread adoption. The SDK is being developed first rather than being developed after the standard is ratified. Unconventional perhaps, but also possibly very effective and quick to market. This might set an example to other standards activities.

The EBU says:

“MXL is an open framework for real-time ‘in memory’ media exchange that allows seamless integration across compute nodes, production clusters and broadcast platforms. In essence, it is the rails for an ecosystem, and their use is free of charge.”

The initial version of MXF will support these media types for exchange between the DMF Media Functions:

MediaFormat
VideoV210 video.
AudioFloat32 audio data.
DataST 2110-40 ANC payload.
CIFSThe Common Internet File System was a precursor to SMB. It is obsolete now that SMB is available.

NMOS & MXL

MXL is conceptually based on NMOS Flows and Grains between Sender and Receiver ports in the devices. The unique identifiers and timing support defined by NMOS are also important in MXL.

NMOS is conceived around Nodes which contain one or more devices, and each device can support one or more senders and receivers. Simple devices might only have a single sender or receiver. These are all described as a resource and given a unique ID in the NMOS domain. Anything with a resource ID can be addressed for interaction with other resources.

NMOS and MXL share similar functionality, but use a different nomenclature. In this context, NMOS is a philosophy while MXL is an implementation:

NMOSDMF/MXL
NodeHost computer (possibly virtualized in the cloud).
DeviceMedia Function.
SenderMXL writer.
ReceiverMXL reader.
FlowMXL buffer.

This functionality is illustrated here with nested entities. They are labelled with NMOS and DMF nomenclature:

The simplest example in the NMOS documentation describes two devices with a single flow between them. The flow also has a unique ID so it can also be addressed as a resource. Here is an equivalent MXL scenario:

A more complex example describes an IP enabled camera with multiple flows in each direction:

A flow is a sequence of grains emitted by a sender and consumed by a receiver. The grains have various properties that help to manage them in the receiver:

  • Timestamp relative to the PTP time-base.
  • Flow ID to gather related grains together.
  • Payload (video, audio or data).

All of the grains in a flow must carry the same kind of data. Video and audio grains would be delivered in separate flows with a regular cadence synchronized to the PTP timeline. Control and data grains are delivered at irregular intervals as needed. An MXL Domain (as shown in the recorder) combines all the flows needed for a workflow.

What Is Shared Memory?

MXL reduces latency by using shared memory to exchange information between the Media Functions. This is not a new concept. In fact the UNION declaration which shared data storage between different data structures was supported by the Fortran compiler in 1977.

There are several tiers of shared memory dealing with different physical architectures:

  • Tier 1 - Different processes in the same host sharing local memory.
  • Tier 2 - Different hosts in the same cluster replicating memory.
  • Tier 3 - Different hosts in different clusters replicating memory over ‘long’ distances.

Note: That these tiers are not part of the current MXL design. They are used here to organize the different distribution models.


From a functional perspective, the different tiers should all look the same to a Media Function using MXL to share data with its siblings. The underlying implementation is hidden by using an abstraction layer which works fundamentally like a device driver:

Other techniques will emerge as MXL drives the need for shared memory between widely separated systems. MXL is currently being developed around the Tier 1 shared physical memory with ideas on how RDMA and DDP will support it for Tier 2.

Tier 1 - Physical Shared Memory

Shared memory within a single host avoids the need for the CPU to copy the data and provides significant performance benefits. A process can store data in a well-known memory location for another process to pick it up without the CPU needing to clone the data between two locations in memory.

Sharing data across multiple containers running on the same host is already supported in the prototype version of MXL.

Media is exchanged in shared memory using a tmpfs file system located at /dev/shm in the Linux OS environment. Consult the Linux Filesystem Hierarchy Standard for details of how this works.

Security in UNIX environments is described by the POSIX standard. In the context of MXL, it allows Read/Write permissions to be granted for individual users or members of a group. This manages the memory sharing without compromising the security.

Tier 2 - Virtual Shared Memory

Sharing memory between processes running on different host computers requires a mechanism to replicate the data from one host to another. Multiple hosts running in a single cluster can use the RDMA protocol described in RFC 5040 to virtualize their memory sharing.

Providing a buffer at each end where the contents are cloned automatically implements virtual shared memory.

MXL will use Libfabric and the RDMA protocol to replicate the shared memory between different hosts. This is a work in progress.

The RDMA protocol for network shared memory is built on top of the DDP protocol. The data could be delivered via MPA and TCP but SCTP has lower latency and delivers the data faster.

Modern network interface cards can store incoming network data using Direct Memory Access (DMA) without the CPU needing to unload the network card data and store it in memory. This also frees up CPU capacity. The network transfer is very rapid with only a small amount of latency compared with physical sharing.

Tier 3 - Wide-Area Shared Memory

Extending shared memory between different clusters and clouds will need assistance from the cloud provider. Amazon Web Services (AWS) provides the Elastic Fabric Adapter (EFA). Use the equivalent Cloud Provider tools on a Google hosted platform. This is on the horizon but not yet being implemented in MXL.

Using Buffers In Shared Memory

MXL organizes the shared memory as ring buffers. A conventional buffer has a simple linear arrangement; a ring buffer joins the ends together. Provided the content is read from the buffer at least as fast as it is being written, a ring buffer appears to have infinite capacity. MXL adds a further refinement in that it allows multiple writer-reader pairs to occupy the same buffer:

Media Function senders will load grains of data into the buffer and receivers in other Media Functions will extract them. The buffer is the manifestation of an NMOS flow. Since this all happens in (Tier 1) shared physical memory within a single host, the latency is near zero.

This is more complex when different hosts are involved in a Tier 2 or 3 scenario. The Libfabric software needs to replicate the buffer contents across the network. This must involve some latency and is where RDMA would use the SCTP transport protocol instead of MPA & TCP to move the data more quickly. At this stage the replication is not bidirectional but that can be simulated with multiple flows.

MXL software will need to provide careful buffer management as it matures. If the readers in the Media Functions stall, the senders must avoid buffer overruns. Processes in UNIX can freeze or stall for a variety of reasons when they run out of resources. No doubt the designers are aware of this and will implement countermeasures.

Where To Find Out More

DMF and MXL are works in progress with standards to be released in due course. Some early draft material and prototype software is in circulation for early adopters to use in the meantime. More information is available from these organizations:

  • EBU.
  • Linux Foundation.
  • NABA.

Resources From The EBU

The EBU publishes many open-source projects via this Git repository:
https://github.com/ebu

Download the MXL open-source software kit from the Git repository here:
https://github.com/dmf-mxl

The MXL Library code is currently written in C++ and heading towards a version 1 release in Q1 2026. Later on, it would be useful to have the code ported to other languages to simplify integration with existing software.

Resources From The Linux Foundation

The Linux Foundation is an important member of the Open-Source software community. Their involvement ensures that the platform support will be first class. This should be easily reflected into macOS due to its UNIX heritage. Windows support will benefit by having a UNIX environment installed to support MXL. You might use Cygwin or the Windows Subsystem for Linux (WSL) to create the necessary environment.

The Linux Filesystem Hierarchy Standard that describes the tmpfs file system and /dev/shm is available here:
https://specifications. freedesktop.org/fhs/latest/

A PDF version as a single document for reading offline is hosted here:
https://refspecs. linuxfoundation.org/FHS_3.0/index.html

Resources From POSIX Org

The POSIX standard can be purchased from the IEEE or ISO organizations. Details of the different variants of the POSIX standard are described here:
https://posix.opengroup.org

Related Standards

There are literally thousands of three- and four-letter acronyms. Sometimes called buzz-word soup, it is very easy to mistake one for another when they are so very similar.

Acquire the resources on these key protocols and projects to start with, then gather the other related standards for supporting technologies.

  • MXL - See the open-source Git repository.
  • RDMA protocol standard - RFC 5040.
  • DDP standard - RFC 5041.
DocumentVintageDescription
IS-04Ver 1.3.3AMWA NMOS Discovery & Registration.
BCP-004-01Ver 1.0.0AMWA NMOS Receiver capabilities.
BCP-004-02Ver 1.0.0AMWA NMOS Sender capabilities (revision in progress).
NMOS Tech OverviewCurrentDescribes flows & grains in sender/receiver device connections.
IETF BCP 142023Best current practice on using Upper and Lower case for keywords & how ambiguity affects the meaning.
RFC 7931981Transmission Control Protocol (TCP).
RFC 2119 1997Key words for use in RFCs to Indicate Requirement Levels.
RFC 2401 1998Security Architecture for the Internet Protocol.
RFC 2406 1998IP Encapsulating Security Payload (ESP).
RFC 2407 1998The Internet IP Security Domain of Interpretation of ISAKMP.
RFC 2409 1998The Internet Key Exchange (IKE).
RFC 3723 2004Securing Block Storage Protocols over IP.
RFC 43012005Security Architecture for the Internet Protocol.
RFC 43032005IP Encapsulating Security Payload (ESP).
RFC 43062005Internet Key Exchange (IKEv2) Protocol.
RFC 43462006The TLS Protocol Version 1.1.
RFC 48352007Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) & Authentication Header (AH).
RFC 49602007Stream Control Transmission Protocol (SCTP).
RFC 50402007The Remote Direct Memory Access (RDMA) Protocol Specification. For synchronization between hosts.
RFC 50412007Direct Data Placement over Reliable Transports (DDP).
RFC 50422007RDMASEC adds security features to RDMA.
RFC 50442007Marker PDU Aligned Framing for TCP Specification.
RFC 50462007iSER Extensions for Remote Direct Memory Access (RDMA) over Internet Small Computer System Interface (iSCSI).
RFC 62522011A Framework of Media-Independent Pre-Authentication (MPA) for Inter-Domain Handover Optimisation.
RFC 71432014The Internet Small Computer System Interface (iSCSI) Protocol.
RFC 81742017Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words.
RFC 92602022Stream Control Transmission Protocol (SCTP).
IETF STD 72023Static standard number for the TCP protocol. It encapsulates RFC 793.
VSF TR-112024A VSF specification for Signal Transport and Timing Considerations for Ground-Cloud-Cloud-Ground workflows.
FHSVer 3.0Linux Filesystem Hierarchy Standard.
POSIX2024Portable Operating System Interface.
IEEE 10032024Published version of the POSIX standard.
ISO 99452009Published version of the POSIX standard. Reviewed & confirmed in 2025.

Conclusion

We are very early in the MXL development lifecycle and there is still much work to do. MXL is still at the experimental prototype stage with a version 1 release expected in 2026. Progress to date has already encouraged the Canadian Broadcast Corporation (CBC) to build a new studio infrastructure using MXL as a foundation, but DMF and MXL are being widely adopted by major broadcasters and the momentum behind it is significant.

At the moment, MXL is focused on a limited sub-set of uncompressed video and audio formats. More complex compression and variable frame rates will arrive later on.

Timing is very much a work in progress. Media grains as defined in NMOS need to carry their time signature as they travel through the ring buffers so they can be reassembled in the receiving Media Function in a coherent sequence. Delivering media as grains rather than streams might allow multiple buffers to be used to increase the transfer capacity.

For the time being, MXL will only work within a single host using Tier 1 shared physical memory techniques. This makes memory sharing very easy to implement. Using the RDMA protocol and Libfabric to share across different hosts and domains will extend the reach of MXL to multiple hosts.

MXL is a description of how media can be delivered efficiently. It is still a very young project and as it evolves, more broadcasters will adopt it and deploy more sophisticated collections of Media Functions.

The Canadian Broadcasting Corporation is targeting February 2026 to deploy DMF and MXL in time to support the Winter Olympics.

ST 2110 has been a significant enabler and an important step along the way to DMF. It is still relevant and important as it deals with ingest and edge connectivity to legacy architectures. It also has some useful applications in the delivery of media flows between CPU clusters.

It is rare that a broadcasting technology concept is so elegantly simple as MXL!


Appendix - IETF Documents (RFC, STD & BCP Collections)

The RFC documents are Requests For Comments. Generally speaking these are treated as standards although this wasn’t the original intent. One of the problems with RFCs is that as new ones are issued to obsolete old ones, the number changes. This makes it confusing to describe internet protocols in terms of their RFC number.

In 1992, the IETF started issuing STD documents. These would aggregate several RFCs under a stable and static reference number. The RFC numbers could then change but the STD number would remain the same.

Thus STD 7 describes the TCP protocol in a consistent way. There are over 100 STD documents listed in the index here:
https://www.ietf.org/rfc/std-index.txt

BCP documents exist for a similar reason but are not standards. They can encapsulate several RFC documents but describe a Best Current Practice. These also are fixed points in the IETF registry.

Hence BCP 14 describes ambiguities due to upper and lower-case lettering in the context of keywords used for protocols and other purposes. This is just one of nearly 250 BCP documents. The full index is available here:
https://www.ietf.org/rfc/bcp-index.txt

The nearly ten thousand RFC documents are described in their index here:
https://www.ietf.org/rfc/rfc-index.txt


Appendix - Other Similar Technologies

There are a few similar and related technologies that implement similar synchronized and shared content and data. Authentication of the client against the security model in the server is vitally important. Understanding these provides additional options for planning your infrastructure. MXL is designed around shared memory but it can use files and folders for the exchange.

Technology Description
rsync Synchronizes directories & their contents. This includes entire trees within the file system. It is often used as the foundational technology for backup engines. Applications identify the file system paths that need to be synchronized & then call the rsync command line tool to execute the copy. This is also capable of deleting orphaned files at the destination when they have been previously removed at the source.
SMB The Server Message Block protocol is used to share file systems from one computer & mount them on another. It appears in the local file system hierarchy & behaves as if it were a local drive. There are other file sharing protocols but SMB is a dominant solution.
PDO Portable Distributed Objects. Behaves like RDMA/DDP but replicates objects that are part of a remote business logic architecture & present them to the client application as if they existed locally. This is extremely powerful if you develop Object Oriented Software.
RPC Remote Procedure Calls execute in the client as if they were a local function but the activity takes place at a remote location.
WebDAV Web-based Distributed Authoring & Versioning is a set of extensions to the HTTP protocol to remotely edit & manage files on a web server.
CalDAV An extension to WebDAV for synchronizing calendar data.
CardDAV An extension to WebDAV for synchronizing contact data using vCards.
ICloud sync The Apple proprietary synchronization ecosystem used across all their platforms for Calendars, Contacts, Notes & Files etc.
MS OneDrive The Microsoft equivalent synchronization environment for the Windows platform.

 


All 9 articles in this series are now available in our free eBook ‘Cloud Compute Infrastructure – The Book 2026’ – download it HERE.


Supported by

You might also like...

IP Security For Broadcasters - The Book 2026

Security is everyone’s problem. It is not just about having the right policies in place or knowing where the vulnerabilities in your network are; it’s about understanding how the network is accessed and by whom, and how to str…

Broadcast Standards - The Science Of AI: New Foundations

We begin this series with the foundational building blocks of AI. Basic principles, the technology stack and the types of AI based upon it, and how to apply them effectively in a broadcasting enterprise.

Standards: Audio - MPEG Layer 3 Audio Coding (MP3)

Launched in 1995, MP3 remains one of the most ubiquitous audio formats in the world. This guide explains how psychoacoustic compression works, explains the differences between MPEG-1 and MPEG-2 implementations, and finds out where MP3 works – and where it doesn’t.

Network Traffic Engineering: Head-Of-Line Blocking - Why QUIC Changes The Rules

Head-of-line blocking turns minor packet loss into visible glitches by stalling entire TCP streams until missing data is retransmitted. Eliminating cross-stream blocking by multiplexing independent streams over UDP, QUIC might be the answer for OTT delivery, cloud workflows and the…

Standards: Audio - Standards For Audio Coding

Audio coding demands very different tools and workflows to video, but the same fundamental principles around quality apply to both. This guide surveys the standards, codecs and container formats you need to navigate modern audio workflows.