Osmocom Packet control Unit (PCU): Network-side GPRS (RLC/MAC); BTS- or BSC-colocated
Go to file
aravind sirsikar 9ddc3c7845 PDCH allocation across two TRX
Implementation:
PCU keeps track of number PDCH across all the TRXs at BTS context and also keeps number
of active PDCHs in each TRX context. This ratio gives the CAPACITY of each TRX.

1st Phase:
	While selection of TRX, functions get_possible_trxs(for multiple TS)
	and get_possible_trxs_sba(Single block allocation, Ex: during RACH)
	gets possible TRXs based on TFIs availability.
2nd Phase: outcome of TRXs(from get_possible_trxs, get_possible_trxs_sba) will
	be fed to get_suitable_trx function. Which does actual load balancing on each TRX.
	And selects the best fit TRX, based on below equation
	PROBABILITY = MAX_PROBABILITY – ((LOAD * 100)/CAPACITY);

	If same PROBABILITY
		Select the one with higher capacity
	Else
		Find the TRX with higher PROBABILITY

	MAX_PROBABILITY  = 65535;
	LOAD: Initialized to 0, Later gets incremented with number of TS allocated.
	and decremented whle TBF deletion, based on number of TS allocated

Below are the test executed on Unit test environment
1)	2 TRXs, with same Capacity
2)	2 TRX with ½ capacity
3)	2 TRXs with ¼ capacity
4)	2 TRX with UL and DL allocation to ensure Tbfs on both direction is hosted on same TRX
5)	2 TRX with same Capacity and  DL TBF creation and deletion scenarios to ensure proper
	load balancing criteria for actual Load.

Below are the Test executed on Integration setup with Ettus B200 setup with 2
	TRXs with same CAPACITY.
1)	TRX allocation during RACH procedure(SBA allocation)
2)	TRX allocation during DL TBF creation with multi time slots(4 time slots)
3)	TRX allocation while Ping Test
4)	TRX allocation while UDP test
5)	TRX allocation for web browsing.
6)	2 MS test with each TRX sharing 1 MS. Received aggregate throughput of
	446 kbps(223 Kbps each)

Limitation:
1)	 BSSGP flow control needs to be tuned since test with 2 MS with each MS on different TRX
	runs for 20 mins
2)	USF resource availibility is not checked while selecting the TRX as existing implementation

Change-Id: Ifb61a7862d55af828383b6dfe728628e546ed12b
Related: OS# 1775
2016-12-30 12:24:38 +05:30
contrib Update README with working commit versions for openbsc. 2016-12-29 20:23:15 +05:30
debian debian: fix: add pcuif_proto.h to osmo-pcu.install 2016-11-30 00:37:32 +01:00
examples Revert "pcu: Improve default config" 2015-11-30 12:11:48 +01:00
include Install the pcuif_proto.h header file 2016-11-17 21:09:55 +01:00
src PDCH allocation across two TRX 2016-12-30 12:24:38 +05:30
tests PDCH allocation across two TRX 2016-12-30 12:24:38 +05:30
.gitignore Cleanup build leftovers 2016-04-22 14:41:16 +02:00
.gitreview add .gitreview 2016-05-19 06:39:45 +00:00
COPYING import GPLv2 license text to this project 2012-07-22 22:05:44 +02:00
Makefile.am Install the pcuif_proto.h header file 2016-11-17 21:09:55 +01:00
README Update README with working commit versions for openbsc. 2016-12-29 20:23:15 +05:30
TODO TODO: Update the todolist with some musings... 2014-01-16 10:11:57 +01:00
configure.ac Install the pcuif_proto.h header file 2016-11-17 21:09:55 +01:00
git-version-gen Add auto-foo (partial cleanup, master makefile/configure.ac 2012-06-14 21:05:44 +08:00
osmoappdesc.py Added conditional python-based tests for VTY/config handling 2013-04-06 11:00:20 +02:00

README

 his is an implementation of Packet Control Unit (PCU) according to TS 04.60

The PCU is part of BSS, so it connects directly to SGSN.

For this PCU the dependent libosmocore patch is in contrib which has to be
applied on top of libosmocore 2ae5f186929a720b5604e2bd19ef54606b37fb87.

This PCU enables
 * Support for EPDAN
 * Support for PUAN with CRBB

Feature support for Deactivate PDP context Request from SGSN VTY.
which has two patches are present in contrib has to be
applied on top of openbsc 80abe522e2ddc979d994530f21b103808fc465d7.

== Current limitations ==

 * No PFC support
 * No fixed allocation support
 * No extended dynamic allocation support
 * No unacknowledged mode operation
 * Only single slot assignment on uplink direction
 * No half-duplex class support (only semi-duplex)
 * No handover support
 * No measurement support
 * No TA loop
 * No power loop
 * No CS loop
 * No EGPRS