compute express link (cxl) update

17
presented by Compute Express Link (CXL) Update UEFI 2020 Virtual Plugfest May 19, 2020 Presented by Mahesh Natu (Intel) and Thanu Rangarajan (Arm) Ack: Samer El-Haj-Mahmoud (Arm), Mike Rothman (Intel) www.uefi.org 1

Upload: others

Post on 20-Oct-2021

19 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Compute Express Link (CXL) Update

presented by

Compute Express Link (CXL) UpdateUEFI 2020 Virtual Plugfest

May 19, 2020Presented by Mahesh Natu (Intel) and Thanu Rangarajan (Arm)

Ack: Samer El-Haj-Mahmoud (Arm), Mike Rothman (Intel)

www.uefi.org 1

Page 2: Compute Express Link (CXL) Update

Meet the Presenters

www.uefi.org 2

Thanu RangarajanPrincipal EngineerMember Company: Arm

Mahesh NatuPrincipal Engineer, Data Platforms GroupMember Company: Intel

Page 3: Compute Express Link (CXL) Update

Agenda

• Introduction to CXL• CXL Roadmap• UEFI and ACPI Changes• Summary and call to Action

www.uefi.org 3

Page 4: Compute Express Link (CXL) Update

Introduction to CXL• Open industry standard for high bandwidth, low-latency coherent

interconnect• Connectivity between processor and accelerators/memory devices• Addresses high-performance computational workloads across AI, ML,

HPC, and Comms segments– Heterogeneous processing– Memory device connectivity

• Dynamic multiplexing of 3 protocols over PCI Express® (PCIe®) 5.0 Physical Layer – CXL.io – I/O semantics, similar to PCIe technology (mandatory)

• CXL devices appear in PCIe config space, with additional register capabilities– CXL.cache – Caching Semantics (optional) – CXL.memory – Memory semantics (optional)

www.uefi.org 4

Page 5: Compute Express Link (CXL) Update

Representative CXL Usages

www.uefi.org

(Type 2 Device)

(Type 3 Device)

Page 6: Compute Express Link (CXL) Update

CXL Roadmap• CXL 1.1 specification available now• CXL consortium is actively working on CXL 2.0• CXL consortium has grown to 100+ members. If your

company is not a member, consider joining. • If your company is a member, consider joining various

workgroups and contribute to future generation of CXL.• https://computeexpresslink.org/

www.uefi.org 6

Page 7: Compute Express Link (CXL) Update

UEFI and ACPI Implications

www.uefi.org 7

Page 8: Compute Express Link (CXL) Update

Heterogeneous Computing Awareness

www.uefi.org 8

• Rethinking NUMA – hetero-memory and hetero-processors:– Generic Initiators– HMAT beyond heterogeneous memory– Coherent memory device characteristics and HMAT

• Redefining memory characteristics based on usage– Specific-purpose Memory (SPM)

Page 9: Compute Express Link (CXL) Update

ACPI Generic Initiator

www.uefi.org 9www.uefi.org

(Type 2 Device)

(Type 3 Device)Initiators in NUMA Domains

• Non-processor initiators are classified as Generic Initiators

• Generic Initiators introduced in ACPI 6.3

Page 10: Compute Express Link (CXL) Update

UEFI Specific-Purpose Memory

www.uefi.orgwww.uefi.org

(Type 2 Device)

(Type 3 Device)

• Is just regular EFI Conventional memory that has regular system memory behavior (i.e. WB, coherent, OS-managed)

• Preferentially used for acceleration or device-specific purposes

• Marked with the EFI_MEMORY_SP memory attribute in UEFI

• This memory attribute introduced in UEFI 2.8

Accelerator or device-attached

Memory

10

Page 11: Compute Express Link (CXL) Update

Coherent Device Memory and HMAT• CDAT

– Coherent Device Attributes Table• Coherent Accelerators• Accelerator-attached coherent memory• Coherent switch

– Provides NUMA characteristics of the device:• Internal NUMA domains• Bandwidth• Latency• Presence of Generic Initiators• Memory Usage Recommendations (SPM)• Presence of Memory-side Caches on coherent devices

• CDAT provides NUMA data to assist creation of the HMAT table

www.uefi.org 11

Page 12: Compute Express Link (CXL) Update

CDAT Discovery Mechanisms• Option ROM (UEFI image)

– Launched during CXL enumeration

• PCIe® Mailbox– Firmware/OS reads directly from

device

• Device vendors can choose either option

www.uefi.org 12

CXL.mem

HDM0

HW_Init_mode

Mem_Base

Option ROM

Fragment Table

Mem_Size

HDM1

Mem_Base

Mem_Size

CXL.mem/CXL.cache

HDM0

Mailbox

Mem_Base

Option ROM

CDATMem_Size

HDM1

Mem_Base

Mem_Size Cache

FW/OSFW/OSor

Page 13: Compute Express Link (CXL) Update

CDAT Discovery and HMAT Creation

www.uefi.org

13

UEFI Flow (Proposed)

PCIe/CXL Enumeration DXE HMAT Fragment Driver ACPI Driver

CXL Option ROM

CDAT

EFI_ADAPTER_INFO_PROTOCOL (CDAT type)

ProducesConsumes

HMAT

Contains/Publishes

Mailbox CDATCDAT from Devices that implement the mailbox mechanism

2

2

2

1

1CDAT from Devices that implement the

Option ROM mechanism

1

SSDT

Page 14: Compute Express Link (CXL) Update

CXL Discovery• CXL Host Bridges and associated registers can be

discovered via CXL Early Discovery Table, prior to parsing of ACPI namespace. – CEDT has one entry for each CXL Host Bridge– CEDT format defined in CXL specification

• Next level of discovery is based on ACPI Namespace– CXL Host Bridge Hardware ID=“ACPI0016”– Compatibility ID of PCIe Host Bridge to enable enumeration

by non-CXL enabled OSs– CXL _OSC method ensures OS and Firmware stay in sync,

defined in CXL specification

www.uefi.org 14

Page 15: Compute Express Link (CXL) Update

Summary and Call to Action

15

• CXL may very well change how we compute• UEFI and ACPI enablement for CXL is a work-in-progress• Good progress has been registered in general on UEFI and

ACPI enablement for heterogeneous computing systems• We encourage everyone to participate in this industry effort

– Please consider joining CXL– Please consider contributing to UEFI/ACPI definitions to support

CXL and heterogeneous computing

Page 16: Compute Express Link (CXL) Update

Questions?

www.uefi.org 16

Page 17: Compute Express Link (CXL) Update

Thanks for attending the UEFI 2020 Virtual Plugfest

For more information on UEFI Forum and UEFI Specifications, visit http://www.uefi.org

presented by

www.uefi.org 17