Abstract
The network load generators are widely used by network researchers to analyze link bandwidth, evaluate network performance and test device capabilities. Data center and IoT networks are quickly evolving and we desire to get a load generator that can precisely generate flow-level workload with high-throughput. Often researchers choose software-based generators because of their flexibility and open-source nature. However, despite the emerging of different solutions, existing software-based flow-level generators have difficulty in generating millions of concurrent TCP connections or achieving one-microsecond precision of packet inter departure time (IDT) which can undermine the correctness of experiments.
In this paper, we present a new network load generator, called Massive Client Connections (MCC). MCC is a client load generator which means it performs flow-level load simulation. We separate the control plane from the data plane and design a two-stage timer mechanism to get higher precision. To take full advantage of multicore processors, we utilize the shared-nothing multi-threaded model. Our evaluation demonstrates that MCC generates network load conforming to expected distribution with one-microsecond precision. Moreover, MCC shows definite scalability of throughput in multicore systems. And it is capable of generating more than three million concurrent TCP connections with ten CPU cores.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Pktgen. https://www.kernel.org/doc/Documentation/networking/pktgen.txt
RSS: Receive Side Scaling. https://docs.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-receive-side-scaling
ab: Apache Bench. http://httpd.apache.org/docs/2.4/programs/ab.html
Wiles, K.: Load generator powered by DPDK (Pktgen-DPDK) (2015)
Intel DPDK: Data Plane Development Kit. http://dpdk.org/
Sprient. https://www.spirent.com/Products/TestCenter/Platforms/Appliances
Antichi, G., Di Pietro, A., Ficara, D., et al.: Bruno: a high performance traffic generator for network processor. In: 2008 International Symposium on Performance Evaluation of Computer and Telecommunication Systems, pp. 526–533. IEEE (2008). https://docs.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-receive-side-scaling
Avallone, S., Guadagno, S., Emma, D., Pescapè, A., et al.: D-ITG distributed internet load generator. In: Proceedings of the First International Conference on the Quantitative Evaluation of Systems, QEST 2004, pp. 316–317. IEEE, (2004)
Wette, P., Karl, H.: DCT2Gen: a traffic generator for data centers. Comput. Commun. 80, 45–58 (2016)
Park, K., Willinger, W.: Sele-Similar Network Traffic and Performance Evaluation. Wiley, New York (2000)
Emmerich, P., Gallenmüller, S., Raumer, D., Wohlfart, F., et al.: MoonGen: a scriptable high-speed packet generator. In: Proceedings of the 2015 Internet Measurement Conference, pp. 275–287. ACM (2015)
Patil, A.G., Surve, A., Gupta, A.K.: Classification of UTGen synthetic load generator. In: 2016 Conference on Advances in Signal Processing (CASP), pp. 280–285. IEEE (2016)
Antichi, G., Shahbaz, M., Geng, Y., Zilberman, N., et al.: OSNT: open source network tester. IEEE Netw. 28(5), 6–12 (2014)
Botta, A., Dainotti, A., Pescapé, A.: Do you trust your software-based load generator? IEEE Commun. Mag. 48(9), 158–165 (2010)
Paredes-Farrera, M., Fleury, M., Ghanbari, M.: Precision and accuracy of load generators for packet-by-packet traffic analysis. In: 2nd International Conference on Testbeds and Research Infrastructures for the Development of Networks and Communities, TRIDENTCOM 2006, p. 6. IEEE (2006)
Primorac, M., Bugnion, E., Argyraki, K.: How to measure the killer microsecond. In: Proceedings of the Workshop on Kernel-Bypass Networks, pp. 37–42. ACM (2017)
Saeed, A., Dukkipati, N., Valancius, V., et al.: Carousel: scalable traffic shaping at end hosts. In: Proceedings of the Conference of the ACM Special Interest Group on Data Communication, pp. 404–417. ACM (2017)
Baumann, A., Barham, P., Dagand, P.E., Isaacs, R., et al.: The multikernel: a new OS architecture for scalable multicore systems. In: Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, pp. 29–44. ACM (2009)
Jeong, E.Y., Wood, S., Jamshed, M., Jeong, H., et al.: mTCP: a highly scalable user-level TCP stack for multicore systems. In: 11th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2014), pp. 489–502 (2014)
Acknowledgments
This work is supported by National Key Research and Development Plan of China No. 2017YFB1001602.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Wu, W., Feng, X., Zhang, W., Chen, M. (2020). MCC: A Predictable and Scalable Massive Client Load Generator. In: Gao, W., Zhan, J., Fox, G., Lu, X., Stanzione, D. (eds) Benchmarking, Measuring, and Optimizing. Bench 2019. Lecture Notes in Computer Science(), vol 12093. Springer, Cham. https://doi.org/10.1007/978-3-030-49556-5_29
Download citation
DOI: https://doi.org/10.1007/978-3-030-49556-5_29
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-49555-8
Online ISBN: 978-3-030-49556-5
eBook Packages: Computer ScienceComputer Science (R0)