Re: [Coin] 答复: Agenda for today

"David R. Oran" <daveoran@orandom.net> Thu, 20 June 2019 17:28 UTC

Return-Path: <daveoran@orandom.net>
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 EE9B71200E5 for <coin@ietfa.amsl.com>; Thu, 20 Jun 2019 10:28:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 c3DfkeQKoUw0 for <coin@ietfa.amsl.com>; Thu, 20 Jun 2019 10:28:22 -0700 (PDT)
Received: from spark.crystalorb.net (spark.crystalorb.net [IPv6:2607:fca8:1530::c]) (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 5710212000E for <coin@irtf.org>; Thu, 20 Jun 2019 10:28:22 -0700 (PDT)
Received: from [192.168.171.1] ([IPv6:2601:184:4081:19c1:2da5:fd4d:fb52:147f]) (authenticated bits=0) by spark.crystalorb.net (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id x5KHRnwa005339 (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256 verify=NO); Thu, 20 Jun 2019 10:27:51 -0700
From: "David R. Oran" <daveoran@orandom.net>
To: christian.tschudin@unibas.ch
Cc: Dirk Kutscher <ietf@dkutscher.net>, coin@irtf.org, Marie-Jose Montpetit <marie@mjmontpetit.com>, Dirk Trossen <Dirk.Trossen@InterDigital.com>, hemant@mnkcg.com, Hejianfei <jeffrey.he@huawei.com>
Date: Thu, 20 Jun 2019 13:27:48 -0400
X-Mailer: MailMate (1.12.5r5639)
Message-ID: <634B93DB-2FD1-401B-B061-1D810A2ABF5A@orandom.net>
In-Reply-To: <alpine.OSX.2.21.1906200756460.66999@uusi>
References: <8E9A4518-FD74-4EB4-B691-E3B5A8BA42D7@mjmontpetit.com> <MN2PR10MB36959DD956FD901833EEDF74F3100@MN2PR10MB3695.namprd10.prod.outlook.com> <AB07990D3CAE53419132AB701C45693CD7A6B1CF@dggeml529-mbx.china.huawei.com> <00c901d52696$df847f10$9e8d7d30$@mnkcg.com> <MN2PR10MB3695AF826C53D97BDABDC9F0F3E50@MN2PR10MB3695.namprd10.prod.outlook.com> <A7CE5C4D-083E-4E03-8CBE-C8FD342201D4@mjmontpetit.com> <BFCB8174-EC51-493E-8E57-B47464F34980@dkutscher.net> <alpine.OSX.2.21.1906200756460.66999@uusi>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="=_MailMate_CC58C4C7-B45D-4732-A5BE-AB54EAC1529C_="
Archived-At: <https://mailarchive.ietf.org/arch/msg/coin/zZStOA5s3IFvZczlnFLxSK3X_SM>
Subject: Re: [Coin] 答复: Agenda for today
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: Thu, 20 Jun 2019 17:28:26 -0000


On 20 Jun 2019, at 11:23, christian.tschudin@unibas.ch wrote:

> Hi Dirk,
>
> agreeing on many points, and yes to finding an abstraction. Here is a 
> suggestion (which could help to sharpen the charter?) that focuses 
> onthe control locus instead of hosts, interfaces or tools:
>
> There is "computing in the network" IFF these conditions hold:
> - function execution is triggered from within the net (control inside 
> the net)
> - there is choice as of which function to execute (late binding)
> - function results are accessible inside the net, can act as triggers 
> (chaining).
>
I’m not entirely sure I agree with this. The unstated implication (or 
at least the implication I derive) is that there is an administrative 
separation between the entire that operates and runs application on 
hosts, and the entity that operates and the network and decides what 
computations run and where. Therefore if one does not start from this 
mental model:

- It does not seem fundamental to me from where the function execution 
is triggered.
	
	- As an example from a different era and somewhat different problem 
domain, consider Packetcable Multimedia, which is a QoS resource 
management protocol for CMTSs based on COPS. In this case an application 
running on a host sends PCMM function calls to a execution box 
“inside” the network, which in turn uses COPS to install QoS state 
in the CMTS. Which part of this is “inside the network”? If you say 
it’s just the two ends of COPS, then the function of installing QoS 
state is executed “inside” and the “trigger” is also inside, as 
the function that derives the COPS stuff from the PCMM calls, is under 
control of the cable operator and hence “inside” the network. If, on 
the other hand you start with the PCMM request as the “trigger”, the 
function execution is invoked from a host “outside” the network.

	- Conversely, RICE (or for that matter NFN) method invocation could 
arrive at an ICN forwarder which has an associated internal module 
capable of executing the function and returning results. In this case 
the “trigger” is the original call, possibly from a host 
“outside” the network being forwarded through ICN routers, and the 
“execution” is just another piece of method/function code on the 
router/forwarder and therefore “inside” the network.

- Late versus early binding also seems somewhat orthogonal. One can do 
late binding (as my second example above shows), or quite possibly early 
binding by setting up a full computation graph statically at the first 
invocation. In fact, you might even do it at compile time if you have a 
network with stable and predictable topological and resource structure, 
as one might for example in a toroidal mesh of TPUs in a Google data 
center that are all resources “inside” the data center network and 
not the application hosts executing the ML application.

- I imagine that chaining (at least the simple forms like SFC or NFV) 
can’t cross administrative boundaries easily and hence might be 
constrained to be entirely “inside” the network, but why start from 
this limitation?

For me, the more important characteristics of “in network” computing 
are things like:

- computations are done on devices placed topologically at interior 
nodes of the network graph, as opposed only at the edges of the graph.

- The security perimeter is around the computation instance, not a 
topological boundary of the connectivity graph, hence one can keep an 
entire distributed computation inside one security perimeter and not 
have to either leak data or share keys with third parties.

- Any state kept and/or mutated by the computation is considered 
application state, not state related to the operation of the basic 
forwarding and topology maintenance function of the network devices.

> With this definition, plain forwarding is out but also one of your 
> cases where the SDN controller merely configures a multicast tree.
>
I think my definitions are somewhat orthogonal to these concerns…

What do people think? which general way of thinking about in-network 
computing resonates better?

DaveO.

> best, cft
>
>
> On Thu, 20 Jun 2019, Dirk Kutscher wrote:
>
>>
>> Hi,
>>
>> More generally, “computing in the network” has the potential to 
>> open new perspectives on the relationship of “hosts”, 
>> “network” as
>> well as on layers, i.e., required services and functional 
>> modularization.
>>
>> I don’t think it’s helpful if we constrain ourselves to 1990s 
>> textbook categories (such as “L3”, “L4”). These categories 
>> were not
>> god-given anyway — they just helped in designing systems at a time 
>> and explaining them…
>>
>> IMO, one of the COIN objectives should be to propose/define new 
>> categories for functional composition that help to us to describe
>> the relevant COIN scenarios.
>>
>> Just as an example, if we consider a set of distributed data sources 
>> and processing/aggregation functions a COIN use case, what
>> would be the “L4” protocol? What would be the “end-to-end” 
>> service?
>>
>> An example at the other end of the spectrum could be a set of 
>> programmable network nodes that get programmed by some SDN controller
>> to achieve a certain packet forwarding behaviour (for example, 
>> multicast distribution).
>>
>> What abstraction could be useful to describe these two use cases in 
>> one framework? (And is there any value in trying to find them?)
>> IMO these are good challenges for COIN.
>>
>> And, in that context, SDN frameworks, control protocols (such as 
>> OpenFlow), programming languages (such as P4) are IMO just tools
>> that could be useful in one or the other scenario — just like 
>> execution environments are tools — they should not define the 
>> concepts
>> and decomposition categories we talk about here.
>>
>> Summarizing, I agree to DirkT that COIN should go beyond programmable 
>> routing and forwarding, and when doing that, we have to
>> rethink traditional definitions of hosts, networks etc.
>>
>> Cheers,
>> Dirk
>>
>>
>>
>>
>>
>>
>> On 19 Jun 2019, at 17:52, Marie-Jose Montpetit wrote:
>>
>>       (Chair hat off):I actually agree with Dirk. I would not want to 
>> limit computing to the routing and forwarding. We have
>>       discussed meta data processing in the past for example. And 
>> host is generic enough.
>>
>> mjm
>> Marie-Jose Montpetit, Ph.D.
>> mariejo@mit.edu
>> marie@mjmontpetit.com
>> +1-781-526-2661
>> @SocialTVMIT
>>
>>
>>
>>       On Jun 19, 2019, at 11:49 AM, Dirk Trossen 
>> <Dirk.Trossen@InterDigital.com> wrote:
>>
>> Hemant
>>
>> I was under the impression the RG would target computing in networks 
>> (COIN). I didn't see this as limited to essentially
>> programmable routing and forwarding. If indeed the group targets the 
>> intersection of computing and communication, as
>> expressed early in the charter, the removal of any mentioning of host 
>> is rather questionable to me.
>>
>> Best
>>
>> Dirk
>>
>> ____________________________________________________________________________________________________________________________________
>> From: hemant@mnkcg.com <hemant@mnkcg.com>
>> Sent: Wednesday, June 19, 2019 1:02:30 PM
>> To: 'Hejianfei (Jeffrey)'; Dirk Trossen; 'Marie-Jose 
>> Montpetit'; coin@irtf.org
>> Subject: RE: [Coin] 答复: Agenda for today Please see in line 
>> below.
>>
>>
>>
>> From: Coin <coin-bounces@irtf.org> On Behalf Of Hejianfei 
>> (Jeffrey)
>> Sent: Tuesday, June 18, 2019 10:40 PM
>> To: Dirk Trossen <Dirk.Trossen@InterDigital.com>; Marie-Jose 
>> Montpetit <marie@mjmontpetit.com>coin@irtf.org
>> Subject: [Coin] 答复: Agenda for today
>>
>>
>>
>> Hi Dirk,
>>
>>
>>
>> Thank you for your comments for the charter. Marie-Jose, Eve and me 
>> discussed these in our bi-weekly co-chair meeting,
>> and the response below (with [JEM]) reflects what we three think. Of 
>> course, it is how this GROUP feel and think that
>> decides what this group should do…
>>
>>
>>
>> JEM(Jeffrey, Eve, Marie-Jose)
>>
>>
>>
>> 发件人: Coin [mailto:coin-bounces@irtf..org] 代表 Dirk 
>> Trossen
>> 发送时间: 2019年6月7日 21:51
>> 收件人: Marie-Jose Montpetit 
>> <marie@mjmontpetit.com>coin@irtf.org
>> 主题: Re: [Coin] Agenda for today
>>
>>
>>
>> Marie-Jose, all,
>>
>>
>>
>> As for the charter, some comments:
>> 1.      Item 1 mentions the term ‘network functions’ as the 
>> scope of research. Is this limitation to ‘network function’
>> intended?
>> [JEM] After all, we are talking about “in-network” functions. 
>> “Network function” is still ok, only if we don’t limit “
>> network function” to simply forwarding.
>> 2.      As mentioned in the call, item 2 (use cases) is a 
>> method useful not just for requirements analysis (which is
>> solution oriented) but also for scoping of work, i.e., what is in 
>> scope of the RG and what is not
>> [JEM] If we discuss how use cases are related to the scope, we may 
>> need to clarify two levels: networks and applications
>> above. We are addressing different sectors of networks, mainly three 
>> now: DCN, industrial networks and Edge(with Cloud
>> continuum). And there are different applications related to these 
>> three sectors, such as video streaming, immersive
>> AR/VR, autonomous/connected vehicles, industrial IoT.  We need to 
>> take care of the relationship between network sectors
>> and applications. One potential and ambitious objective is to explore 
>> the common architecture or abstraction for these
>> three, but an even less ambitious reason to address all three in this 
>> research group is that these sectors can learn
>> from each other. E.g. the metro network connecting edges has the 
>> similarity with DCN connecting servers(e.g how to
>> better convey the distributed computing system), while the experience 
>> in in-network control from smart factory may be
>> inspiring for the mission critical services in edge networking in 
>> smart city. It is up to the group to decide based on
>> their interest if we address all these three or focus some of them. 
>> But to us three, all three are related and
>> interesting.
>> 3.      Item 2 states “Identify potential benefits to these 
>> networks from in-network functionality” which confuses me a
>> bit in terms of ‘these networks’ as a focus here. Item 3 does 
>> recognize OTOH that we consider placement of compute ‘even
>> in end devices’. My main concern goes back to the feedback I 
>> received in the past from people who see ‘the network’
>> ending at the last link to the end device. If we see a continuum of 
>> providing services across devices that include end
>> devices as well as ‘in-network resources’ then the benefits are 
>> not limited to ‘the network’ only. I suggest simply
>> removing ‘to these networks’ from the statement
>> [JEM] Yes, we think “simply removing ‘to these networks’ from 
>> the statement” is fine.
>> 4.      I understand item 4 having arisen from the interactions 
>> with the transport area but I wonder why we do not
>> include ‘routing’ into the list here, unless we assume 
>> ‘transport’ does include ‘routing’. On the other hand, item 3
>> includes ‘new protocol designs’ so it seems that the unique point 
>> about item 4 is in fact the security and privacy part
>> so maybe rewording item 4 to “research on new privacy and security 
>> mechanisms required to enable in-network compute”
>> would be best?
>> [JEM] Yes,  we agree that  probably moving “transport protocol” 
>> to item3 can resolve the ambiguousness. Then the item 3
>> may looks like: “Research on novel architectures, data-plane 
>> abstractions and new networking/transport protocols designs
>> to…” The reason behind current text:  networking is layer-2/3, 
>> transport is layer-4, so the current item3 is emphasize
>> the layer-2/3 as the data plane in the switches and routers, while 
>> transport are at the host side. But Dirk is right, it
>> is confusing to separate “ transport” from “ network”.
>> Last question for me to understand the scope: what is a programmable 
>> network device? An SDN or P4 switch? Or networked
>> laptop? Or my mobile device? Or all of it? Throughout the charter 
>> text, we talk about programmability for ‘devices’,
>> ‘switches’ as well as ‘networks’. Maybe if we answer the 
>> question for ‘device’, we can provide good answers to the
>> others?
>> [JEM] A programmable “network device” can be:  a programmable 
>> switch, a router with Network Processor Units(NPUs) which
>> is typically also programmable but not as open as a P4 switch, a 
>> soft-router/switch with X86 or ARM in the context of
>> NFV, or something made of FPGA, and so on.
>>
>>
>> [HS] Minor point.  Please 
>> see https://github.com/hesingh/p4-info which lists NPU, FPGA, and 
>> generic computer as all
>> being programmable using P4.
>>
>>
>> Logically we differentiate “network device” from 
>> “host”(“the network’ ending at the last link to the end 
>> device”) , but
>> physically a network node and a host may be implemented in the same 
>> real hardware: these mobile phones/laptops can
>> function as “network nodes” besides “hosts”. This is not what 
>> we try to emphasize at this stage, but it is possible.
>> That’s why we state “’even’ in the end-user device” in item 
>> 3.
>>
>>
>>
>> [HS] When an interface on a router acquires an IP/IPv6 address, the 
>> interface is a host.  I would elide all mention of
>> host, mobile device, laptop, etc.  Just stick to “computing in 
>> network”.  The network may be connecting a laptop, cell
>> phone, router, switch, refrigerator, smart speaker, whatever…
>>
>>
>>
>> Hemant
>>
>>       --
>>       Coin mailing list
>>       Coin@irtf.org
>>       https://www.irtf.org/mailman/listinfo/coin
>>
>>
>> -
> Coin mailing list
> Coin@irtf.org
> https://www.irtf.org/mailman/listinfo/coin