[P4-design] jargon: target, architecture, target architecture

Gordon Brebner Gordon.Brebner at xilinx.com
Wed Oct 19 15:44:29 EDT 2016

I hadn’t really given this much thought before, but it drew me to have a quick look at the (146, according to Word) uses of “target” in the draft spec.

My interpretation of “target architecture” had hitherto been “the P4 architecture that is the target of the compiler”, so “target” in use as an adjective in the same way as it’s used in “target audience” in the first paragraph of the spec.  This is subtly different from the interpretation below, which is “a P4 architecture on the target technology”.

I’m okay with the suggested simplification below, with a slight preference for “P4 architecture” over just “architecture”, which could be a bit generic with the possible confusion Nate mentions.

If I was going further, then I might put “technology” rather than “target”, and then ensure that any remaining uses of “target” added something helpful in context to indicate that the P4 architecture or the technology were the target of the P4 compilation.


From: P4-design [mailto:p4-design-bounces at lists.p4.org] On Behalf Of Nate Foster
Sent: Wednesday, October 19, 2016 12:06 PM
To: p4-design at lists.p4.org
Subject: [P4-design] jargon: target, architecture, target architecture

The current version of the P4_16 specification uses the term "target architecture" in a number of places. In discussions with people at Barefoot, we've been finding it's cleaner to simply refer to "target" (e.g., a software switch, FPGA, or ASIC) or "architecture" (a description of a set of P4-programmable parser and control blocks, externs, etc.) We've observed that while "target architecture" makes perfect sense grammatically -- "target" is an adjective that modifies "architecture" -- combing both terms into a single phrase actually seems to muddy the waters and cause confusion for many people, especially those new to the language and this particular distinction.

One potential downside of using "architecture" is that what we call a "target" a hardware person might call an "architecture." We've been finessing this by saying "P4 architecture" or "architecture model" when there is the possibility of confusion.

Do people have thoughts on this issue? If there are no objections, I would propose to revise the specification to eliminate "target architecture" in favor of "architecture" or "P4 architecture." (I've already sent Mihai a version of the spec with this change, but obviously this should be discussed within the group.)


This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.p4.org/pipermail/p4-design_lists.p4.org/attachments/20161019/ba3406ab/attachment-0002.html>

More information about the P4-design mailing list