Opened 7 years ago

Last modified 3 years ago

#719 open defect

Add priority to FIFOBandwidthLimiter outbound queue

Reported by: zzz Owned by: zzz
Priority: minor Milestone:
Component: router/transport Version: 0.9.1
Keywords: Cc:
Parent Tickets:

Description

We now have per-connection priority queues in NTCP and SSU (SSU as of 0.9.2-1) but when outbound bandwidth is constrained, we don't consider priority when allocating bandwidth.

Priority won't be fully effective unless we can allocate based on priority across different connections. For example, a tunnel with participating traffic is likely to be on a different connection from one of our own tunnels.

Possible implementation: Have FBL.Request implement PQEntry and change _pendingOutboundRequests to a PriBlockingQueue? (no CoDel? here).

Subtickets (add)

Change History (8)

comment:1 Changed 7 years ago by zzz

  • Milestone changed from 0.9.4 to 0.9.6

The groundwork for this is in 0.9.3-1. However the I2NP message priority is lost long before the request is made of FBL, especially in SSU.

In addition, switching some of the queues from bounded to unbounded priority could be a problem.

comment:2 Changed 7 years ago by zzz

Bug fixed in 0.9.3-7. Continuing to test.

comment:3 follow-up: Changed 7 years ago by zzz

Tested and defaults set for various tunnels in 0.9.3-8.

Still of limited use as the BW limiter doesn't have access to the priorities.

comment:4 in reply to: ↑ 3 Changed 5 years ago by dg

Replying to zzz:

Tested and defaults set for various tunnels in 0.9.3-8.

Still of limited use as the BW limiter doesn't have access to the priorities.

Priorities are pretty important to me. I notice more disconnects and instability when I'm participating more which means I have to dial down the number of tunnels. A box with fewer or no shared tunnels sometimes works better as it only focuses on its own processes.

The routers in question are not overloaded.

comment:5 Changed 5 years ago by zzz

related: #1261

comment:6 Changed 4 years ago by str4d

  • Milestone 0.9.6 deleted

comment:7 Changed 4 years ago by zzz

I started this but it quickly became messy. To be re-evaluated.

comment:8 Changed 3 years ago by str4d

  • Status changed from new to open
Note: See TracTickets for help on using tickets.