Providing Near Per-Flow Scheduling in Commodity Switches Without Per-Flow Queues
Network quality of service (QoS) is essential for network applications. For many applications, getting a fair share of available bandwidth for their flows can prevent them from being blocked by other flows that do not respond to congestion. Providing per-flow scheduling in each output port of a comm...
Main Authors: | , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
IEEE
2023-01-01
|
Series: | IEEE Access |
Subjects: | |
Online Access: | https://ieeexplore.ieee.org/document/10138823/ |
_version_ | 1797808480812269568 |
---|---|
author | Shie-Yuan Wang Chen-Yo Sun Yu-Chen Hsiao Yi-Bing Lin |
author_facet | Shie-Yuan Wang Chen-Yo Sun Yu-Chen Hsiao Yi-Bing Lin |
author_sort | Shie-Yuan Wang |
collection | DOAJ |
description | Network quality of service (QoS) is essential for network applications. For many applications, getting a fair share of available bandwidth for their flows can prevent them from being blocked by other flows that do not respond to congestion. Providing per-flow scheduling in each output port of a commodity switch can isolate the flows that compete for the bandwidth of a bottleneck link. Although per-flow scheduling can maintain fair shares among competing flows, due to the high implementation costs of providing per-flow queues in commodity switches, this capability is rarely provided in commodity switches on the market. To address this need, we design and implement a near-per-flow scheduling scheme named Near Per-flow Scheduling (NPFS) in P4 programmable hardware switches and evaluate its performance. NPFS provides near-per-flow scheduling effectiveness in commodity switches that do not have per-flow queues in their output ports. NPFS utilizes the priority queues provided in most commodity switches and dynamically assigns competing flows to these queues based on their protocol types and current sending rates. Experimental results show that, when the number of competing flows is less than three times the number of queues, NPFS guarantees that the achieved bandwidths of these flows only deviate from their ideal fair shares by 5%. |
first_indexed | 2024-03-13T06:39:09Z |
format | Article |
id | doaj.art-774d55abec594326a60a6ed925c3806f |
institution | Directory Open Access Journal |
issn | 2169-3536 |
language | English |
last_indexed | 2024-03-13T06:39:09Z |
publishDate | 2023-01-01 |
publisher | IEEE |
record_format | Article |
series | IEEE Access |
spelling | doaj.art-774d55abec594326a60a6ed925c3806f2023-06-08T23:00:36ZengIEEEIEEE Access2169-35362023-01-0111540295404410.1109/ACCESS.2023.328169910138823Providing Near Per-Flow Scheduling in Commodity Switches Without Per-Flow QueuesShie-Yuan Wang0https://orcid.org/0000-0002-6481-3604Chen-Yo Sun1Yu-Chen Hsiao2https://orcid.org/0009-0001-1924-4959Yi-Bing Lin3https://orcid.org/0000-0001-6841-4718Computer Science, National Yang Ming Chiao Tung University, Hsinchu, TaiwanComputer Science, National Yang Ming Chiao Tung University, Hsinchu, TaiwanComputer Science, National Yang Ming Chiao Tung University, Hsinchu, TaiwanComputer Science, National Yang Ming Chiao Tung University, Hsinchu, TaiwanNetwork quality of service (QoS) is essential for network applications. For many applications, getting a fair share of available bandwidth for their flows can prevent them from being blocked by other flows that do not respond to congestion. Providing per-flow scheduling in each output port of a commodity switch can isolate the flows that compete for the bandwidth of a bottleneck link. Although per-flow scheduling can maintain fair shares among competing flows, due to the high implementation costs of providing per-flow queues in commodity switches, this capability is rarely provided in commodity switches on the market. To address this need, we design and implement a near-per-flow scheduling scheme named Near Per-flow Scheduling (NPFS) in P4 programmable hardware switches and evaluate its performance. NPFS provides near-per-flow scheduling effectiveness in commodity switches that do not have per-flow queues in their output ports. NPFS utilizes the priority queues provided in most commodity switches and dynamically assigns competing flows to these queues based on their protocol types and current sending rates. Experimental results show that, when the number of competing flows is less than three times the number of queues, NPFS guarantees that the achieved bandwidths of these flows only deviate from their ideal fair shares by 5%.https://ieeexplore.ieee.org/document/10138823/Near per-flow scheduling (NPFS)per-flow schedulingprogrammable switchesprogramming protocol-independent packet processors |
spellingShingle | Shie-Yuan Wang Chen-Yo Sun Yu-Chen Hsiao Yi-Bing Lin Providing Near Per-Flow Scheduling in Commodity Switches Without Per-Flow Queues IEEE Access Near per-flow scheduling (NPFS) per-flow scheduling programmable switches programming protocol-independent packet processors |
title | Providing Near Per-Flow Scheduling in Commodity Switches Without Per-Flow Queues |
title_full | Providing Near Per-Flow Scheduling in Commodity Switches Without Per-Flow Queues |
title_fullStr | Providing Near Per-Flow Scheduling in Commodity Switches Without Per-Flow Queues |
title_full_unstemmed | Providing Near Per-Flow Scheduling in Commodity Switches Without Per-Flow Queues |
title_short | Providing Near Per-Flow Scheduling in Commodity Switches Without Per-Flow Queues |
title_sort | providing near per flow scheduling in commodity switches without per flow queues |
topic | Near per-flow scheduling (NPFS) per-flow scheduling programmable switches programming protocol-independent packet processors |
url | https://ieeexplore.ieee.org/document/10138823/ |
work_keys_str_mv | AT shieyuanwang providingnearperflowschedulingincommodityswitcheswithoutperflowqueues AT chenyosun providingnearperflowschedulingincommodityswitcheswithoutperflowqueues AT yuchenhsiao providingnearperflowschedulingincommodityswitcheswithoutperflowqueues AT yibinglin providingnearperflowschedulingincommodityswitcheswithoutperflowqueues |