Re: [Coin] mtpsa and P4

Radostin Stoyanov <radostin@stoyanov.io> Tue, 09 February 2021 18:48 UTC

Return-Path: <radostin@stoyanov.io>
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 E8D9F3A1127 for <coin@ietfa.amsl.com>; Tue, 9 Feb 2021 10:48:59 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.001, SPF_HELO_NONE=0.001, SPF_NONE=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=stoyanov-io.20150623.gappssmtp.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 lJVVmsYXt_VG for <coin@ietfa.amsl.com>; Tue, 9 Feb 2021 10:48:57 -0800 (PST)
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com [IPv6:2a00:1450:4864:20::336]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7F63F3A1126 for <coin@irtf.org>; Tue, 9 Feb 2021 10:48:57 -0800 (PST)
Received: by mail-wm1-x336.google.com with SMTP id u14so4491636wmq.4 for <coin@irtf.org>; Tue, 09 Feb 2021 10:48:57 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stoyanov-io.20150623.gappssmtp.com; s=20150623; h=subject:to:references:from:cc:message-id:date:user-agent :mime-version:in-reply-to:content-language; bh=azaPKqsAiaDz4lTWONKJuEZrg3b7PhurECbDry0blck=; b=YHyH/mJt/1FzVoiYt2Zl7iOW3MW1oMJpeqraytZmX+2H3j1u03578BBsxlpBjDZ7+L 5CVF4eXReoE3fIG3WNr94OL2PBCVDM8TvC7ryAF9TuUC9rGHCWSRNtlx66W/bsjY+q5+ zs7fz8dugW5RAMRkR/s0f0Yu8CW+9wA1LGzq6eBvMplbF5atm0ZMh1nyk1d/IG4VNLMW KfEcY8VxSAehFLmX684cMKliPK5m7Zw1tXVTs1c5O29KwuL0h8qbRjEL4++MYVUZFkRY Oko/SNl9syrve1880hXjMXZksEsJzHBxHvd1eNTfpCcwEH7aTVMCGL175rNHpKZhmCCr WMcA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:cc:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=azaPKqsAiaDz4lTWONKJuEZrg3b7PhurECbDry0blck=; b=IDZR/STTfZkLqPSusnHcseB0EbXp3OftclmsFj4oqbeaCKLMdFfG3nhLtsGYHgsLwm it4aTwQunvkdjEicPk0p4ga5vO4AnY5zbLQeyHHGNOPzaimHAF+mnvTSZRNFz71W4NYu a4s/HDY15d9dyVKy2IbdxKqBJDfJvmBKXngLI8iHkMs+QDcl1OTgIy/XZTI4w7J61+fu C6+NB2h61M8QCcwjHYS/qR6LYk7PX3zGCeqe2I1l4gpzkQjzpRxAvhIarutCgawoUkBy fZ7uZMiMzoWGOgIhjBMS1zsSmDXEM1C5pYPfQv5x0F0A/PFJSfWKQUV46c92WK+0DhRq NKRA==
X-Gm-Message-State: AOAM531AQC07pJQy60RSWZrov3eVOv4nAgP+wWKVYaHAUMKnhNEfxmz7 u/8TG4KwRjW9UlqHy9gJPtUQqw==
X-Google-Smtp-Source: ABdhPJzWXbGhwxPaVEEgPqH3p1cUlYuxZ9rjzJDOUm5QqiHMuPG4m4zUVKrWCHcyMbI/vTEmhxlHNQ==
X-Received: by 2002:a05:600c:19c6:: with SMTP id u6mr4720590wmq.143.1612896535449; Tue, 09 Feb 2021 10:48:55 -0800 (PST)
Received: from [192.168.1.223] ([185.79.186.79]) by smtp.gmail.com with ESMTPSA id k11sm23455905wrv.51.2021.02.09.10.48.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 09 Feb 2021 10:48:54 -0800 (PST)
To: hemant=40mnkcg.com@dmarc.ietf.org, coin@irtf.org
References: <07a201d6ff00$09123780$1b36a680$@mnkcg.com>
From: Radostin Stoyanov <radostin@stoyanov.io>
Cc: Noa Zilberman <noa.zilberman@eng.ox.ac.uk>
Message-ID: <8fed1830-0a1f-e240-4a58-defe9848c8bb@stoyanov.io>
Date: Tue, 09 Feb 2021 18:49:16 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0
MIME-Version: 1.0
In-Reply-To: <07a201d6ff00$09123780$1b36a680$@mnkcg.com>
Content-Type: multipart/alternative; boundary="------------D4A313163D81B3803A491E45"
Content-Language: en-GB
Archived-At: <https://mailarchive.ietf.org/arch/msg/coin/LJ0HuuVqUuW-yOT0Gzidrhn-kHg>
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 18:49:00 -0000

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 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
>
>