{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,12]],"date-time":"2025-10-12T01:53:34Z","timestamp":1760234014229,"version":"build-2065373602"},"reference-count":38,"publisher":"MDPI AG","issue":"3","license":[{"start":{"date-parts":[[2021,3,19]],"date-time":"2021-03-19T00:00:00Z","timestamp":1616112000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/501100018537","name":"National Science and Technology Major Project","doi-asserted-by":"publisher","award":["XDC02070100"],"award-info":[{"award-number":["XDC02070100"]}],"id":[{"id":"10.13039\/501100018537","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Future Internet"],"abstract":"<jats:p>The continuous increase in network traffic has sharply increased the demand for high-performance packet processing systems. For a high-performance packet processing system based on multi-core processors, the packet scheduling algorithm is critical because of the significant role it plays in load distribution, which is related to system throughput, attracting intensive research attention. However, it is not an easy task since the canonical flow-level packet scheduling algorithm is vulnerable to traffic locality, while the packet-level packet scheduling algorithm fails to maintain cache affinity. In this paper, we propose an adaptive throughput-first packet scheduling algorithm for DPDK-based packet processing systems. Combined with the feature of DPDK burst-oriented packet receiving and transmitting, we propose using Subflow as the scheduling unit and the adjustment unit making the proposed algorithm not only maintain the advantages of flow-level packet scheduling algorithms when the adjustment does not happen but also avoid packet loss as much as possible when the target core may be overloaded Experimental results show that the proposed method outperforms Round-Robin, HRW (High Random Weight), and CRC32 on system throughput and packet loss rate.<\/jats:p>","DOI":"10.3390\/fi13030078","type":"journal-article","created":{"date-parts":[[2021,3,21]],"date-time":"2021-03-21T22:00:37Z","timestamp":1616364037000},"page":"78","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["An Adaptive Throughput-First Packet Scheduling Algorithm for DPDK-Based Packet Processing Systems"],"prefix":"10.3390","volume":"13","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-4116-9676","authenticated-orcid":false,"given":"Chuanhong","family":"Li","sequence":"first","affiliation":[{"name":"National Network New Media Engineering Research Center, Institute of Acoustics, Chinese Academy of Sciences, Beijing 100190, China"},{"name":"School of Electronic, Electrical and Communication Engineering, University of Chinese Academy of Sciences, Beijing 100049, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Lei","family":"Song","sequence":"additional","affiliation":[{"name":"National Network New Media Engineering Research Center, Institute of Acoustics, Chinese Academy of Sciences, Beijing 100190, China"},{"name":"School of Electronic, Electrical and Communication Engineering, University of Chinese Academy of Sciences, Beijing 100049, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Xuewen","family":"Zeng","sequence":"additional","affiliation":[{"name":"National Network New Media Engineering Research Center, Institute of Acoustics, Chinese Academy of Sciences, Beijing 100190, China"},{"name":"School of Electronic, Electrical and Communication Engineering, University of Chinese Academy of Sciences, Beijing 100049, China"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2021,3,19]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","first-page":"23","DOI":"10.1016\/j.future.2020.07.047","article-title":"An intelligent healthcare monitoring framework using wearable sensors and social networking data","volume":"114","author":"Ali","year":"2020","journal-title":"Futur. Gener. Comput. Syst."},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"105973","DOI":"10.1016\/j.aap.2021.105973","article-title":"Traffic accident detection and condition analysis based on social networking data","volume":"151","author":"Ali","year":"2021","journal-title":"Accid. Anal. Prev."},{"key":"ref_3","first-page":"1","article-title":"LPGA: Location Privacy-Guaranteed Offloading Algorithm in Cache-Enabled Edge Clouds","volume":"7161","author":"Ko","year":"2020","journal-title":"IEEE Trans. Cloud Comput."},{"key":"ref_4","doi-asserted-by":"crossref","first-page":"2837","DOI":"10.1587\/transinf.2017PAP0016","article-title":"Protocol-aware packet scheduling algorithm for multi-protocol processing in multi-core MPL architecture","volume":"E100D","author":"Zhang","year":"2017","journal-title":"IEICE Trans. Inf. Syst."},{"key":"ref_5","unstructured":"He, F., Qi, Y., Xue, Y., and Li, J. (2008, January 16\u201318). Load scheduling for flow-based packet processing on multi-core network processors. Proceedings of the 20th IASTED International Conference Parallel and Distributed Computing and System (PDCS 2008), Orlando, FL, USA."},{"key":"ref_6","first-page":"3646","article-title":"Dynamic Core Allocation and Packet Scheduling in Multicore Network Processors","volume":"65","author":"Iqbal","year":"2016","journal-title":"IEEE Trans. Comput."},{"key":"ref_7","first-page":"58","article-title":"TCP\/IP protocol stack acceleration technology based on multi-core processor","volume":"1","author":"Zha","year":"2013","journal-title":"J. Netw. New Media"},{"key":"ref_8","doi-asserted-by":"crossref","first-page":"195","DOI":"10.1145\/1851275.1851207","article-title":"PacketShader: A GPU-accelerated software router","volume":"40","author":"Han","year":"2010","journal-title":"ACM SIGCOMM Comput. Commun. Rev."},{"key":"ref_9","doi-asserted-by":"crossref","unstructured":"He, P., Wang, J., Deng, H., and Zhang, W. (2010, January 21\u201324). Balanced locality-aware packet schedule algrorithm on multi-core network processor. Proceedings of the 2010 2nd International Conference on Future Computer and Communication, Wuhan, China.","DOI":"10.1109\/ICFCC.2010.5497642"},{"key":"ref_10","unstructured":"Guo, J., Yao, J., and Bhuyan, L. (2005, January 13\u201317). An efficient packet scheduling algorithm in network processors. Proceedings of the IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies, Miami, FL, USA."},{"key":"ref_11","unstructured":"Rich\u00e9, T.L., Mudigonda, J., and Vin, H.M. (2004). Experimental Evaluation of Load Balancers in Packet Processing Systems, University of Texas at Austin."},{"key":"ref_12","doi-asserted-by":"crossref","first-page":"177","DOI":"10.1147\/rd.472.0177","article-title":"IBM PowerNP network processor: Hardware, software, and applications","volume":"47","author":"Allen","year":"2003","journal-title":"IBM J. Res. Dev."},{"key":"ref_13","unstructured":"(2021, March 10). Cavium The OCTEON processor. Available online: https:\/\/cn.marvell.com\/."},{"key":"ref_14","unstructured":"(2021, March 09). Intel Data Plane Development Kit. Available online: https:\/\/www.dpdk.org\/."},{"key":"ref_15","unstructured":"Rizzo, L. (2012, January 13\u201315). NetMap: A novel framework for fast packet I\/O. Proceedings of the 2012 USENIX Annual Technical Conference, Boston, MA, USA."},{"key":"ref_16","doi-asserted-by":"crossref","first-page":"6113","DOI":"10.1109\/ACCESS.2020.3048421","article-title":"Flow-Aware Service Function Embedding Algorithm in Programmable Data Plane","volume":"9","author":"Lee","year":"2021","journal-title":"IEEE Access"},{"key":"ref_17","doi-asserted-by":"crossref","unstructured":"Kuang, J., Bhuyan, L., Xie, H., and Guo, D. (2011, January 3\u20134). E-AHRW: An energy-efficient adaptive hash scheduler for stream processing on multi-core servers. Proceedings of the 2011 ACM\/IEEE Seventh Symposium on Architectures for Networking and Communications Systems, Brooklyn, NY, USA.","DOI":"10.1109\/ANCS.2011.15"},{"key":"ref_18","unstructured":"Lukas, K. (2020, December 14). Load Sharing for Multiprocessor Network Nodes. Available online: https:\/\/silo.tips\/download\/load-sharing-for-multiprocessor-network-nodes-2#."},{"key":"ref_19","unstructured":"Cao, Z., Wang, Z., and Zegura, E. (2000, January 26\u201330). Performance of Hashing-Based Schemes for Internet Load Balancing. Proceedings of the IEEE INFOCOM 2000, Tel Aviv, Israel."},{"key":"ref_20","doi-asserted-by":"crossref","unstructured":"Shi, W., and Kencl, L. (2006, January 3\u20135). Sequence-preserving adaptive load balancers. Proceedings of the 2006 ACM\/IEEE Symposium on Architecture for Networking and Communications Systems, San Jose, CA, USA.","DOI":"10.1145\/1185347.1185367"},{"key":"ref_21","doi-asserted-by":"crossref","first-page":"62","DOI":"10.1109\/MCOM.001.1900525","article-title":"High-Performance Implementation of Dynamically Configurable Load Balancing Engine on FPGA","volume":"58","author":"Zhao","year":"2020","journal-title":"IEEE Commun. Mag."},{"key":"ref_22","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1109\/90.663936","article-title":"Using name-based mappings to increase hit rates","volume":"6","author":"Thaler","year":"1998","journal-title":"IEEE\/ACM Trans. Netw."},{"key":"ref_23","doi-asserted-by":"crossref","first-page":"293","DOI":"10.1109\/TNET.2007.909839","article-title":"Adaptive load sharing for network processors","volume":"16","author":"Kencl","year":"2008","journal-title":"IEEE\/ACM Trans. Netw."},{"key":"ref_24","doi-asserted-by":"crossref","unstructured":"Guo, D., Liao, G., Nhuyan, L.N., and Liu, B. (2009, January 19). An adapative hash-based multilayer scheduler for L7-filter on a highly threaded hierarchical multi-core server. Proceedings of the 5th ACM\/IEEE Symposium on Architectures for Networking and Communications Systems Association for Computing Machinery, New York, NY, USA.","DOI":"10.1145\/1882486.1882497"},{"key":"ref_25","doi-asserted-by":"crossref","unstructured":"Miao, M., Cheng, W., Ren, F., and Xie, J. (2017, January 12\u201314). Smart Batching: A Load-Sensitive Self-Tuning Packet I\/O Using Dynamic Batch Sizing. Proceedings of the 2016 IEEE 18th International Conference on High Performance Computing and Communications; IEEE 14th International Conference on Smart City; IEEE 2nd International Conference on Data Science and Systems (HPCC\/SmartCity\/DSS), Sydney, NSW, Australia.","DOI":"10.1109\/HPCC-SmartCity-DSS.2016.0106"},{"key":"ref_26","doi-asserted-by":"crossref","first-page":"163","DOI":"10.1109\/MCOM.2017.1600756CM","article-title":"Traffic Analysis with Off-the-Shelf Hardware: Challenges and Lessons Learned","volume":"55","author":"Trevisan","year":"2017","journal-title":"IEEE Commun. Mag."},{"key":"ref_27","doi-asserted-by":"crossref","unstructured":"Li, Y., Shan, L., and Qiao, X. (2012, January 19\u201322). A parallel packet processing runtime system on multi-core network processors. Proceedings of the 012 11th International Symposium on Distributed Computing and Applications to Business, Engineering & Science, Guilin, China.","DOI":"10.1109\/DCABES.2012.59"},{"key":"ref_28","doi-asserted-by":"crossref","first-page":"1881","DOI":"10.1109\/JSAC.2014.2358835","article-title":"MP-ROOM: Optimal matching on multiple PDUs for fine-grained traffic identification","volume":"32","author":"Li","year":"2014","journal-title":"IEEE J. Sel. Areas Commun."},{"key":"ref_29","unstructured":"Dittmann, G., and Herkersdorf, A. (2002, January 14\u201318). Network Processor Load Balancing for High-Speed Links. Proceedings of the 2002 International Symposium on Performance Evaluation of Computer and Telecommunication Systems, San Diego, CA, USA."},{"key":"ref_30","doi-asserted-by":"crossref","first-page":"790","DOI":"10.1109\/TNET.2005.852881","article-title":"Load balancing for parallel forwarding","volume":"13","author":"Shi","year":"2005","journal-title":"IEEE\/ACM Trans. Netw."},{"key":"ref_31","doi-asserted-by":"crossref","unstructured":"Hesselbach, X., Fabregat, R., Baran, B., Donoso, Y., Solano, F., and Huerta, M. (2005, January 2\u20136). Hashing based traffic partitioning in a multicast-multipath MPLS network model. Proceedings of the 3rd International Latin American Networking Conference, Ontario, Canada.","DOI":"10.1145\/1168117.1168127"},{"key":"ref_32","doi-asserted-by":"crossref","first-page":"3645","DOI":"10.1109\/COMST.2018.2851072","article-title":"Fast packet processing: A survey","volume":"20","author":"Cerovic","year":"2018","journal-title":"IEEE Commun. Surv. Tutor."},{"key":"ref_33","doi-asserted-by":"crossref","unstructured":"Emmerich, P., Gallenmuller, S., Antichi, G., Moore, A.W., and Carle, G. (2017, January 18\u201319). Mind the Gap\u2014A Comparison of Software Packet Generators. Proceedings of the 2017 ACM\/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), Beijing, China.","DOI":"10.1109\/ANCS.2017.32"},{"key":"ref_34","doi-asserted-by":"crossref","unstructured":"Gallenm\u00fcller, S., Emmerich, P., Wohlfart, F., Raumer, D., and Carle, G. (2015, January 7\u20138). Comparison of frameworks for high-performance packet IO. Proceedings of the 2015 ACM\/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), Oakland, CA, USA.","DOI":"10.1109\/ANCS.2015.7110118"},{"key":"ref_35","unstructured":"(2020, December 14). Available online: http:\/\/doc.dpdk.org\/guides\/sample_app_ug\/load_balancer.html."},{"key":"ref_36","unstructured":"Trifonov, H. (2020, December 14). Traffic-Aware Adaptive Polling Mechanism for High Performance Packet Processing. Available online: https:\/\/ulir.ul.ie\/handle\/10344\/6246."},{"key":"ref_37","unstructured":"(2014). Shemesh. O. System and Method for Symmetric Receive-Side Scaling (RSS). (No. 8635352), U.S. Patent, Patent and Trademark Office."},{"key":"ref_38","first-page":"85","article-title":"Traffic dynamic load balancing method based on DPDK","volume":"7","author":"Kai","year":"2017","journal-title":"Intell. Comput. Appl."}],"container-title":["Future Internet"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1999-5903\/13\/3\/78\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T05:38:23Z","timestamp":1760161103000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1999-5903\/13\/3\/78"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,3,19]]},"references-count":38,"journal-issue":{"issue":"3","published-online":{"date-parts":[[2021,3]]}},"alternative-id":["fi13030078"],"URL":"https:\/\/doi.org\/10.3390\/fi13030078","relation":{},"ISSN":["1999-5903"],"issn-type":[{"type":"electronic","value":"1999-5903"}],"subject":[],"published":{"date-parts":[[2021,3,19]]}}}