2023-Aug-15 P4.org open source developer days meeting talk by Dev Loehr

35 views
Skip to first unread message

Andy Fingerhut

unread,
Aug 9, 2023, 4:30:03 PM8/9/23
to p4-dev
(sending again with a correct date in the subject line, in hopes of avoiding confusion)

I am pleased to announce that for the Tuesday, 11am-noon Pacific time, 2023-Aug-15 occurrence of the P4.org open source developer days meeting series, Devon Loehr has agreed to give a talk, described below.

(Aside: I have to say I am pleased as punch that this is the 3rd consecutive P4.org Open Source Developer Days meeting with a presenter.  Awesome!)

This talk will be recorded and published after the live meeting, but come to the live meeting to join in for Q&A!

Description of the presentation from Devon:

Modeling TCAM-Based Packet Parsers

Programmable networking hardware (e.g. switches, SmartNICs, etc) is manufactured by a variety of vendors, using proprietary designs. Designers tend to use similar high-level principles, but make different implementation decisions. This has several negative consequences:
- It is difficult to predict if a given piece of hardware can support a particular program.
- Manufacturers face a huge design burden when creating new hardware.
- Compilers must be implemented from scratch for each piece of hardware.

To combat this problem, we have created a high-level, abstract model of the most common packet-processing architecture: a series of TCAMs. Our design is inspired by prior work by Glen Gibb et. al., but can be configured to represent the various implementation details of particular hardware, such as the width of TCAM rules and the ability to read and write memory during parsing. We are currently developing a compiler for compiling P4 parsers to programs for our model, and have developed an interpreter for simulating those programs for validation purposes.

This talk will discuss our model, configuration language, intermediate representation, and discuss our ongoing implementation of our P4 compiler. We intend to open-source all parts of this project, so our model and tooling can be re-used by hardware manufacturers and the greater P4 community.



MEETING JOIN INSTRUCTIONS:

To join this meeting, you MUST have a Zoom account (either paid or free), and you MUST be logged into that account in a web browser before you attempt to join the meeting.

You WILL be placed into a waiting room when you attempt to join, and you MIGHT be text chatted by a moderator to ask you a question, to confirm that you are a person interested in the topic of the meeting, in an attempt to keep out Zoombombers who apparently enjoy disrupting meetings.


Andy Fingerhut is inviting you to a scheduled Zoom meeting.

Join Zoom Meeting

Meeting ID: 935 2497 5578
Passcode: 168850
One tap mobile
+16694449171,,93524975578# US
+16699009128,,93524975578# US (San Jose)

Dial by your location
        +1 669 444 9171 US
        +1 669 900 9128 US (San Jose)
        +1 346 248 7799 US (Houston)
        +1 719 359 4580 US
        +1 253 205 0468 US
        +1 253 215 8782 US (Tacoma)
        +1 689 278 1000 US
        +1 301 715 8592 US (Washington DC)
        +1 305 224 1968 US
        +1 309 205 3325 US
        +1 312 626 6799 US (Chicago)
        +1 360 209 5623 US
        +1 386 347 5053 US
        +1 507 473 4847 US
        +1 564 217 2000 US
        +1 646 558 8656 US (New York)
        +1 646 931 3860 US
Meeting ID: 935 2497 5578
Find your local number: https://intel.zoom.us/u/a1DCRH2fw

Join by SIP

Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia Sydney)
103.122.167.55 (Australia Melbourne)
209.9.211.110 (Hong Kong SAR)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
149.137.68.253 (Mexico)
69.174.57.160 (Canada Toronto)
65.39.152.160 (Canada Vancouver)
207.226.132.110 (Japan Tokyo)
149.137.24.110 (Japan Osaka)
Meeting ID: 935 2497 5578
Passcode: 168850

Andy Fingerhut

unread,
Aug 15, 2023, 2:04:13 AM8/15/23
to p4-dev
Just a reminder about this talk to be held Tuesday Aug 15, 2023, 11am-noon Pacific time.

Andy

Andy Fingerhut

unread,
Aug 15, 2023, 3:46:06 PM8/15/23
to p4-dev
This video will probably become available on P4.org's YouTube channel in the future, but for now you can get a copy of the recording of this presentation in a public Google Drive folder here: https://drive.google.com/file/d/1Ih71ynJw_U_LGlQ2--rFnyOkU7pEtONh 

Regards,
Andy Fingerhut

hem...@mnkcg.com

unread,
Aug 15, 2023, 6:09:50 PM8/15/23
to Andy Fingerhut, p4-dev

Good presentation, thanks.

 

CAIRN needs an external step to remove parser loops. The Kangaroo parser, a static parser, removes loops.

A mix of packets will produce variable parsing performance with multiple TCAM stages in CAIRN. The Kangaroo parser uses one TCAM layer and uses SRAM for slower parsing. So, Kangaroo has constant performance.

 

Hemant

--
You received this message because you are subscribed to the Google Groups "p4-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to p4-dev+un...@lists.p4.org.
To view this discussion on the web visit https://groups.google.com/a/lists.p4.org/d/msgid/p4-dev/CAKvLtDaW_VMdF%2BffLdbT3A9SmxEUMORttWqhyAJ0yTH8Qe2G_Q%40mail.gmail.com.

Gibb, Glen

unread,
Aug 15, 2023, 6:15:52 PM8/15/23
to Singh, Hemant, Andy Fingerhut, p4-dev

There’s no reason why parsing performance can’t be constant with multiple TCAM stages. If all packets go through all stages, then performance should be constant. (The key can be set to a value that will never match once parsing is done for a packet.)

 

Glen

 

 

hem...@mnkcg.com

unread,
Aug 15, 2023, 8:26:06 PM8/15/23
to Gibb, Glen, Andy Fingerhut, p4-dev

Of course, if all packets go through all stages. But a MPLS packet can use only one stage and a srv6 packet uses many stages.

 

An orthogonal issue is that a CAIRN parser that uses only TCAM is not practical in a production node because TCAM is very expensive. Production nodes use TCAM and SRAM to save cost.

 

Hemant

Gibb, Glen

unread,
Aug 15, 2023, 10:12:32 PM8/15/23
to Singh, Hemant, Andy Fingerhut, p4-dev

TCAM-based parsers along the lines of the CAIRN model have been used in production systems. Mike Davies from Fulcrum Microsystems described some of their silicon at Hot Chips in 2011 [1, 2]. Their parser (slides 12-15 in [2]) resembles the CAIRN model. And there are products on the market today with parsers that resemble this design.

 

A CAIRN-style parser is not appropriate for every application, but I think it is a design choice that provides high flexibility, relative ease of programmability (all stages are the same/there’s no difference in configuration for common vs uncommon packet types), high throughput, and deterministic performance, while possibly consuming more power and area than some other design choices.

 

[1] https://ieeexplore.ieee.org/document/7477502

[2] https://old.hotchips.org/wp-content/uploads/hc_archives/hc23/HC23.19.6-Networking/HC23.19.620-Frame-Pipeline-Davies-Fulcrum-proceedings.pdf)

 

Glen

 

Reply all
Reply to author
Forward
0 new messages