Feature #2282
uplink multi-slot allocations
20%
Description
we currently have multi-slot allocations only in downlink, which works for "web browsing" and related applications. Howver, particularly in M2M, quite often the applications are upload-centric, and thus single-slot allocations in uplink are insufficient. Let's extend the code base with support for uplink multi-slot allocations
Related issues
History
#1 Updated by laforge over 3 years ago
- Assignee changed from sysmocom to msuraev
- Priority changed from Low to High
#2 Updated by laforge over 3 years ago
- Tracker changed from Bug to Feature
#3 Updated by msuraev over 3 years ago
- Related to Bug #1775: LC15: No PDCH allocation across two TRX added
#4 Updated by msuraev over 3 years ago
- Status changed from New to In Progress
- % Done changed from 0 to 10
Prerequisite patch with code clenup/restructure/documentation has been sent for review in gerrit 3760, 3807.
#5 Updated by msuraev over 3 years ago
- % Done changed from 10 to 20
Currently under review in gerrit: 3929, 3930, 3931, 3932, 3760, 3895, 3905, 3906, 3913, 3914, 3920.
The code requires serious refactoring and is unsufficiently covered by tests hence the size of patch series.
#6 Updated by msuraev over 3 years ago
- Status changed from In Progress to Stalled
Needs to incorporate review feedback and re-submit.
#7 Updated by msuraev about 3 years ago
Related patch series 4634-4636, 4072 is under review. Once it's merged, the previous patch set will be re-based on top of it and resubmitted.
#8 Updated by msuraev about 3 years ago
Gerrit 4634 and 4635 were merged. Gerrit 4636 is waiting for review. Gerrit 4955, 4957, 4958, 4960 were sent for review based on current feedback; 4072 is rebased on top of 4958.
#9 Updated by msuraev almost 3 years ago
- Status changed from Stalled to In Progress
Patch series partially merged, the rest is rebased on top of it, more tests added.
#10 Updated by msuraev almost 3 years ago
- Status changed from In Progress to Stalled
Remaining patches under review gerrit 3895, 4086, 3929, 3932 are cosmetic only and can be dropped.
#11 Updated by laforge almost 3 years ago
- Assignee changed from msuraev to sysmocom
#12 Updated by laforge over 2 years ago
#13 Updated by laforge about 2 years ago
#14 Updated by laforge over 1 year ago
- Assignee changed from sysmocom to lynxis
#15 Updated by lynxis over 1 year ago
- Status changed from Stalled to In Progress
#16 Updated by laforge about 1 year ago
- Assignee changed from lynxis to sysmocom
#20 Updated by pespin 4 months ago
For reference, we still don't support UL multi-slot allocation yet, we do only for DL.
Related bits to be found in alloc_algorithm_b(), there in UL TBF code branch a call to allocate_usf() forces the initially selected TS set down into a single TS.
I guess support for it requires improving that part.
#21 Updated by pespin 4 months ago
Related:
commit 5f494b8415ff4e5c9bf323ea7bc8326ad423c7ae Author: Jacob Erlbeck <jerlbeck@sysmocom.de> Date: Wed Jul 1 13:10:41 2015 +0200 alloc: Only reserve 1 UL slot with algorithm B Since currently the algorithm B will only allocate a single UL slot and will have to stick to it (first common TS), the other possible UL slots will not be allocated while the reservation is kept. This commit adds code to update the reserved set of UL slots to only reserve the single common TS when the UL TBF is allocated. Interestingly this leads to fewer allocated TBF in some cases due to USF exhaustion. This will be improved by the following commit "alloc: Skip common TS without free USF". Sponsored-by: On-Waves ehf
Also half related, a fix introduced in UL TBF recently:
https://gerrit.osmocom.org/c/osmo-pcu/+/20254 Fix crash accessing NULL tbf->pdch[first_ts]
#22 Updated by pespin 3 months ago
For reference, DL multislot TBF allocation (not UL TBF, which this task talks about) is tested and working (with some constraints in some scenarios where 4 PDCHS are allocated instead of 8) here:
remote: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/20947 pcu: Introduce test TC_dl_multislot_tbf_ms_class_from_sgsn
remote: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/20967 pcu: Introduce test TC_dl_multislot_tbf_ms_class_from_2phase
#23 Updated by pespin 3 months ago
Test triggering and validating multi-slot UL TBF allocation:
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/20983 pcu: Introduce test TC_ul_multislot_tbf_ms_class_from_2phase
MS class 18 should trigger allocation of 8 PDCHs but only 1 is allocated. It simply demonstrate what we already know: UL multislot TBF is not working (it is explicitly disabled so far in the code).
#24 Updated by pespin 2 months ago
From "EGPRS – Design Details & System Engineering" slide number 30:
Note: Physically, it is not possible to allocate more than two timeslots to a mobile station in uplink direction when using dynamic allocation. This is a serious
performance limitation for GPRS and EGPRS, in particular for symmetric applications (e.g. e-mail transfer).