[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lsd0003] branch master updated: Fixed some bug in the implementation
From: |
gnunet |
Subject: |
[lsd0003] branch master updated: Fixed some bug in the implementation |
Date: |
Mon, 14 Jun 2021 10:21:01 +0200 |
This is an automated email from the git hooks/post-receive script.
elias-summermatter pushed a commit to branch master
in repository lsd0003.
The following commit(s) were added to refs/heads/master by this push:
new 887c2c2 Fixed some bug in the implementation
887c2c2 is described below
commit 887c2c28be70606826175f403e52366ccd80e1af
Author: Elias Summermatter <elias.summermatter@seccom.ch>
AuthorDate: Mon Jun 14 10:18:12 2021 +0200
Fixed some bug in the implementation
---
draft-summermatter-set-union.xml | 38 +++++++++++++++++---------------------
1 file changed, 17 insertions(+), 21 deletions(-)
diff --git a/draft-summermatter-set-union.xml b/draft-summermatter-set-union.xml
index 85b47a4..b883d53 100644
--- a/draft-summermatter-set-union.xml
+++ b/draft-summermatter-set-union.xml
@@ -1003,7 +1003,8 @@ hashSum | 0x0101 | 0x5151 | 0x5050 |
0x0000 |
that are missing from the active peer's set.
In this case the passive peer answers with <em><xref
target="messages_offer" format="title" /></em> messages
which contain the SHA-512 hash of the requested element.
If the passive peer does not have an element with
- a matching element ID, it MUST ignore the inquiry (in
this case, a bucket was falsely classified as pure, decoding the IBF will
eventually fail, and roles will be swapped). <!-- FIXME: should we not remember
that this happened and FAIL if the other peer sends DONE instead of an IBF?
@Christian this is not implemented should I add it to the RFC anyways? -->
+ a matching element ID, it MUST ignore the inquiry (in
this case, a bucket was falsely classified as pure, decoding the IBF will
eventually fail, and roles will be swapped).
+ T <!-- FIXME: should we not remember that this happened
and FAIL if the other peer sends DONE instead of an IBF? @Christian this is not
implemented should I add it to the RFC anyways? -->
If multiple elements match the 64 bit element ID, the
passive
peer MUST send offers for all of the matching elements.
</dd>
@@ -1287,7 +1288,7 @@ hashSum | 0x0101 | 0x5151 | 0x5050 |
0x0000 |
<dt>IBF SIZE</dt>
<dd>
- is a 32-bit unsigned integer which signals the
total number of buckets in the IBF. The minimal number of buckets is 79.
+ is a 32-bit unsigned integer which signals the
total number of buckets in the IBF. The minimal number of buckets is 37.
</dd>
<dt>OFFSET</dt>
<dd>
@@ -1303,7 +1304,6 @@ hashSum | 0x0101 | 0x5151 | 0x5050 |
0x0000 |
is a 16-bit unsigned integer, which describes the
number of bits that
are required to store a single counter. This is
used for the unpacking function as described
in the <xref
target="performance_counter_variable_size" format="title" /> section.
- <!-- @Christian changed this t o 16-bit to make it
align better ist that oke or should i leave it 8-bit? -->
</dd>
<dt>IBF-SLICE</dt>
<dd>
@@ -1914,7 +1914,7 @@ hashSum | 0x0101 | 0x5151 | 0x5050 |
0x0000 |
described in <xref target="RFC1951"/> to improve
performance. This can be recognized
by the different message type number from <xref
target="gana" format="title" />.
</t>
- <section anchor="messages_se_structure" numbered="true"
toc="default">
+ <section anchor="messages_sec_structure" numbered="true"
toc="default">
<name>Structure</name>
<t>
The key difference between the compressed and the
uncompressed Strata Estimator is that the
@@ -2022,14 +2022,10 @@ hashSum | 0x0101 | 0x5151 | 0x5050 |
0x0000 |
</t>
<t>
The constant IBF_BUCKET_NUMBER_FACTOR is always 2 and
IBF_MIN_SIZE is 37.
- <!-- Above we wrote 79. What gives? @Christian79 is the
static size for the SEs and 37 is the minimal size for an IBF//. Also, didn't
your thesis somewhere conclude
- that the IBF FACTOR should be 2? @Christian Your
right :-)) You also write 2 in the function below!
- Please cite exact parts of the thesis, not the
entire document! -->
The method for deriving
this can be found in the IBF parameter study in
Summermatter's work in section 4.5.2. <xref
target="byzantine_fault_tolerant_set_reconciliation" format="default"/>
</t>
<figure anchor="performance_formulas_operationmode_code">
- <!-- Why use RTT_MIN_FULL=2, if the average is 2.25?
@Christian this are just the minimum (RTT_MIN_FULL) round tips not an avg. -->
<artwork name="" type="" align="left" alt=""><![CDATA[
# CONSTANTS:
# IBF_BUCKET_NUMBER_FACTOR = 2: The amount the IBF gets increased if decoding
fails
@@ -2063,22 +2059,24 @@ FUNCTION decide_operation_mode(avg_es,
# Estimate required transferred bytes when doing a full synchronisation
# and transmitting local set first.
- estimated_total_diff = est_set_diff_remote + lsd
+ estimated_total_diff = rsd + lsd
total_elements_local_send = rsd + lss
- total_bytes_local_send = (avg_es * total_elements_local_send)
- + (total_elements_local_send *
sizeof(ELEMENT_MSG_HEADER))
- + (sizeof(FULL_DONE_MSG_HEADER) * 2)
+ total_bytes_local_send = avg_es * total_elements_local_send
+ + total_elements_local_send *
sizeof(ELEMENT_MSG_HEADER)
+ + sizeof(FULL_DONE_MSG_HEADER) * 2
+ RTT_MIN_FULL * rtt
# Estimate required transferred bytes when doing a full synchronisation
# and transmitting remote set first.
total_elements_remote_send = lsd + rss
- total_bytes_remote_send = (avg_es * total_elements_remote_send)
- + ( total_elements_remote_send *
sizeof(ELEMENT_MSG_HEADER))
- + (sizeof(FULL_DONE_MSG_HEADER) * 2)
+ total_bytes_remote_send = avg_es * total_elements_remote_send
+ + total_elements_remote_send *
sizeof(ELEMENT_MSG_HEADER)
+ + sizeof(FULL_DONE_MSG_HEADER) * 2
+ (RTT_MIN_FULL + 0.5) * rtt
+ sizeof(REQUEST_FULL_MSG)
+ total_cost_local_send =
+
# Estimate required transferred bytes when doing a differential
synchronisation
# Estimate messages required to transfer IBF
@@ -2086,13 +2084,11 @@ FUNCTION decide_operation_mode(avg_es,
IF (ibf_bucket_count <= IBF_MIN_SIZE)
ibf_bucket_count = IBF_MIN_SIZE
END IF
- ibf_message_count = ceil ( ibf_bucket_count / MAX_BUCKETS_PER_MESSAGE)
+ ibf_message_count = ceil (ibf_bucket_count / MAX_BUCKETS_PER_MESSAGE)
# Estimate average counter length with variable counter
- estimated_counter_size = MIN (
- 2 * LOG2(lss / ibf_bucket_count),
- LOG2(lss)
- )
+ estimated_counter_size = MIN (2 * LOG2(lss / ibf_bucket_count),
+ LOG2(lss))
counter_bytes = estimated_counter_size / 8
# Sum up all messages required to do differential synchronisation
@@ -2118,7 +2114,7 @@ FUNCTION decide_operation_mode(avg_es,
# Decide for a optimal mode of operation
full_min = MIN (total_bytes_local_send,
- total_bytes_local_send)
+ total_bytes_remote_send)
IF (full_min < total_bytes_diff)
IF (total_bytes_remote_send > total_bytes_local_send)
RETURN FULL_SYNC_LOCAL_SENDING_FIRST
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lsd0003] branch master updated: Fixed some bug in the implementation,
gnunet <=