Hexran: A Programmable Multi-Rat Platform For Network Slicing in The Open Ran Ecosystem
Hexran: A Programmable Multi-Rat Platform For Network Slicing in The Open Ran Ecosystem
Hexran: A Programmable Multi-Rat Platform For Network Slicing in The Open Ran Ecosystem
and assurance frameworks that are geared specifically to- relating to disaggregated multi-RAT operations, RAN proto-
wards programmable RANs. col programmability, interactions between the RAN and the
In the O-RAN architecture (see Appendix A for details), RIC, and network slicing as detailed next.
the Near-RT RIC interfaces with the RAN over the E2 in- Disaggregated Multi-RAT RAN Platform. HexRAN incor-
terface, with the network elements within the RAN being porates a fully disaggregated O-RAN-compliant RAN with
referred to as E2 nodes. Communication over the E2 inter- support for LTE, 5G NSA, and 5G SA. Key components in-
face is governed by the extensible E2 Application Protocol clude an eNB and a gNB, along with their respective dis-
(E2AP), which includes a set of procedures to configure the aggregated components. HexRAN also supports chaining
functioning of the target E2 node, in addition to aiding data multiple DUs and CU-UPs to a common CU-CP in the inter-
collection. The specific configuration and statistics collection est of enhanced scalability (Section 2.1).
features depend on the functionality exposed by the E2 node Streamlined Network Control through a Programmable
to the xApps through what is known as a RAN function, Protocol-level API Repository. Recognizing the rigid na-
which in turn is defined by an E2 Service Model (E2SM). The ture of the 3GPP protocol stack, HexRAN introduces a set of
key takeaway being that many of the purported advantages reusable programmable APIs that interact with this proto-
of softwarized programmable networks can now be applied col stack to assist with system configuration and statistics
to the RAN. collection operations. HexRAN also introduces a novel RAN
Challenges. However, in spite of these efforts, outside slicing framework as a flagship showcase implementation of
of a handful of greenfield deployments, O-RAN has yet to the Programmable Protocol-level API (Sections 2.2 and 2.3).
achieve significant mainstream status [17], on account of the Robust Extensibility through a Modular E2 Agent. The
following challenges. E2 Agent serves as the nerve center for communicating and
Absence of an O-RAN Platform for Use Case Proto- coordinating with the Near-RT RIC. Despite its critical role,
typing. While there have been efforts to develop O-RAN it is a proverbial black box with no reference specification.
compliant platforms in the recent past, these endeavors are HexRAN introduces a highly extensible E2 Agent charac-
largely limited to monolithic or LTE-only RAN architectures, terized by a modular high-performance architecture and
devoid of a focus on disaggregation, thus precluding the real- plugin-based approach to service integration (Section 2.4).
ization of key O-RAN use cases such as network slicing [12]. Multi-RAT RAN Slicing with the RSH RAN Function.
Rigid Nature of the Cellular Protocol Stack. The cellular To address drawbacks relating to the RAT-specific nature of
protocol stack presents a well-defined control plane in the RAN slicing, HexRAN introduces a novel RAN function– the
form of the Radio Resource Control (RRC) protocol, governed Radio Slicing Helper (RSH) along with an accompanying ser-
by the 3GPP. On the other hand, O-RAN espouses the use vice model, E2SM-RSH, for slice configuration and statistics.
of external controllers for driving RAN operations, thereby RSH has been designed to support RAN slicing across LTE,
presenting a rigid dichotomy between O-RAN’s goals and a 5G NSA, and 5G SA. (Section 2.5).
RAN protocol stack that is not built for external control. Comprehensive Performance Benchmarking using an
Perceived Complexity of the O-RAN Specification. O- Experimental Testbed. In the interest of demonstrating its
RAN introduces several new interfaces, each characterized efficacy and practical applicability, HexRAN is deployed on
by a unique set of specifications, messages, and actions, ul- a large-scale experimental testbed for an extensive system
timately leading to the perception that O-RAN adds unnec- evaluation. Key aspects of this evaluation include scalability
essary complexity to an already complex RAN. Therefore and disaggregation, the impact of the RAN slicing frame-
there is a need for solutions that simplify the integration of work, and performance comparisons of HexRAN’s E2 Agent
new features and enhancements to the O-RAN framework. with the state-of-the-art (Section 3).
Access-specific Nature of Network Slicing. While net-
work slicing is an exclusive feature of the 5G SA specifica- 2 HEXRAN ARCHITECTURE DESIGN
tion, only 5% of the world’s cellular networks are 5G SA AND IMPLEMENTATION
capable [19], with 4G LTE and 5G NSA accounting for a
major chunk of network deployments and coverage, thus ne- Fig. 2 presents a complete overview of HexRAN, including
cessitating the need for a network slicing framework across the multi-RAT disaggregated RAN platform and the Near-
RT RIC. Herein we focus exclusively on the RAN, with the
LTE, 5G NSA, and 5G SA.
Near-RT RIC lying outside the scope of this paper.
Contributions. To that end, with a view to addressing the
aforementioned limitations, through this work, we introduce
HexRAN, a first of its kind purpose-built O-RAN compliant 2.1 Multi-RAT RAN Platform
RAN platform with several novel features and contributions Since O-RAN builds upon the 3GPP RAN specification, be-
fore attempting to design an O-RAN-compliant RAN, we
HexRAN: A Programmable Multi-RAT Platform for Network Slicing in the Open RAN Ecosystem
D +H[5$1V\VWHPDUFKLWHFWXUH F /RFNIUHH$3,H[HFXWLRQIUDPHZRUN
first need a 3GPP-compliant RAN platform that serves as the Leveraging the aforementioned features, HexRAN intro-
foundation for HexRAN. To that end, we leverage OpenAir- duces the concept of logical traffic-centric cells for load bal-
Interface (OAI) [24] as the base RAN stack for HexRAN. ancing. Since HexRAN espouses a loose coupling between
Challenges. While OAI provides base station software for CU-UPs and DUs, a given cell is anchored by a DU, a CU-CP,
LTE, 5G NSA, and 5G SA, it only offers limited support for and a set of CU-UPs. This set of CU-UPs can also be shared
disaggregation. More specifically, OAI includes a monolithic with other cells in the network, with traffic across CU-UPs
CU but lacks full disaggregation in terms of the CU-CP and being distributed on a per-user, per-bearer, or per-slice basis.
CU-UP components. Furthermore, a CU can be associated An approach of this kind allows communications service
with a single DU only, limiting the system’s scalability. These providers (CSPs) the flexibility to optimize the flow of traffic
limitations preclude OAI from serving as a “drop-in” RAN in their network. For e.g., if a given cell includes only a CU-
solution for HexRAN, requiring the following enhancements. UP 1 initially, then, on account of an increase in traffic, an
The HexRAN Approach. First, as part of HexRAN, we external network controller (RIC or otherwise) can offload
split the monolithic CU into its respective control (CU-CP) some of that traffic to another CU-UP 2, with the cell now
and user (CU-UP) plane components as shown in Fig. 2a. including both CU-UPs 1 and 2 on-the-fly.
Then, in order to enable the CU-CP to communicate with
the CU-UP, we implement the E1 interface between the two
components using the E1 Application Protocol (E1AP) over 2.2 Programmable Protocol-level API
SCTP. In the interest of improved scalability and resiliency, a
single CU-CP within HexRAN can be associated with multi-
Repository
ple distributed CU-UPs. Furthermore, we redesign the GPRS Overview and Challenges. As mentioned in Section 1,
Tunneling Protocol (GTP) stack within OAI to provide for since the RAN is designed to operate as a self-contained
single socket, multi-interface (i.e., F1, NG/S1, and Xn/X2) entity, the 3GPP protocol stack is not amenable to external
operations while simultaneously incorporating dedicated control and performance monitoring. On the other hand, the
per-interface GTP processing. Consequently, in a feature RAN functions and xApps within O-RAN need to interact ex-
unique to HexRAN, not only are multiple DUs able to inter- tensively with the stack to extract statistics, execute policies,
face with a single CU-CP, but also each DU can be associated and enforce configuration parameters. Thus, this inherent
with multiple CU-UPs. Additionally, each DU can have a rigidity within the RAN serves as a major impediment to
unique cell configuration in terms of supported frequency O-RAN’s goal of programmable network control.
bands and carrier bandwidths, greatly enhancing deploy- API Design. To address this issue, HexRAN, introduces
ment flexibility. the concept of a Programmable Protocol-level API Reposi-
tory, as shown in Fig. 2b, which consists of a set of reusable
programmable APIs that can interact with the MAC (Medium
Ahan Kak, Van-Quan Pham, Huu-Trung Thieu, and Nakjung Choi
5$16OLFH,QLWLDOL]DWLRQ
(OVH 6OLFHVSHFLILF6FKHGXOLQJIRU3ULRULWL]HG'HGLFDWHG6OLFHV
Idle
'HIDXOW$FWLYH6WDWH 6KDUHG )LUVW6OLFH
1XP8(V 6FKHGXOLQJ,WHUDWLRQ /LVWRI3ULRULWL]HGDQG 6FKHGXOH8VHUVLQ6OLFH
(OVH ,QGH[LQ/LVW $VVLJQ9LUWXDO5HVRXUFH
8(5HJLVWUDWLRQ 6WDUW 'HGLFDWHG6OLFHVZLWK %DVHGRQ6OLFHVSHFLILF
6WDWH7UDQVLWLRQ 'HIDXOW$FWLYH6WDWH 6KDUHG %ORFNVWR6OLFH
3HU77,,QLWLDOL]DWLRQ 5HVRXUFH$VVLJQPHQWV 6FKHGXOLQJ$OJRULWKP
5HTXHVW
8(
'HIDXOW 'HUHJLVWUDWLRQ ,QFUHPHQW6OLFH,QGH[E\
Dedicated Shared 6OLFH6WDWH
$FWLYH
1XP8(Vߤ 6WDWH 1XP8(V! 6KDUHG6OLFH6FKHGXOLQJ <HV
1XP8(V! 3ULRULWL]HG
/LVWRI6KDUHG6OLFHV 1R 0RYHG8QXVHG
3HQGLQJ3ULRULWL]HG
6WDWH7UDQVLWLRQ ZLWK2YHUDOO6KDUHG 5HVRXUFHVWR
6WDWH7UDQVLWLRQ 'HGLFDWHG6OLFHV
Prioritized 5HTXHVW 5HVRXUFH3RRO 6KDUHG3RRO
5HTXHVW
1XP8(V! 'HGLFDWHG
8('HUHJLVWUDWLRQ 6FKHGXOHDOO6KDUHG6OLFH
6FKHGXOLQJ
8VHUV%DVHGRQ6\VWHP
,WHUDWLRQ(QG
OHYHO6FKHGXOLQJ$OJRULWKP
1XP8(V!
D 5$1VOLFHVWDWHPDFKLQH E 'XDOVWDJHVOLFHFHQWULFVFKHGXOHU
Access Control) through RRC layers of the 3GPP stack to con- operations. As shown in the figure, upon receiving a config-
figure RAN operations and collect system statistics. These uration update request from a RAN function or any other
Protocol-level APIs can be considered as an adaptation layer entity, if the system detects a need for thread synchroniza-
that bridges the 3GPP and O-RAN domains by providing a tion that could potentially impact operations, it executes
functional abstraction of the RAN protocol stack. The API the update in a lock-free manner. From an implementation
repository within HexRAN incorporates the following key perspective, lock-free operations within HexRAN are pro-
design principles. vided by Concurrency Kit [13] and liblfds [22]. Through
RAT Agnosticism. All Protocol-level APIs within HexRAN the Protocol-level API Repository, HexRAN effectively elimi-
are designed to be as RAT-agnostic as possible, with a uni- nates the need for RAN functions to directly interact with the
form API definition across LTE, 5G NSA, and 5G SA. protocol stack. This approach offers several advantages, in-
Programmability and Reusability. While the primary cluding: (i) simplified design and seamless integration of new
motivation behind the API repository is to simplify O-RAN- RAN functions, (ii) native support for multi-vendor RAN-RIC
related operations, HexRAN lays a strong emphasis on API solutions, and (iii) conflict-free operations.
programmability and reusability, with several RAN functions
using the same set of APIs for different purposes. In addition 2.3 Multi-RAT RAN Slicing Framework
to RAN functions, HexRAN’s Protocol-level APIs can also Overview. As noted in Section 1, addressing the access-
be used by other control entities such as self-organizing net- specific nature of slicing, HexRAN incorporates support
work (SON) systems, and even other RAN protocols. for multi-RAT RAN slicing through the RSH RAN function.
Conflict Mitigation. HexRAN does not allow external en- However, before desiging this RAN function, we first need a
tities to interact with the RAN protocol stack directly by Protocol-level API that enables slicing across the entire RAN
design. Any and all interactions with the protocol stack must stack. The multi-RAT RAN slicing framework addresses this
go through Protocol-level APIs, which include a built-in con- requirement while also serving as a flagship implementation
flict mitigation mechanism. In the current implementation of of our Protocol-level API concept.
HexRAN, each Protocol-level API uses a FIFO scheduler that RAN Slice Model and State Machine. Within this slic-
queues API calls for execution in order of their respective ing framework, a RAN slice is uniquely identified by its slice
arrivals. ID and RAT type. Furthermore, in the interest of resource
Minimal Overhead. Since the Protocol-level APIs interact efficiency, a slice within HexRAN is also characterized in
with the entire RAN stack, it is critical that API calls do not terms of its state. Inspired by the 3GPP Network Resource
disrupt real-time RAN operations such as scheduling. How- Model [1], a RAN slice can exist in one of four states de-
ever, the multi-threaded nature of HexRAN necessitates the scribed below.
need for thread synchronization to execute configuration Idle. RAN slices that neither contain active users nor have a
changes. To that end, as shown in Fig. 2c, the Protocol-level specific resource assignment are categorized as idle.
APIs within HexRAN incorporate a lock-free synchroniza- Shared. RAN slices that contain active users but have no spe-
tion mechanism to ensure minimal disruption to real-time cific resource assignment are classified as shared. All shared
slices in the network utilize a common shared resource pool.
Prioritized. Prioritized slices are those that have priority
HexRAN: A Programmable Multi-RAT Platform for Network Slicing in the Open RAN Ecosystem
access to their assigned resources with all unused resources slice. After all prioritized and dedicated slices have been
reverting to the shared pool for a given scheduling interval. scheduled, the scheduler moves to the shared scheduling
Dedicated. Dedicated slices have exclusive access to the re- stage wherein users from all shared slices are scheduled
sources assigned to them. For such slices, unused resources in line with the system-level scheduling algorithm which
remain with that slice and do not revert to the shared pool. utilizes the VRBs available in the shared pool. The shared
As shown in Fig. 3a, state transitions are governed by the pool consists of resources that have not been assigned to
RAN slice state machine. In addition to its current state, each prioritized/dedicated slices as well as resources that are not
RAN slice also has a default active state, and upon user reg- used by prioritized slices.
istration and session establishment, a previously idle slice Configuration and Statistics Routines. The multi-RAT
transitions to its default active state. A given slice with active slicing framework also includes a set of configuration and
users remains in its default active state, unless a state transi- statistics routines. On account of reusability, these routines
tion is triggered through either an explicit state transition can be invoked by different entities within the network.
request, or on account of the slice no longer containing ac- Within the HexRAN implementation, such entities include
tive users. If a shared or prioritized slice no longer contains the SMO/Non-RT RIC, the Near-RT RIC, and RAN protocols.
active users, it automatically transitions to the idle state, While RAN protocols can invoke the slicing routines directly,
with the default active state being set to shared. However, the Near-RT RIC must use appropriate RAN functions for the
dedicated slices with no active users continue to remain in same. For example, the Add/Remove Slice routine allows for
the dedicated state with a dedicated resource assignment. addition and removal of RAN slices , while the Update Slice
The four slice states along with the RAN slice state machine State and Update CU-UP Association routines provide for
ensure that the system is able to adapt to a variety of differ- updating slice-related parameters. Additionally, for a given
ent use cases, while also guaranteeing efficient utilization of slice, the Update CU-UP Selection routine can be used to
resources. We will further quantify the performance impact indicate the CU-UP that will be used by the next data bearer
of the state machine in Section 3. that is established within that slice, while the Add/Remove
Accompanying the slice ID, RAT type, and state, the other Users routine is used to update slice-user associations.
parameters include the assigned set of radio resources and a Finally, the Update User Priority routine provides for
slice-specific scheduling algorithm for slices operating in the setting an explicit RAN priority metric for the specified user.
prioritized or dedicated modes, a system-level scheduling An explicit RAN-level user priority is beneficial in situations
algorithm for shared slices, a list of associated CU-UPs, and where there is a need to differentiate users within the same
a list of associated users. HexRAN allows the use of cus- slice having the same QoS identifier (5QI), for e.g., in scenar-
tom slice-specific scheduling algorithms for prioritized and ios where a Communications Service Provider (CSP) provides
dedicated slices, while defaulting to a common system-level a Mobile Virtual Network Operator (MVNO) with a single
scheduling algorithm for shared slices. Both the slice-specific slice for all their users. In such cases, having a RAN priority
as well as system-level algorithms are configurable through metric can help the MVNO to prioritize one user over the
the slicing framework, leading us to the next key component– other, allowing for fine-grained QoS enforcement. The imple-
the slice-centric scheduler. mentation of the RAN priority metric is scheduler-dependent,
Slice-centric Scheduler. HexRAN introduces a new slice- for e.g., with HexRAN’s default weighted proportional fair
centric scheduler across LTE, 5G NSA, and 5G SA, as shown scheduler, the RAN priority metric is used in calculating
in Fig. 3b. During each scheduling iteration, i.e., transmission per-user scheduling weights. We will further explore the
time interval (TTI), the scheduler operates in two stages– the performance impact of the RAN priority metric in Section 3.
slice-specific scheduling stage for prioritized and dedicated In a similar vein, the statistics routines provide the Near-
slices, followed by a shared slice scheduling stage for shared RT RIC and SMO with both slice and user statistics. Typical
slices. The slice-specific scheduling stage involves two steps. slice statistics include the RAT, state, active scheduling policy,
First, for each dedicated or prioritized slice, the scheduler current resource configuration, associated CU-UPs, and list
assigns virtual resource blocks (VRBs) to the slice based on of users, along with the aggregate slice throughput and over-
its resource assignment parameter. Then, the users within all slice latency. Similarly, user statistics include the RAT,
that slice are scheduled based on the slice-specific scheduling priority, throughput, latency, transport block size, buffer
algorithm, i.e., proportional fair, weighted round robin, etc., occupancy, channel quality indicator, and modulation and
by utilizing the VRBs assigned during the first step. Once coding scheme in use. The statistics routine supports both av-
all users within that slice have been scheduled, any unused erage as well as instantaneous values of the aforementioned
resources are either moved to the shared pool (if the slice metrics, where applicable.
is prioritized) or left as is (if the slice is dedicated). The
scheduler then moves on to the next prioritized or dedicated
Ahan Kak, Van-Quan Pham, Huu-Trung Thieu, and Nakjung Choi
(601
(60n
(60n
(60n
(601
(601
3OXJLQV
3OXJLQ
5$1)XQFWLRQV
3OXJLQ
3OXJLQ
3OXJLQ
3OXJLQ
3OXJLQ
6XEVFULSWLRQV (QFRGHG5$1 ,QLWLDO9DOLGDWLRQ
)XQFWLRQVSHFLILF3D\ORDG
5$1)XQFWLRQ 5$1)XQFWLRQ1 5$1)XQFWLRQ2 5$1)XQFWLRQ3 5$1)XQFWLRQn )XOO\'HFRGHG5,& 5$1)XQFWLRQ 3URWRFRO&RQILJXUDWLRQ 3URWRFROOHYHO
$3,V $3,V $3,V $3,V $3,V (603OXJLQ
&RQWURO0HVVDJH $3, 8SGDWH0HVVDJH $3,
3URWRFROOHYHO 3URWRFROOHYHO 3URWRFROOHYHO 3URWRFROOHYHO 3URWRFROOHYHO 3URWRFROOHYHO 3URWRFROOHYHO 'HFRGH)XQFWLRQ 7UDQVODWH&RQWURO0HVVDJHWR 3URWRFROOHYHO
$3,V $3,1 $3,2 $3,3 $3,4 $3,5 $3,n VSHFLILF3D\ORDG 3URWRFROOHYHO$3,0HVVDJH &RQILJXUDWLRQ&KDQJH
5$13URWRFRO
&HOOXODU3URWRFRO6WDFN 55&6'$33'&35/&0$&3+< $GGLWLRQDO9DOLGDWLRQ
6WDFN
D ($JHQWLPSOHPHQWDWLRQZLWKLQ+H[5$1 E 5,&FRQWUROPHVVDJHSURFHVVLQJZLWKLQ($JHQW
2.4 E2 Agent Architecture and Design the E2 Agent are divided into a set of Managers including
Overview and Requirements. The E2 Agent is the nerve the Configuration Manager, Interface Manager, Subscription
center for Near-RT RIC-related operations within the RAN. Manager, Indication Manager, and Control Manager. The
Key responsibilities of the E2 Agent include setup and mainte- Configuration Manager is responsible for parsing E2-related
nance of the E2 interface, parsing Subscription and Control aspects of the RAN configuration, for e.g., information about
requests from the RIC, and delivering Indication messages the RAN functions supported by that E2 node as well as
back to the RIC. In the absence of a reference E2 Agent archi- reachability information concerning the Near-RT RICs. Since
tecture to build upon, we take a clean-slate approach to its HexRAN requires that RAN functions interact with the RAN
design by first identifying the following key requirements. protocol stack through Protocol-level APIs only, there exists
Fully Modular Design. Since O-RAN is a fast evolving field, a dependency between RAN functions and Protocol-level
the E2 Agent should incorporate a modular design with re- APIs. To that end, the Configuration Manager also performs
placeable sub-components. dependency verification and considers only those RAN func-
Native Extensibility. A large part of the E2 Agent’s oper- tions for which the required Protocol-level APIs are present
ations are centered around RAN functions within O-RAN. in the RAN. The Configuration Manager then updates the
Therefore, the E2 Agent must be extensible by design to al- E2 Agent Repository with the parsed RAN function data and
low for seamless integration of new RAN functions and their RIC-related information.
accompanying service models. The Interface Manager handles all global procedures in-
RAT-agnostic Operations. HexRAN lays a strong empha- cluding E2 Setup, E2 Reset, and RIC Service Update.
sis on multi-RAT support, and, therefore the same E2 Agent In particular, the Interface Manager uses data from the E2
stack should support LTE, 5G NSA, and 5G SA. Agent Repository to initiate the E2 Setup procedure with
High-performance Message Processing. In dealing with one or more Near-RT RICs. The repository maintains a sepa-
near-real time operations, both message processing latency rate context for each RIC, and based on the RIC’s response,
and reliability are paramount, therefore, the E2 Agent should the Interface Manager activates the requested RAN func-
minimize processing latency while maximizing reliability. tions for that RIC. As their names suggest, the Subscription,
Multi-Near-RT RIC Support. The E2 Agent should be able Indication, and Control (SIC) Managers are responsible for
to interface with multiple Near-RT RICs. Support for multiple their namesake functional procedures. Since functional pro-
RICs not only enhances operational resiliency but also en- cedures involve RAN functions, the SIC Managers should
ables advanced use cases such as RAN sharing, which allow be able to parse RAN function-specific message content and
for differentiated control of a common RAN infrastructure. invoke the corresponding RAN function APIs. To that end,
Design Principles and Operation. The E2 Agent archi- HexRAN introduces the concept of E2SM plugins as shown
tecture along with its implementation within HexRAN is in Fig. 4a. Each RAN function within HexRAN includes a set
shown in Fig. 4a. The E2 Agent is implemented at all E2 of E2SM plugins for the SIC Managers, which are used to
nodes, i.e., eNBs, gNBs, CU-CPs, CU-UPs, and DUs, and in- decode function-specific payloads. A plugin-based approach
cludes several sub-components in the interest of modularity. imparts substantial extensibility to the E2 Agent, while also
First, we have the E2AP Messaging Infrastructure which pro- simplifying RAN function design. With HexRAN, a RAN
vides the SCTP stack. Then, the different functionalities of
HexRAN: A Programmable Multi-RAT Platform for Network Slicing in the Open RAN Ecosystem
function designer need only provide the supporting plug- On-Premises Infrastructure Cloud
RAN Terminal Infrastructure
ins and RAN function APIs without having to deal with the COTS
RAN Terminal
Upon receiving an SCTP message from the Near-RT RIC, SDR 1 NUC 1 SDR 2
Slice 3
Slice 1 Slice 2
(c) Slice-level resource
(a) Per-slice throughput. (b) Per-slice round-trip time. allocation.
Figure 11: Comparing dedicated and prioritized states under dynamic network conditions.
time (RTT) values. Next, at 𝑡 = 40 s, all active users leave As shown in Fig. 11, from 𝑡 = 0 − 19 s, Slices 1 and 2 are
Slice 2 causing its traffic to drop to zero, at the same time, a each assigned 40% of the available resources, with the shared
second change in the network policy mandates a 130 Mbps pool containing the remaining 20% for Slice 3. With the
downlink throughput for Slice 1. Since Slice 2 is in the dedi- throughput requirements for each slice being in line with
cated state, its unused resources do not revert to the shared their respective resource assignments, the network does not
pool. Following from Fig. 10, we note that overall gNB re- suffer from congestion. Then, at 𝑡 = 20 s, all active users
source utilization plummets to 20%, and Slice 1 is not able to leave Slices 1 and 2. Slice 1 remains in the dedicated state,
increase its throughput beyond 27 Mbps, leading to conges- while Slice 2 gives up its prioritized resource assignment and
tion and a sharp spike in its RTT. To restore performance, at switches to the idle state. Thus, Slice 3 now has access to
𝑡 = 60 s, a second control request from the RIC changes the 60% of the network’s resources, and its downlink throughput
state of Slice 2 to prioritized. Now, all unused resources from rises to 78 Mbps. Next, at 𝑡 = 40 s, Slice 1 gains active users,
Slice 2 go to the shared pool, and are thus available to Slice and at the same time, owing to a change in network policy,
1. Consequently, Slice 1 is able to achieve its target downlink the Near-RT RIC assigns 80% of the available resources to
throughput of 130 Mbps. In this manner, while the dedicated Slice 1. Predictably, from the figure, we note a rise in through-
and prioritized states can be used to enforce both resource put for Slice 1 and a fall for Slice 3. Then, at 𝑡 = 60 s, Slice
isolation as well as fine-grained performance requirements, 3 too gains active users and transitions from the idle state.
the flexibility to switch between different states ensures that Since Slice 3 was prioritized previously, it now moves to the
HexRAN is able to adapt to changing network conditions. shared state, albeit with a target throughput of 52 Mbps as
However, the wastage of unused resources associated with before. However, at this point, both Slices 2 and 3 are sharing
dedicated slices might lead one to question the utility of the the same shared pool having only 20% of the total resources.
dedicated state, as the next experiment will show, dedicated With a 10% resource assignment, Slice 2 is not able to meet its
slices do have a critical role to play in the network. target throughput, resulting in a congestion-induced spike
Comparing Dedicated and Prioritized Slices. We de- in its RTTs. These results underscore the importance of the
ploy three slices on the gNB– Slice 1 in the dedicated state, dedicated state. The ability to switch to the dedicated mode
Slice 2 in the prioritized state, and Slice 3 in the shared state. is ideal for critical use cases such as public safety networks
HexRAN: A Programmable Multi-RAT Platform for Network Slicing in the Open RAN Ecosystem
UE 2
begin by comparing the following key features that are vital
to a high-performance yet easy-to-use E2 Agent.
Modularity and Extensibility. While both the HexRAN
UE 1
UE 1 RP: 1 UE 1 RP: 1 UE 1 RP: 1
and FlexRIC agents support seamless addition of new service
UE 2 RP: 1 UE 2 RP: 2 UE 2 RP: 5 models, the design of the SD-RAN RIC Agent is closely cou-
pled with the service models implemented within SD-RAN,
(a) Per-user throughput. (b) Slice 1 allocation.
thereby limiting its extensibility.
Deployment Flexibility. While HexRAN’s E2 Agent is com-
Figure 12: RAN priority-based user prioritization. patible with both monolithic as well as fully disaggregated
deployments, the FlexRIC agent supports monolithic nodes
only, while the SD-RAN RIC Agent supports disaggregated
CU-DU deployments only.
during emergencies, thereby guaranteeing a minimum level RAT-agnosticism. Both HexRAN and FlexRIC maintain a
of performance that is isolated from changing network con- universal agent architecture across LTE, 5G NSA, and 5G SA,
ditions. Once the emergency scenario is over, these slices however, the SD-RAN RIC Agent supports LTE only.
can be switched back to the prioritized mode in the interest Multi-RIC Support. The agents within both HexRAN and
of resource efficiency. This experiment also showcases the FlexRIC support interfacing the RAN with multiple Near-RT
performance isolation inherent within HexRAN, with Slices RICs, while SD-RAN supports a single RIC only.
1 and 3 being unaffected by the congestion in Slice 2. Decoupled Processing. While HexRAN’s E2 Agent sup-
Flexible User Prioritization. The slicing framework can ports fully decoupled processing, SD-RAN only decouples the
differentiate between users that otherwise have the exact execution stage from the message processing before it, while,
same QoS configuration by leveraging the RAN priority met- the FlexRIC Agent has a tightly coupled message pipeline.
ric. To that end, we consider a scenario with two slices– Slice Incoming messages at the E2 interface are only processed by
1 in the dedicated state and Slice 2 in the shared state. Slice FlexRIC’s agent after the action corresponding to the previ-
1 contains two UEs 1 and 2, while Slice 2 contains UE 3. All ous message has been executed.
three users are configured with the same 5QI, 9. At 𝑡 = 0, Load Balancing. As detailed in Section 2.4, the HexRAN
the RIC assigns 85 RBs to Slice 1, and this assignment re- E2 Agent incorporates load balancing in the interest of im-
mains fixed throughout the experiment. Our focus here is proved performance. This feature is notably absent from
on the two UEs in Slice 1, both of which are initially config- both FlexRIC as well as SD-RAN.
ured with RAN priority (RP) value 1, and thus share Slice RAN Slicing. In terms of slicing support, while both the
1’s resources equally, as shown in Fig. 12. At 𝑡 = 20 s, the FlexRIC and SD-RAN agents support LTE only, HexRAN’s
Near-RT RIC changes the RP for UE 2 to 2. Since the gNB is E2 Agent incorporates support for RAN slicing across LTE,
using a weighted proportional fair scheduler, an increase in 5G NSA, and 5G SA.
the RAN priority metric is interpreted as a decrease in user Next, we conduct a quantitative performance comparison
priority, consequently, UE 2 is allocated a lower share of the of HexRAN’s E2 Agent with the aforementioned solutions.
resources, and its throughput falls. A second change in UE For the following set of experiments, in the interest of a
2’s RP to 5 at 𝑡 = 40 s, leads to further deprioritization, and fair comparison, we implement our RSH RAN function on
a 80 − 20 resource split in favor of UE 1, which increases its both the FlexRIC and SD-RAN Agents. All three platforms,
throughput to 83 Mbps. Thus, HexRAN allows the Near-RT i.e., HexRAN, FlexRIC, and SD-RAN, are deployed in the
RIC fine-grained control over the users’ QoS performance, hardware radio test environment and interface with our
which is particularly useful in scenarios such as infrastruc- testbed’s Near-RT RIC [25].
ture sharing, wherein tenants may not have control over Message Processing Latency. We fist compare the mes-
classical QoS parameters such as the 5QI. sage processing delay across all three agents as the number
of RAN function instances increases from 10 to 100. For
each instance that is added, the Near-RT RIC sends a control
3.4 E2 Agent Feature and Performance request every 50 ms, and we measure the time elapsed be-
Comparison tween when a request message is received at the E2 interface
In this section, we perform a feature comparison of HexRAN’s and when the corresponding RAN function action execution
E2 Agent with the state-of-the-art, followed by an extensive
performance comparison. The state-of-the-art is character- 1 Commit SHA-1 ID 2547045286adfa59927a375b535ac2c243f52588
ized by two open source E2 Agent implementations– the 2 Commit SHA-1 ID 39f09cc369c3d726e02de720096c19ba5b72aee0
Ahan Kak, Van-Quan Pham, Huu-Trung Thieu, and Nakjung Choi
6 CONCLUSION [15] Alcardo Alex Barakabitze, Arslan Ahmad, Rashid Mijumbi, and An-
drew Hines. 2020. 5G network slicing using SDN and NFV: A survey
In this paper, we have presented HexRAN, a first of its kind of taxonomy, architectures and future challenges. Computer Networks
purposed-built O-RAN compliant RAN platform with several 167 (Feb. 2020), 106984. https://doi.org/10.1016/j.comnet.2019.106984
novel features and contributions relating to disaggregated [16] Leonardo Bonati, Salvatore D'Oro, Michele Polese, Stefano Basagni,
multi-RAT operations, RAN protocol programmability, inter- and Tommaso Melodia. 2021. Intelligence and Learning in O-RAN
actions between the RAN and the RIC, and network slicing. for Data-Driven NextG Cellular Networks. IEEE Communications
Magazine 59, 10 (Oct 2021), 21–27. https://doi.org/10.1109/mcom.101.
Furthermore, we have implemented HexRAN on an experi- 2001120
mental testbed and conducted a comprehensive performance [17] Dell’Oro Group. 2022. Open RAN Advanced Research Report. Technical
evaluation addressing the key themes of scalability and dis- Report.
aggregation, the slicing framework’s impact, and the per- [18] Ismael Gomez-Miguelez, Andres Garcia-Saavedra, Paul D. Sutton,
formance of HexRAN’s E2 Agent. The results thus obtained Pablo Serrano, Cristina Cano, and Doug J. Leith. 2016. srsLTE:
An Open-Source platform for LTE Evolution and Experimentation.
have showcased that not only is HexRAN the most feature- In Proceedings of the Tenth ACM International Workshop on Wire-
complete RAN platform to date, it also offers a significant less Network Testbeds, Experimental Evaluation, and Characterization.
performance advantage over the prior art. https://doi.org/10.1145/2980159.2980163
[19] Global Mobile Suppliers Association (GSA). 2022. 5G Standalone:
Global Status Update. Technical Report.
[20] David Johnson, Dustin Maas, and Jacobus Van Der Merwe. 2021.
REFERENCES NexRAN: Closed-loop RAN slicing in POWDER -A top-to-bottom
[1] 3rd Generation Partnership Project (3GPP). 2022. Management and open-source open-RAN use case. In Proceedings of the 15th ACM Work-
orchestration; 5G Network Resource Model (NRM); Stage 2 and stage 3. shop on Wireless Network Testbeds, Experimental evaluation & CHarac-
Technical Specification (TS) 28.541. Release 17.6.0. terization. ACM. https://doi.org/10.1145/3477086.3480842
[2] 3rd Generation Partnership Project (3GPP). 2022. NG-RAN; E1 Appli- [21] Sukchan Lee. 2022. Open5GS. GitHub Repository: https://github.com/
cation Protocol (E1AP). Technical Specification (TS) 38.463. Release open5gs/open5gs. Version 2.4.7.
17.0.0. [22] liblfds Project. 2022. liblfds. https://www.liblfds.org/.
[3] 3rd Generation Partnership Project (3GPP). 2022. NG-RAN; F1 Appli- [23] Mosaic5G Project. 2022. Flexible RAN Intelligent Controller (FlexRIC)
cation Protocol (F1AP). Technical Specification (TS) 38.473. Release and E2 Agent. https://gitlab.eurecom.fr/mosaic5g/flexric/-/tree/dev.
17.0.0. [24] Navid Nikaein, Mahesh K. Marina, Saravana Manickam, Alex Dawson,
[4] 3rd Generation Partnership Project (3GPP). 2022. NG-RAN; NR user Raymond Knopp, and Christian Bonnet. 2014. OpenAirInterface: A
plane protocol. Technical Specification (TS) 38.425. Release 17.0.0. Flexible Platform for 5G Research. ACM SIGCOMM Computer Com-
[5] Ian F. Akyildiz, Ahan Kak, and Shuai Nie. 2020. 6G and Beyond: The munication Review 44, 5 (Oct. 2014), 33–38. https://doi.org/10.1145/
Future of Wireless Communications Systems. IEEE Access 8 (2020), 2677046.2677053
133995–134030. https://doi.org/10.1109/access.2020.3010896 [25] O-RAN Software Community. 2021. O-RAN E Release Notes. https:
[6] O-RAN Alliance. 2020. O-RAN Near-Real-time RAN Intelligent Con- //docs.o-ran-sc.org/en/e-release/release-notes.html.
troller E2 Service Model (E2SM) NI. Technical Report ORAN-WG3.E2SM- [26] Open Networking Foundation. 2022. SD-RAN 1.4 Release Notes. https:
NI-v01.00. Version 1.00. //docs.sd-ran.org/master/release_notes/sdran_1.4.html.
[7] O-RAN Alliance. 2022. O-RAN Architecture-Description. Technical [27] Red Hat, Inc. 2022. Ansible In Depth. Technical Report.
Report O-RAN.WG1.O-RAN-Architecture-Description-v06.00. Version [28] Robert Schmidt, Mikel Irazabal, and Navid Nikaein. 2021. FlexRIC:
6.00. An SDK for Next-Generation SD-RANs. In Proceedings of the 17th
[8] O-RAN Alliance. 2022. O-RAN Control, User and Synchronization Plane International Conference on emerging Networking EXperiments and
Specification. Technical Report O-RAN.WG4.CUS.0-v09.00. Version Technologies. ACM. https://doi.org/10.1145/3485983.3494870
9.00.
[9] O-RAN Alliance. 2022. O-RAN Near-Real-time RAN Intelligent Con-
troller Architecture & E2 General Aspects and Principles. Technical
Report O-RAN.WG3.E2GAP-v02.02. Version 2.02.
[10] O-RAN Alliance. 2022. O-RAN Near-Real-time RAN Intelligent
Controller E2 Service Model (E2SM) KPM. Technical Report O-
RAN.WG3.E2SM-KPM-v02.02. Version 2.02.
[11] O-RAN Alliance. 2022. O-RAN Near-Real-time RAN Intelligent
Controller E2 Service Model (E2SM) RC. Technical Report O-
RAN.WG3.E2SM-RC-v01.02. Version 1.02.
[12] O-RAN Alliance. 2022. O-RAN Use Cases Detailed Specification. Tech-
nical Report O-RAN.WG1.Use-Cases-Detailed-Specification-v08.00.
Version 8.00.
[13] Samy Al Bahra. 2022. Concurrency Kit. http://concurrencykit.org/.
[14] Bharath Balasubramanian, E. Scott Daniels, Matti Hiltunen, Rittwik
Jana, Kaustubh Joshi, Rajarajan Sivaraj, Tuyen X. Tran, and Chengwei
Wang. 2021. RIC: A RAN Intelligent Controller Platform for AI-Enabled
Cellular Networks. IEEE Internet Computing 25, 2 (Mar 2021), 7–17.
https://doi.org/10.1109/mic.2021.3062487
Ahan Kak, Van-Quan Pham, Huu-Trung Thieu, and Nakjung Choi