Project

General

Profile

Actions

Task #5310

closed

Bring ASF ranking implementation into line with technical report

Added by Alexander Lane 11 months ago. Updated 11 months ago.

Status:
Closed
Priority:
Normal
Category:
Forwarding
Target version:
Start date:
01/19/2024
Due date:
% Done:

100%

Estimated time:
Tags:

Description

During the course of a separate investigation, we identified a handful of issues with the current ASF face ranking implementation that leads to behavior that deviates from the seemingly expected or intended behavior as described in the technical report.

These include incorrect usage of std::set that leads to faces with identical stats as another preventing the other face from being inserted as well as the incorrect ranking of faces compared to the original design document.

We also aim to resolve issues that lead to unclear or undefined behavior in ranking by introducing the usage of FaceId as a tiebreaker of last resort.

Actions #1

Updated by Davide Pesavento 11 months ago

Can you add a link to the TR for completeness?

Actions #3

Updated by Davide Pesavento 11 months ago

  • Status changed from In Progress to Code review
  • Target version set to 24.07
Actions #4

Updated by Davide Pesavento 11 months ago

How is this related to #4886?

Actions #5

Updated by Alexander Lane 11 months ago

@Davide I had meant to get in touch with him about it. The lack of a description makes it hard to interpret, I was unclear if it potentially meant the uniqueness enforcement issue I noted or if this was a modification to the probing probability (currently, each face in the order has a decreasing probability based on rank, even if the two of in the same group them have equal SRTT and cost).

Actions #6

Updated by Davide Pesavento 11 months ago

Alexander Lane wrote in #note-5:

I was unclear if it potentially meant the uniqueness enforcement issue I noted or if this was a modification to the probing probability

Sounds like the latter to me. But in that case, is a tiebreaker still needed for the probing rank?

Actions #7

Updated by Alexander Lane 11 months ago

Davide Pesavento wrote in #note-6:

Sounds like the latter to me. But in that case, is a tiebreaker still needed for the probing rank?

It is at least needed in the forwarding case. In the probing case, this still matters for unmeasured faces in terms of reproducibility at least even if we do redesign the probability algorithm significantly.

Actions #8

Updated by Davide Pesavento 11 months ago

  • Status changed from Code review to Closed
  • % Done changed from 0 to 100
Actions

Also available in: Atom PDF