<div dir="ltr">I'm sorry, it's hard to agree with such broad, general statements.<div><br></div><div>Is a NPU-based framework that uses C more programmable? Sort of. But there are a number of gotchas: Programs may be lower-level and longer without domain-specific constructs. They may require careful tuning to get good performance. It may be difficult to write larger programs in a modular style. Analysis and verification of programs may be difficult or impossible...<br><div><br></div><div>-N<br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 6, 2017 at 10:56 AM, Michael Borokhovich <span dir="ltr"><<a href="mailto:michaelbor@gmail.com" target="_blank">michaelbor@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thanks for the reply Nate!<div><br></div><div>So, to summarize, the benefits of P4 approach are: portability and performance. Other than that you probably can achieve the same (if not better) flexibility/programmability with an NPU. Is this correct?</div><div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 6, 2017 at 1:01 AM, Nate Foster <span dir="ltr"><<a href="mailto:jnfoster@cs.cornell.edu" target="_blank">jnfoster@cs.cornell.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Your question seems to be more about the relative merits of various architectures than the P4 language. But yes an ASIC is generally more efficient than an NPU, at least at scale.<div><br></div><div>Beyond efficiency there are other benefits to expressing a data plane algorithm in an open framework like P4. For example, a P4 programs should be relatively easy to port to a different target. The same is unlikely to be true for C programs written against closed SDKs.</div><div><br><div>-N</div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="m_-7660521351093976988h5">On Wed, Apr 5, 2017 at 6:59 PM, Michael Borokhovich <span dir="ltr"><<a href="mailto:michaelbor@gmail.com" target="_blank">michaelbor@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="m_-7660521351093976988h5"><div dir="ltr">Hi,<div><br></div><div>P4 allows for configurable data-plane, e.g., we can easily support new custom protocols. However, the same functionality may be achieved by using a network processor, e.g., EZchip (the one I had experience with).</div><div><br></div><div>As I understand, the advantages of programmable ASIC/FPGA that supports P4 is better performance and a lower price than a network processor?</div><div><br></div><div>What do you think?</div><div><br></div><div>Thanks!</div><span class="m_-7660521351093976988m_-5197424933033833744HOEnZb"><font color="#888888"><div>Michael.</div><div><br></div></font></span></div>
<br></div></div>______________________________<wbr>_________________<br>
P4-dev mailing list<br>
<a href="mailto:P4-dev@lists.p4.org" target="_blank">P4-dev@lists.p4.org</a><br>
<a href="http://lists.p4.org/mailman/listinfo/p4-dev_lists.p4.org" rel="noreferrer" target="_blank">http://lists.p4.org/mailman/li<wbr>stinfo/p4-dev_lists.p4.org</a><br></blockquote></div><br></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>