Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
 by ietfa.amsl.com (Postfix) with ESMTP id BB495130DC0
 for <quic-issues@ietfa.amsl.com>; Wed,  7 Nov 2018 00:54:59 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.47
X-Spam-Level: 
X-Spam-Status: No, score=-8.47 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.47, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001,
 MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001]
 autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key)
 header.d=github.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 UbCIgzODGn_n for <quic-issues@ietfa.amsl.com>;
 Wed,  7 Nov 2018 00:54:57 -0800 (PST)
Received: from out-7.smtp.github.com (out-7.smtp.github.com [192.30.252.198])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by ietfa.amsl.com (Postfix) with ESMTPS id B890D128CB7
 for <quic-issues@ietf.org>; Wed,  7 Nov 2018 00:54:57 -0800 (PST)
Date: Wed, 07 Nov 2018 00:54:56 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com;
 s=pf2014; t=1541580896;
 bh=PfAcIP/BFSdO09uHaKqe0Khsrg2i9Rfs/xLJUlX0h18=;
 h=Date:From:Reply-To:To:Cc:Subject:List-ID:List-Archive:List-Post:
 List-Unsubscribe:From;
 b=VICNZvU0vR1StZGnzUKQrDk2eqNsMvXS9AeVM8U85VVEyR/plDBAlvwqXFIqxjFmm
 e+MNnMkvTA8+vPYtEGADmRygu572hwXjJyyVr6w+hifPd0gYrjYIgXCVqt/3hNka86
 9nkXsU/qIx2Zxc4vS4eTqm+/BLcXunQEs+ugO7w8=
From: Bob Briscoe <notifications@github.com>
Reply-To: quicwg/base-drafts
 <reply+0166e4ab42031c084d8c51578b7f6fa6974758251d872de792cf0000000117fa6a6092a169ce168acaf3@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/1978@github.com>
Subject: [quicwg/base-drafts] Sender-Controlled Delayed ACK Ratio (#1978)
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_5be2a860ea4f9_34133fcd3a4d45bc110303b";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: bbriscoe
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/YGPEWnGAegjAIrEiUZnM25ZvRtE>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG
 <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>,
 <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>,
 <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Nov 2018 08:55:06 -0000


----==_mimepart_5be2a860ea4f9_34133fcd3a4d45bc110303b
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

Yesterday Jana said the WG is open to the possibility of a sender-controlled ack_ratio. 

A simpler approach: a 3-bit field in each direction, in every packet, carrying ack_exp where 
> > ack_ratio` = 2^ack_exp.`
Exactly how many bits to use is up for discussion, but I believe ack_ratio=16 and growing is already common in DCs, so 2 bits isn't quite enough.

Receiving ack_exp would be defined to mean: "From now, please try to ACK at least every 2^ack_exp packets". No negotiation. No need to detect loss of messages. Just repetition of a hint.

Of course a variable can be constant, e.g. for implementers of a sender who want to leave adaptation code for later, just set ack_exp=1 in every packet.

I think this would address all the scenarios in #1428 (related but closed).


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1978
----==_mimepart_5be2a860ea4f9_34133fcd3a4d45bc110303b
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

<p>Yesterday Jana said the WG is open to the possibility of a sender-controlled ack_ratio.</p>
<p>A simpler approach: a 3-bit field in each direction, in every packet, carrying ack_exp where</p>
<blockquote>
<blockquote>
<p>ack_ratio<code> = 2^ack_exp.</code><br>
Exactly how many bits to use is up for discussion, but I believe ack_ratio=16 and growing is already common in DCs, so 2 bits isn't quite enough.</p>
</blockquote>
</blockquote>
<p>Receiving ack_exp would be defined to mean: "From now, please try to ACK at least every 2^ack_exp packets". No negotiation. No need to detect loss of messages. Just repetition of a hint.</p>
<p>Of course a variable can be constant, e.g. for implementers of a sender who want to leave adaptation code for later, just set ack_exp=1 in every packet.</p>
<p>I think this would address all the scenarios in <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="330174604" data-permission-text="Issue title is private" data-url="https://github.com/quicwg/base-drafts/issues/1428" data-hovercard-type="issue" data-hovercard-url="/quicwg/base-drafts/issues/1428/hovercard" href="https://github.com/quicwg/base-drafts/issues/1428">#1428</a> (related but closed).</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">&mdash;<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/quicwg/base-drafts/issues/1978">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AWbkq-SCRD-V9uEi52JTPW3HBhKKK8SKks5usp_ggaJpZM4YSA-X">mute the thread</a>.<img src="https://github.com/notifications/beacon/AWbkq7dLvl0NSjD-6rOmXDXs4Q7ztK08ks5usp_ggaJpZM4YSA-X.gif" height="1" width="1" alt="" /></p>
<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/quicwg/base-drafts","title":"quicwg/base-drafts","subtitle":"GitHub repository","main_image_url":"https://assets-cdn.github.com/images/email/message_cards/header.png","avatar_image_url":"https://assets-cdn.github.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/quicwg/base-drafts"}},"updates":{"snippets":[{"icon":"DESCRIPTION","message":"Sender-Controlled Delayed ACK Ratio (#1978)"}],"action":{"name":"View Issue","url":"https://github.com/quicwg/base-drafts/issues/1978"}}}</script>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/quicwg/base-drafts/issues/1978",
"url": "https://github.com/quicwg/base-drafts/issues/1978",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
},
{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"hideOriginalBody": "false",
"originator": "AF6C5A86-E920-430C-9C59-A73278B5EFEB",
"title": "Sender-Controlled Delayed ACK Ratio (#1978)",
"sections": [
{
"text": "",
"activityTitle": "**Bob Briscoe**",
"activityImage": "https://assets-cdn.github.com/images/email/message_cards/avatar.png",
"activitySubtitle": "@bbriscoe",
"facts": [
{
"name": "Repository: ",
"value": "quicwg/base-drafts"
},
{
"name": "Issue #: ",
"value": 1978
}
]
}
],
"potentialAction": [
{
"name": "Add a comment",
"@type": "ActionCard",
"inputs": [
{
"isMultiLine": true,
"@type": "TextInput",
"id": "IssueComment",
"isRequired": false
}
],
"actions": [
{
"name": "Comment",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"IssueComment\",\n\"repositoryFullName\": \"quicwg/base-drafts\",\n\"issueId\": 1978,\n\"IssueComment\": \"{{IssueComment.value}}\"\n}"
}
]
},
{
"name": "Close issue",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"IssueClose\",\n\"repositoryFullName\": \"quicwg/base-drafts\",\n\"issueId\": 1978\n}"
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/quicwg/base-drafts/issues/1978"
}
],
"@type": "OpenUri",
"name": "View on GitHub"
},
{
"name": "Unsubscribe",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"MuteNotification\",\n\"threadId\": 407375767\n}"
}
],
"themeColor": "26292E"
}
]</script>
----==_mimepart_5be2a860ea4f9_34133fcd3a4d45bc110303b--

