Re: [Coin] mtpsa and P4

hemant@mnkcg.com Tue, 09 February 2021 21:31 UTC

Return-Path: <hemant@mnkcg.com>
X-Original-To: coin@ietfa.amsl.com
Delivered-To: coin@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A42433A0D18 for <coin@ietfa.amsl.com>; Tue, 9 Feb 2021 13:31:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=mnkcg.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XM0_5PwMc4-F for <coin@ietfa.amsl.com>; Tue, 9 Feb 2021 13:31:54 -0800 (PST)
Received: from web143.dnchosting.com (web143.dnchosting.com [104.171.28.143]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3F1303A0D07 for <coin@irtf.org>; Tue, 9 Feb 2021 13:31:53 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mnkcg.com; s=default; h=Content-Type:MIME-Version:Message-ID:Date:Subject:In-Reply-To: References:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=b0SF0NquSOS2I9fMFoAvNE/wbVDKZJWX8J0FbTB1/RQ=; b=C1pyh9ucrf/tZkvkRRBFGQgnJR I/bqvtHFekpmOEG48To+W7xbsS+dPy9kJlLbFcRcQq8neIYuWQ6E47ZhMnzuFIP0cEQnLCfTq0Ela bsXmIPX6r56ViRM8XgBB+edKU1BDp5W/XwWu3uIo13aXjAe4lalbWcS5zDPQe2bZ0AabW4DXm9CXq +b7JFNkKLtM7ofPlHzMs3Q6ceY2A+Ki/uvo6whNuxTXXa+KjNFnkc/R7zK2CsTT+uQolM8zrIlfJq ixFM+xqwuxQ8S/XZYWfFoXcxc4Jn5/xuTvyXeDakQGTB3NUcWvn9mBb9CpzygI6QG7op4rdYP3+D9 e8czBNcQ==;
Received: from pool-173-76-168-27.bstnma.fios.verizon.net ([173.76.168.27]:60896 helo=hemantPC) by web143.dnchosting.com with esmtpa (Exim 4.93) (envelope-from <hemant@mnkcg.com>) id 1l9abo-0001Yi-Is; Tue, 09 Feb 2021 21:31:51 +0000
From: hemant@mnkcg.com
To: radostin@stoyanov.io, coin@irtf.org
Cc: noa.zilberman@eng.ox.ac.uk
References: <07a201d6ff00$09123780$1b36a680$@mnkcg.com> <8fed1830-0a1f-e240-4a58-defe9848c8bb@stoyanov.io>
In-Reply-To: <8fed1830-0a1f-e240-4a58-defe9848c8bb@stoyanov.io>
Date: Tue, 09 Feb 2021 16:31:53 -0500
Message-ID: <087d01d6ff2a$fc952370$f5bf6a50$@mnkcg.com>
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQKRN1oe9wlBYLW0oMfE6dSORnmRagKofqHPqMaWeOA=
MIME-Version: 1.0
Content-Language: en-us
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="SHA1"; boundary="----=_NextPart_000_0875_01D6FF01.12F562D0"
X-OutGoing-Spam-Status: No, score=-0.5
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - web143.dnchosting.com
X-AntiAbuse: Original Domain - irtf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - mnkcg.com
X-Get-Message-Sender-Via: web143.dnchosting.com: authenticated_id: hemant@mnkcg.com
X-Authenticated-Sender: web143.dnchosting.com: hemant@mnkcg.com
X-Source:
X-Source-Args:
X-Source-Dir:
X-From-Rewrite: unmodified, already matched
Archived-At: <https://mailarchive.ietf.org/arch/msg/coin/KB8nx7SNWWw0_8QfhWMnPUH4OFI>
Subject: Re: [Coin] mtpsa and P4
X-BeenThere: coin@irtf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "COIN: Computing in the Network" <coin.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/coin>, <mailto:coin-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/coin/>
List-Post: <mailto:coin@irtf.org>
List-Help: <mailto:coin-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/coin>, <mailto:coin-request@irtf.org?subject=subscribe>
X-List-Received-Date: Tue, 09 Feb 2021 21:31:57 -0000

Hi Radostin,

 

Thanks for the references.  I see that you are after separating user
application traffic in which case all your points are valid in the email
below.  

 

It would be good to report how many different users and user apps per user
can you support on a Tofino asic or the NetFPGA? 

 

Note, the per port queues in a switch are also a resource - such resources
do not support a per user app kind of traffic shaping.  A switch may be only
using Token bucket to schedule port queues.  Not all user resources can be
separated and also P4 does not support traffic shaping in the language.  

 

If I don't use separate pipeline, I can always separate user app traffic
using Cisco ACI which is being standardized in the IETF as we speak.
Web-scale data centers are already using only IPv6 internally.  The IPv6
address or header has enough bits to steal from to separate a user's app
traffic as well. I could also use a MPLS VRF for app id internally in the
switch. 

 

Best wishes,

 

Hemant

 

From: Radostin Stoyanov <radostin@stoyanov.io> 
Sent: Tuesday, February 09, 2021 1:49 PM
To: hemant@mnkcg.com; coin@irtf.org
Cc: Noa Zilberman <noa.zilberman@eng.ox.ac.uk>
Subject: Re: [Coin] mtpsa and P4

 

Hello Hemant,

Thank you for your feedback.

In addition to VMs, cloud providers also provide fully managed container
orchestration services (Docker, Kubernetes) and serverless computing (lambda
functions). In contrast to VMs, these technologies have higher density, low
start-up times (milliseconds or seconds), and automated lifecycle
management, scaling, and orchestration. A single node in a cluster could run
workloads from many customers and using a separate virtual switch instance
for each customer could have a significant overhead. Cloud providers often
use SmartNICs (AWS Nitro, Azure SmartNICs) to offload packet processing to
specialised hardware.

MTPSA aims to address the problem of programmable data plane (PDP)
virtualization [1] as opposed to providing multiple isolated logical
networks [2]. It is still an early work and it was presented on December 1,
2020 at the 3rd P4 Workshop in Europe (EuroP4). We proposed an
implementation of a P4C compiler backend [3], BMV2 software switch target
[4] and a P4-NetFPGA prototype [5].

[1] https://ieeexplore.ieee.org/abstract/document/9078127
[2]
https://www.gta.ufrj.br/ensino/cpe717-2011/openflow-tr-2009-1-flowvisor.pdf
[3] https://github.com/mtpsa/p4c
[4] https://github.com/mtpsa/behavioral-model
[5] https://github.com/mtpsa/P4-NetFPGA-MTPSA

I hope this helps.

Best wishes,
Radostin

On 09/02/2021 16:24, hemant=40mnkcg.com@dmarc.ietf.org
<mailto:hemant=40mnkcg.com@dmarc.ietf.org>  wrote:

For a host, such as a user using a cloud, the cloud operator just provides a
VM per user or multiple VMs to a user.  This is why, for a host, a MTPSA
wasn't necessary.  With a network virtual switch, of course, MTPSA would
help.  However, in the same cloud, if a virtual switch is used, why not just
provide a virtual switch per user and the switch uses a few ports? This way
MTPSA is avoided.  Use a router to isolate virtual switch traffic.  If I
really want to separate user traffic, I could also use a virtual router per
user and don't use MTPSA - of course, a router has multiple interfaces to
supports connections to different VMs for a user.

 

Around May 2017, the first P4 compiler (p4c) came out as p4lang/p4c.
Hardware asic vendors have taken this p4c and developed their p4c backends.
It takes few years to develop a compiler backend.  I suspect, this is why
P4's focus could not get to MTPSA.  In the past few months, a P4 to DPDK p4c
backend was added to p4lang/p4c.   Now that server machines are running P4
to DPDK, I think, more virtual switch R&D will take place. In the past there
has been a P4 to OVS (Open Virtual Switch) but I don't know if this effort
looked into MTPSA.  

 

Also, the source code for the P4 bmv2 software switch is obtuse and hard to
change causing more delays.

 

Best wishes,

 

Hemant