Re: [Coin] challenges for COIN

"Dirk Kutscher" <ietf@dkutscher.net> Fri, 01 March 2019 12:26 UTC

Return-Path: <ietf@dkutscher.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 6F281129441 for <coin@ietfa.amsl.com>; Fri, 1 Mar 2019 04:26:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, URIBL_BLOCKED=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 exDZs6VE3rPi for <coin@ietfa.amsl.com>; Fri, 1 Mar 2019 04:26:14 -0800 (PST)
Received: from mout.kundenserver.de (mout.kundenserver.de [217.72.192.75]) (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 56AAE124BAA for <coin@irtf.org>; Fri, 1 Mar 2019 04:26:13 -0800 (PST)
Received: from [172.18.183.94] ([46.183.103.8]) by mrelayeu.kundenserver.de (mreue106 [212.227.15.183]) with ESMTPSA (Nemesis) id 1N0FE1-1hEUYi0Zkd-00xOUp; Fri, 01 Mar 2019 13:26:01 +0100
From: Dirk Kutscher <ietf@dkutscher.net>
To: Hejianfei <jeffrey.he@huawei.com>
Cc: coin@irtf.org
Date: Fri, 01 Mar 2019 13:25:41 +0100
X-Mailer: MailMate (1.12.4r5594)
Message-ID: <AFB99EE1-699B-45CA-88F2-8DE2B53D802A@dkutscher.net>
In-Reply-To: <AB07990D3CAE53419132AB701C45693CD6F3DA2E@dggeml529-mbx.china.huawei.com>
References: <AB07990D3CAE53419132AB701C45693CD6F3DA2E@dggeml529-mbx.china.huawei.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="=_MailMate_3C741AED-7731-4B00-8376-3805565D0531_="
X-Provags-ID: V03:K1:VTQGKHePJVP2XwAuf0mXf7edHeTx89unoDYogNAldfeosE0vaBH lx2WWb9EtwH4IYazgmQVgOO8sEDn+t+FCMwcoOhuCFWDVS/VnDJO2HSoHaBWUhRfNi8pMZN KMP94S73V6s8zWYMMa6Fabz1yG4r2UFNC4uA0k1tLXxOmFAmttBSSwKOl89nBArh331oWwC ak21dIgbWMH9DhUJEVMzw==
X-UI-Out-Filterresults: notjunk:1;V03:K0:8JoyiHCKurI=:e3OvYJa7b7dphbS1dJedc2 DZLvtfITjRSjT31KOfjm3Z6oHeWPT046h9hLy797sgWmRNUIIiSRtBWyWRaGNZCjZNj/n+51m mgPAwOWNwz2inWSJzD2VvNF8yPSc448qiz5yF5jx9/myHuqYkutCP371Z3HbeL1sMa1c6F69F oSz2OiQ/iJuwXHxHfG+ZKggD+eeq7tYC/seMeRiWtGvz7RQM4pnGHacSyXhmVyjxzXJfFVgvg Z3TKGO34Aecl28uefO1nyAOexkfNYRnM7XxiKlzcfGujChiG5tOqc5byW8l4TX5FlU9o1zubm t77sW48Gfp4rWevx0+1a0t1o6sMGF1KmRvRsfNnqP2MOJNUNhFVuMU9aiTHa86KtcXndU2Pwc 0L29YN1ie5V4vd1uVOz5WzYlJIhU5mcBU9TAk251x/9PG5vI/n28TUQvWJJl+CNI/OtcQubbf aGdFtDfKQIIWC22plfBulqtmScefPIjwBfS268Zhh2t7LI+japfFI3Q3WaS0mgtZAdfWyajyI uvOHdmHLvMn/P9Mhnz8lIbpx/xj3xHokz4jRdbhrmLHhfOWTdt314Y1RiMSeuF7GEnUTNCASO +ytbyUlqzjoxf1mHgaXd4iXmn6Iqqx3ZxRPcZ4vzVSfzCkf9OLRJk7XQSePmHa+DaW4hv7gf/ 21YFlWV6BUv6cCdPxNOqY2+6ADt9hA/pb74VZtjG68P9SIbJ8QAG1GuJeIBeYEpQrO8xmT6nD qDriJWwgngxsRcMcvnAhEP2gQ1C46Lbu757afedbw3dPeQJy5XMNQWPFauk=
Archived-At: <https://mailarchive.ietf.org/arch/msg/coin/ytrMDBR8sADE6tSbV_MPWlU0ewY>
Subject: Re: [Coin] challenges for COIN
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: Fri, 01 Mar 2019 12:26:19 -0000

Hi Jianfei and all,

thanks for the input — let me share some thoughts on this:

> (1) " is in-net compute a wrong direction?"

This sounds like the wrong question to ask. Apparently, we have these 
two schools of thinking at this point:

1) “continuum of cloud computing”, extending cloud computing 
compute/storage instances (plus perhaps associated infrastructure & 
management) to other parts of the network.

2) “application logic” and/or associated elaborate networking 
functionality on switches.


> Now, we have more use cases beyond DCN, such as industrial control 
> networks. But when I was checking the latest Sigcomm CCR yesterday, I 
> noticed that a “negative” paper (below), which concludes that 
> "shoehorning" application semantics into the limited capabilities of 
> programmable switch ASICs is both "unnecessary" and "harmful".
> https://ccronline.sigcomm.org/wp-content/uploads/2019/02/sigcomm-ccr-final266.pdf

I am aware of the “Thoughts on Load Distribution and the Role of 
Programmable Switches” paper, and it has some good points. OTOH, this 
is an emerging field, this particular paper is not peer-reviewed, and 
there are proponents of the approach that would characterize the pros 
and cons differently. IMO, we should avoid changing horses every time 
somebody stumbles across another use case or paper. Instead, I was 
hoping that COIN could develop some assumptions to work with and then 
validate/elaborate those assumptions as we go.

> Personally, my view is, if the solution has enough benefit, such as 
> speeding up the machine learning by 3 times and nearly no extra cost, 
> there is no reason why it won’t be used in a managed network like 
> DCN or a rack-scale network.

IMO, the question whether it is “used” or not is not even relevant, 
as this is research, and we are at a point where people are conducting 
experiments and are still learning about the potential and limitations. 
One way of seeing it is that the current application point-solutions are 
just demonstrators of the potential.

> But I do agree with this paper in some degree that functions to be 
> implemented into network devices should be less coupled with app 
> semantics, so I wonder we may need better abstraction and less 
> customized for specific applications. A good research topic?

Sure — I think we have proposed this in the past. This could be one of 
the goals/thesis of COIN, i.e., work with the assumption that it is 
feasible/valuable to identify application-independent architectural 
components and functions, and then validate or invalidate that 
assumption.

Looking at 1) and 2) together, we have to concede that there is a lot of 
computing in the networking already. So instead of asking “in this a 
wrong direction”, a better question may be “are there better ways to 
build systems like that, i.e., wrt joint optimzation of 
compute/storage/network resources and also the other aspects that you 
mention below:

> (2) transport, privacy and security
> Aaron raised a question how end-to-end privacy and security and the 
> new model of in-network computation can co-exist. But even for the 
> managed networks where privacy and security is not a big problem, we 
> still need something new at the transport layer for in-network 
> compute, for the reasons of reliability to packet loss and congestion 
> control(in a multi-hop network beyond rack). We may have two design 
> choices: let the network device in the middle to react, or leave these 
> tasks to hosts...


OK, a couple of remarks:

1) Let’s please forget the notion of “managed networks where privacy 
and security is not a big problem”. I am not saying that you could not 
imagine networks where you don’t care about that (your toy data center 
etc.), but for the purpose of the work in this group I suggest that we 
assume an Internet model, i.e., a system where — even when a 
distributed applications runs in a “shielded” DC — those 
applications could be extended/connected to Internet and where you want 
to be able to move components from different realms without violating 
privacy (for example).


2) I don’t agree that we only these two choices. The question is more 
about the architectural model and what are its elements. For example, I 
am not sure the terms “host” and “network device” are 
particularly helpful in this discussion. In todays CDNs or edge 
computing systems, the compute functions in the network are hosts, I.e., 
they terminate transport and application layer sessions. We may want to 
think about a different model though (that’s a research question), and 
the applying concepts and terms from “TCP/IP 101” may not take us 
very far. If you want to explore fine-granular, very dynamic in-network 
computing, then I would list questions such as:

- how do you achieve a scalable resource management (coming back to 
joint resource optimization) so that you don’t have punt every 
instantiation, offloading, positioning decision to 
management/orchestration
- how could the network help with certain resource usage decisions such 
as load management, “retransmission”, replication etc.
- what do we mean by “network” anyway, i.e., what is the network 
model and what are the capacities of its elements?
- what does “end-to-end” mean in this context.
- You have picked up the notion of “end-to-end privacy” and 
“end-to-end security”. IMO that is the right direction, but the 
question may be deeper. For example, take privacy-preserving analytics 
in the networks. Privacy / Security may not be a black-and-white thing 
here — instead you would be interested in controlled sharing, 
potentially role-based authorisation and access control etc. I agree 
that “end-to-end” may have a data security notion, but its more that 
just locking all the data into per-application silos.


> (3) what should be COIN's unique role in the edge/fog compute or 
> “cloud continuum”(a good term suggested by Marie-Jose to me)
> "Edge" looks promising when nowadays people think about low latency 
> services or offloading some tasks from terminals to the edge/cloud. 
> How can we make difference by leverage the expertise in this 
> community, given that a lot of existing works (open source projects, 
> workshops and events)? It is straightforward that networks are crucial 
> for distributed systems, by definition. But deriving a new network 
> architecture from this, requires re-thinking the relationship or 
> demarcation between compute, data and networking. This could be a big 
> win, but a big challenge as well.

IMO, one interesting way of thinking about this is *not* to say “we 
need networking for distributed systems”, but instead conceiving 
“the network” as a distributed system (investigating the question I 
alluded to above). This would one differentiator from most of the 
mainstream work.

For that, looking at emerging approaches for building and programming, 
for example, distributed ML, could be interesting, i.e., systems such as 
Ray.


> (4) can we have a good abstraction to cover different use cases(from 
> DCN, industrial net to edge/fog etc) and different hardware(from 
> programmable switch, NPU to CPU etc)?
> The easiest way is always to catalogue them into groups and address 
> separately, but then, we may miss an opportunity to get a common and 
> generic model and treat each case just an specific case in this model.

I am hoping a COIN RG could be a home for people to conduct experiments 
in these different areas that would help to assess (and better define) 
the “common abstraction” concept after some time. Again, this is 
research + community-driven, i.e., you cannot really force people. So, 
the challenge is to provide a promising theme and framework, asking the 
right questions etc, but you cannot promise/control an exact outcome.

> Well, hopefully these questions are enough to have fun in COIN...

Absolutely — I would be interested to see more views and then discuss 
in Prague.

Thanks,
Dirk


> He Jianfei(Jeffrey)
> Innovation . Relevance . Rigor
> Huawei Technologies Co.,Ltd.
>
>
>
> -- 
> Coin mailing list
> Coin@irtf.org
> https://www.irtf.org/mailman/listinfo/coin