QoSComm: A Data Flow Allocation Strategy among SDN-Based Data Centers for IoT Big Data Analytics
Abstract
:1. Introduction
- Intensive computation. Concentrate on data processing and minor communication or fewer data transfers between compute nodes. We consider them a best-effort application.
- Intensive communication. Need to be in constant communication with compute nodes or at some point will require transferring large volumes of data to compute nodes located in geographically distributed data centers. In this case, the data transfer process is crucial for completion time. We consider them a time-sensitive application.
2. Related Work
3. QoS Comm: Design and Implementation
- Compute QoS network paths according to a constraint-based multi-objective decision algorithm. Gets the optimal paths with the minimal point-to-point delay, which complies with applications requirements considering four network parameters: available bandwidth, delay, packet loss rate, and jitter.
- Configure QoS optimal paths via SDN controller to OFS (OpenFlow Switch). Communicate to SDN controller to set a data flow rule on each OFS on the network (at the input and output port level). The SDN controller installs the data flow rule on each of the OFS, specified in the communication with the REST API (Representational State Transfer Application Program Interface). The REST API allows the dynamic configuration of data flow rules in the OFS using HTTP requests to a RestFul Web Service provided by the SDN Controller to get, post, put, and delete data.
3.1. Path Selection
Problem Formalization
- s = Source node,
- d = Destination node,
- P = Set of paths from source node s to destination node d,
- p = End-to-end path, ,
- l = Network links for each node in the end-to-end path
- = Path delay,
- = Path jitter,
- = Path packet loss,
- = Path available bandwidth
3.2. Communication Process for QoS-Based Feasible Paths
4. Simulation Model and Experimental Setup
4.1. Simulation Model
4.2. Experiment Setup
- Linux Debian 9 OS
- Mininet 2.3
- OpenDayLight SDN Controller
- Anaconda Python distribution platform
- Spyder Scientific Python development environment
- IPERF and D-ITG for data transfer performance
- MPICH for MPI application performance
- According to experimental topology based on three layers, convert each link to a vector system with delay, packet loss, jitter, and available bandwidth values.
- Define the end-end paths of hosts H1 to H6, H2 to H5, and H3 to H4 (according to experimentation topology).
- Make the sum of each of the corresponding values for each path (delay, packet loss, and jitter), for the case of bandwidth, get the minimum available in each of the paths. Store the information in a list arrangement (paths).
- Define objectives restrictions values (delay, packet loss, jitter, and available bandwidth), with application requirements. In this case, the delay objective is minimized.
- Search within the list of paths that comply with the imposed restrictions to get the feasible paths.
- From the feasible path, get the minimum delay to get the optimal path.
- Configure data flow rules in each OF switches through the SDN controller to use the feasible paths.
- Programming the experimentation topology in Mininet:
- Create a network topology with two domains (A and B) and one external controller per domain.
- Run network performance tests from H1 to H6, H2 to H5 and H3 to H4 with IPERF and D-ITG (TCP and UDP) with Controller default data flow forwarding:
- (a)
- First, execute individually data transfer test (H1 to H6, then H2 to H5, then H3 to H4). Second, execute the data transfer tests at the same time. Get metrics for the first phase: Get the number of Mbps transferred for a specific period time.
- Run application performance tests from H1 to H6 host with Controller default data flow forwarding:
- (a)
- Get metrics for the second phase: Get MPI application completion time in seconds.
- Repeat steps 3 and 4, using QoSComm data flow forwarding.
- Get results.
5. Performance Evaluation
5.1. Phase One: Network Performance
5.1.1. IPERF
5.1.2. D-ITG
5.2. Phase Two: Application Performance
MPI Application Tests
6. Conclusions and Future Work
Author Contributions
Funding
Conflicts of Interest
Abbreviations
IoT | Internet of Things |
BDA | Big Data Analytics |
SDN | Software Defined Network |
QoS | Quality of Service |
HPC | High Performance Computing |
MPI | Message Passing Interface |
References
- Xuan, S.; Zhang, Y.; Tang, H.; Chung, I.; Wang, W.; Yang, W. Hierarchically Authorized Transactions for Massive Internet-of-Things Data Sharing Based on Multilayer Blockchain. Appl. Sci. 2019, 9, 5159. [Google Scholar] [CrossRef] [Green Version]
- Kos, A.; Tomazic, S.; Salom, A. Benchmarking Methodology and Programming Model for Big Data Process. Int. J. Distrib. Sens. Netw. 2015, 11, 71752. [Google Scholar] [CrossRef]
- Mohammadi, M.; Al-Fuqaha, A.; Sorour, S.; Guizani, M. Deep Learning for IoT Big Data and Streaming Analytics: A Survey. IEEE Commun. Surv. Tutor. 2018, 20, 2923–2960. [Google Scholar] [CrossRef] [Green Version]
- Mital, R.; Coughlin, J.; Canaday, M. Using Big Data Technologies and Analytics to Predict Sensor Anomalies. In Proceedings of the Advanced Maui Optical and Space Surveillance Technologies Conference, Maui, HI, USA, 15–18 September 2014. [Google Scholar]
- Djedouboum, A.C.; Adamou, A.; Gueroui, A.M.; Mohamadou, A.; Aliouat, Z. Big data collection in large-scale wireless sensor networks. Sensors 2018, 18, 4474. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Dean, J.; Ghemawat, S. MapReduce: Simplified data processing on large clusters. Commun ACM. 2008, 51, 107–113. [Google Scholar] [CrossRef]
- Kijsanayothin, P.; Chalumporn, G.; Hewett, R. On using MapReduce to scale algorithms for Big Data analytics: A case study. J. Big Data 2019, 6, 105. [Google Scholar] [CrossRef]
- Stallins, W. Software-Defined Networks and OpenFlow. Internet Protoc. J. 2013, 16, 2–14. [Google Scholar]
- Sha, S.A.R.; Wu, W.; Lu, Q.; Zhan, L.; Sasidhara, S.; DeMa, P.; Guo, C.; Macaule, J.; Pouyou, E.; Ki, J.; et al. AmoebaNet: An SDN-enabled network service for big data science. J. Netw. Comput. Appl. 2018, 119, 70–82. [Google Scholar] [CrossRef] [Green Version]
- Lu, Y.; Fu, Q.; Xi, X.; Chen, Z.; Zou, E.; Fu, B. A policy conflict detection mechanism for multi-controller software-defined networks. Int. J. Distrib. Sens. Netw. 2019, 15. [Google Scholar] [CrossRef]
- Sloan, J. High Performance Linux Clusters with OSCAR, Rocks, OpenMosix, and MPI: A Comprehensive Getting-Started Guide; O’Reilly Media Inc.: Sebastopol, CA, USA, 2004. [Google Scholar]
- Maitrey, S.; Jha, C. MapReduce: Simplified Data Analysis of Big Data. Procedia Comput. Sci. 2015, 57, 563–571. [Google Scholar] [CrossRef] [Green Version]
- Makpaisit, P.; Ichikawa, K.; Uthayopas, P. MPI Reduce Algorithm for OpenFlow-Enabled Network. In Proceedings of the 15th International Symposium on Communications and Information Technologies (ISCIT), Nara, Japan, 7–9 October 2015; pp. 261–264. [Google Scholar]
- U-Chupala, P.; Ichikawa, K.; Iida, H.; Kessaraphong, N.; Uthayopas, P.; Date, S.; Abe, H.; Yamanaka, H.; Kawai, E. Application-Oriented Bandwidth and Latency Aware Routing with OpenFlow Network. In Proceedings of the IEEE 6th International Conference on Cloud Computing Technology and Science, Singapore, 15–18 December 2014; pp. 775–780. [Google Scholar]
- Qin, P.; Dai, B.; Huang, B.; Xu, G. Bandwidth-Aware Scheduling with SDN in Hadoop: A New Trend for Big Data. IEEE Syst. J. 2017, 11, 2337–2344. [Google Scholar] [CrossRef] [Green Version]
- Jamalian, S.; Rajaei, H. ASETS: A SDN empowered task scheduling system for HPCAAS on the cloud. In Proceedings of the IEEE International Conference on Cloud Engineering, Tempe, AZ, USA, 9–13 March 2015. [Google Scholar]
- Alkaff, H.; Gupta, I.; Leslie, L. Cross-Layer Scheduling in Cloud Systems. In Proceedings of the IEEE International Conference on Cloud Engineering (IC2E), Tempe, AZ, USA, 9–13 March 2015. [Google Scholar]
- Shang, F.; Chen, X.; Yan, C.; Li, L.; Zhao, Y. The bandwidth-aware backup task scheduling strategy using SDN in Hadoop. Clust. Comput. 2018, 22, 5975–5985. [Google Scholar] [CrossRef]
- Egilmez, H.; Dane, S.; Bagci, K.; Tekalp, A.M. OpenQoS: An OpenFlow Controller Design for Multimedia Delivery with End-to-End Quality of Service over Software-Defined Networks. In Proceedings of the Signal & Information Processing Association Annual Summit and Conference, Hollywood, CA, USA, 3–6 December 2012. [Google Scholar]
- Owens, H.; Durresi, A. Video over Software-Defined Networking (VSDN). In Proceedings of the 16th International Conference on Network-Based Information Systems, Gwangju, Korea, 4–6 September 2013. [Google Scholar]
- Govindarajan, K.; Meng, K.; Ong, H.; Tat, W.M.; Sivanand, S.; Leong, L.S. Realizing the Quality of Service (QoS) in Software-Defined Networking (SDN) Based Cloud Infrastructure. In Proceedings of the 2nd International Conference on Information and Communication Technology (ICoICT), Bandung, Indonesia, 28–30 May 2014. [Google Scholar]
- Karaman, M.; Gorkemli, B.; Tatlicioglu, S.; Komurcuoglu, M.; Karakaya, O. Quality of Service Control and Resource Priorization with Software Defined Networking. In Proceedings of the 1st IEEE Conference on Network Softwarization (NetSoft), London, UK, 13–17 April 2015. [Google Scholar]
- Tomovic, S.; Prasad, N.; Radusinovic, I. SDN control frame- work for QoS provisioning. In Proceedings of the IEEE 22nd Telecommunications Forum, Belgrade, Serbia, 25–27 November 2014. [Google Scholar]
- Tajiki, M.; Akbari, B.; Shojafar, M.; Ghasemi, S.H.; Barazandeh, M.L.; Mokari, N.; Chiaraviglio, L.; Zink, M. CECT: Computationally efficient congestion-avoidance and traffic engineering in software-defined cloud data centers. Clust. Comput. 2018, 21, 1881–1897. [Google Scholar] [CrossRef] [Green Version]
- Cosio-Velazquez, E. Modelado de una Arquitectura de Red Definida por Software (SDN) Para el Aprovisionamiento de Recursos Utilizando Cross-Layer-Design (CLD); CICESE: Ensenada, Mexico, 2017. [Google Scholar]
- Parvizi, M.; Shadkam, E.; Jahani, N. A hybrid COA/ϵ-constraint method for solving multiobjective problems. Int. J. Found. Comput. Sci. Technol. 2015, 5, 27–40. [Google Scholar] [CrossRef] [Green Version]
- Pantuza-Junior, G. A multi-objective approach to the scheduling problem with workers allocation. Gestão Produção 2016, 23, 132–145. [Google Scholar]
- Emmerich, M.; Deutz, A. A tutorial on multiobjective optimization: Fundamentals and evolutionary methods. Nat. Comput. 2018, 17, 585–609. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Kreutz, D.; Ramos, F.; Verissimo, P.; Rothenberg, C.E.; Azodolmolky, S.; Uhlig, S. Software-Defined Networking: A Comprehensive Survey. Proc. IEEE 2015, 103, 14–76. [Google Scholar] [CrossRef] [Green Version]
- Alsaeedi, M.; Mohamad, M.; Al-Roubaiey, A. Toward Adaptive and Scalable OpenFlow-SDN Flow Control: A Survey. IEEE Access 2019, 7, 107346–107379. [Google Scholar]
- OpenFlow. Open Networking Foundation. Available online: https://www.opennetworking.org (accessed on 18 October 2019).
- Hwang, R.; Tseng, H.; Tang, Y. Design of SDN-enabled Cloud Data Center. In Proceedings of the IEEE International Conference on Smart City/SocialCom/SustainCom (SmartCity), Chengdu, China, 19–21 December 2015. [Google Scholar]
- OpenDayLight Project. Available online: https://www.opendaylight.org (accessed on 20 February 2019).
- Mininet SDN Simulator. Available online: http://www.mininet.org (accessed on 10 July 2019).
- IPERF Network Performance Tool. Available online: https://iperf.fr (accessed on 25 July 2019).
- Botta, A.; Dainotti, A.; Pescape, A. A tool for the generation of realistic network workload for emerging networking scenarios. Comput. Netw. 2012, 56, 3531–3547. [Google Scholar] [CrossRef]
- MPICH Home Page. Available online: http://www.mpich.org (accessed on 5 September 2019).
- MPICH G2 Web Site. Available online: http://toolkit.globus.org/ (accessed on 2 October 2019).
- Marjani, M.; Nasaruddin, F.; Gani, A.; Karim, A.; Hashem, I.A.T.; Siddiqa, A.; Yaqoob, I. Big IoT Data Analytics: Architecture, Opportunities, and Open Research Challenges. IEEE Access 2017, 5, 5247–5261. [Google Scholar]
Reference | Network Parameters | Path Selection Algorithm | Multi-Controller | Domain |
---|---|---|---|---|
[19] | Bandwidth, delay, jitter | SPF with delay restriction | No | Single domain |
[20] | Bandwidth, delay, jitter | SPF with bandwidth and delay as constraints | No | Single domain |
[21] | Bandwidth | Bandwidth control | No | Single domain |
[22] | Bandwidth, delay | Bandwidth control, user-defined priority | No | Single domain |
[23] | Bandwidth | SPF with bandwidth as constraint | No | Single domain |
[24] | Bandwidth | SPF with bandwidth as constraint | No | Single domain |
[9] | Bandwidth | SPF with bandwidth as constraint | No | Inter-domain |
QoSComm | Bandwidth, delay, jitter, packet loss | Multi-objective, considers application requirements | Yes | Inter-domain |
OFS | ID | Match | Action | Priority |
---|---|---|---|---|
S0 | 1 | source: 10.0.0.1, dest: 10.0.0.6, ip-protocol: 6 | output-node-connector: 1 | 201 |
S2 | 2 | source: 10.0.0.2, dest: 10.0.0.5, ip-protocol: 6 | output-node-connector: 2 | 202 |
S6 | 3 | source: 10.0.0.3, dest: 10.0.0.4, ip-protocol: 6 | output-node-connector: 2 | 202 |
S0 | 10 | source: 10.0.0.1 dest: 10.0.0.6, ip-protocol: 17 | output-node-connector: 1 | 210 |
S2 | 11 | source: 10.0.0.2, dest: 10.0.0.5, ip-protocol: 17 | output-node-connector: 2 | 211 |
S6 | 12 | source: 10.0.0.3, dest: 10.0.0.4, ip-protocol: 17 | output-node-connector: 2 | 212 |
... | ... | ... | ... | ... |
Path ID | Network Path | Bandwidth (mbps) | Delay (ms) | PLR | Jitter (ms) |
---|---|---|---|---|---|
1 | S0, S1, S3, S10, S11, S12, S13 | 100 | 25 | 0 | 0 |
2 | S0, S1, S3, S10, S11, S13 | 100 | 20 | 0 | 0 |
3 | S0, S1, S3, S10, S8, S11, S12, S13 | 90 | 29 | 0 | 0 |
4 | S0, S1, S3, S10, S8, S11, S13 | 90 | 24 | 0 | 0 |
5 | S0, S1, S4, S3, S10, S11, S12, S13 | 100 | 21 | 0 | 0 |
6 | S0, S1, S4, S3, S10, S11, S13 | 100 | 16 | 0 | 0 |
7 | S0, S1, S4, S3, S10, S8, S11, S12, S13 | 90 | 25 | 0 | 0 |
8 | S0, S1, S4, S3, S10, S8, S11, S13 | 90 | 20 | 0 | 0 |
9 | S0, S2, S1, S3, S10, S11, S12, S13 | 90 | 20 | 0 | 0 |
10 | S0, S2, S1, S3, S10, S11, S13 | 90 | 15 | 0 | 0 |
11 | S0, S2, S1, S3, S10, S8, S11, S12, S13 | 90 | 24 | 0 | 0 |
12 | S0, S2, S1, S3, S10, S8, S11, S13 | 90 | 19 | 0 | 0 |
13 | S0, S2, S1, S4, S3, S10, S8, S11, S12, S13 | 90 | 16 | 0 | 0 |
14 | S0, S2, S1, S4, S3, S10, S11, S13 | 90 | 11 | 0 | 0 |
15 | S0, S2, S1, S4, S3, S10, S8, S11, S12, S13 | 90 | 20 | 0 | 0 |
16 | S0, S2, S1, S4, S3, S10, S8, S11, S13 | 90 | 15 | 0 | 0 |
Path ID | Network Path | Bandwidth (mbps) | Delay (ms) | PLR | Jitter (ms) |
---|---|---|---|---|---|
1 | S2, S0, S1, S3, S10, S8, S9 | 100 | 23 | 0.002 | 2 |
2 | S2, S0, S1, S3, S10, S8, S7, S9 | 100 | 28 | 0.005 | 4 |
3 | S2, S0, S1, S3, S10, S11, S8, S9 | 90 | 29 | 0.002 | 2 |
4 | S2, S0, S1, S3, S10, S11, S8, S7, S9 | 90 | 34 | 0.005 | 4 |
5 | S2, S0, S1, S4, S3, S10, S8, S9 | 100 | 19 | 0.002 | 2 |
6 | S2, S0, S1, S4, S3, S10, S8, S7, S9 | 100 | 24 | 0.005 | 2 |
7 | S2, S0, S1, S4, S3, S10, S11, S8, S9 | 90 | 25 | 0.002 | 2 |
8 | S2, S0, S1, S4, S3, S10, S11, S8, S7, S9 | 90 | 30 | 0.005 | 4 |
9 | S2, S1, S3, S10, S8, S9 | 90 | 16 | 0.002 | 2 |
10 | S2, S1, S3, S10, S8, S7, S9 | 90 | 21 | 0.005 | 4 |
11 | S2, S1, S3, S10, S11, S8, S9 | 90 | 22 | 0.002 | 2 |
12 | S2, S1, S3, S10, S11, S8, S7, S9 | 90 | 27 | 0.005 | 4 |
13 | S2, S1, S4, S3, S10, S8, S9 | 90 | 12 | 0.002 | 2 |
14 | S2, S1, S4, S3, S10, S8, S7, S9 | 90 | 17 | 0.005 | 4 |
15 | S2, S1, S4, S3, S10, S11, S8, S9 | 90 | 18 | 0.002 | 2 |
16 | S2, S1, S4, S3, S10, S11, S8, S7, S9 | 90 | 23 | 0.005 | 4 |
Path ID | Network Path | Bandwidth (mbps) | Delay (ms) | PLR | Jitter (ms) |
---|---|---|---|---|---|
1 | S6, S5, S4, S1, S3, S10, S11, S8, S9, S7 | 90 | 34 | 0.011 | 7 |
2 | S6, S5, S4, S1, S3, S10, S11, S8, S7 | 90 | 29 | 0.008 | 5 |
3 | S6, S5, S4, S1, S3, S10, S8, S9, S7 | 100 | 28 | 0.011 | 7 |
4 | S6, S5, S4, S1, S3, S10, S8, S7 | 100 | 23 | 0.008 | 5 |
5 | S6, S5, S4, S3, S10, S11, S8, S9, S7 | 90 | 28 | 0.011 | 7 |
6 | S6, S5, S4, S3, S10, S11, S8, S7 | 90 | 23 | 0.008 | 5 |
7 | S6, S5, S4, S3, S10, S8, S9, S7 | 100 | 22 | 0.011 | 7 |
8 | S6, S5, S4, S3, S10, S8, S7 | 100 | 17 | 0.008 | 5 |
9 | S6, S4, S1, S3, S10, S11, S8, S9, S7 | 80 | 29 | 0.006 | 5 |
10 | S6, S4, S1, S3, S10, S11, S8, S7 | 80 | 24 | 0.003 | 3 |
11 | S6, S4, S1, S3, S10, S8, S9, S7 | 80 | 23 | 0.006 | 5 |
12 | S6, S4, S1, S3, S10, S8, S7 | 80 | 18 | 0.003 | 3 |
13 | S6, S4, S3, S10, S11, S8, S9, S7 | 80 | 23 | 0.006 | 5 |
14 | S6, S4, S3, S10, S11, S8, S7 | 80 | 18 | 0.003 | 3 |
15 | S6, S4, S3, S10, S8, S9, S7 | 80 | 17 | 0.006 | 5 |
16 | S6, S4, S3, S10, S8, S7 | 80 | 12 | 0.003 | 3 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Lozano-Rizk, J.E.; Nieto-Hipolito, J.I.; Rivera-Rodriguez, R.; Cosio-Leon, M.A.; Vazquez-Briseño, M.; Chimal-Eguia, J.C. QoSComm: A Data Flow Allocation Strategy among SDN-Based Data Centers for IoT Big Data Analytics. Appl. Sci. 2020, 10, 7586. https://doi.org/10.3390/app10217586
Lozano-Rizk JE, Nieto-Hipolito JI, Rivera-Rodriguez R, Cosio-Leon MA, Vazquez-Briseño M, Chimal-Eguia JC. QoSComm: A Data Flow Allocation Strategy among SDN-Based Data Centers for IoT Big Data Analytics. Applied Sciences. 2020; 10(21):7586. https://doi.org/10.3390/app10217586
Chicago/Turabian StyleLozano-Rizk, Jose E., Juan I. Nieto-Hipolito, Raul Rivera-Rodriguez, Maria A. Cosio-Leon, Mabel Vazquez-Briseño, and Juan C. Chimal-Eguia. 2020. "QoSComm: A Data Flow Allocation Strategy among SDN-Based Data Centers for IoT Big Data Analytics" Applied Sciences 10, no. 21: 7586. https://doi.org/10.3390/app10217586
APA StyleLozano-Rizk, J. E., Nieto-Hipolito, J. I., Rivera-Rodriguez, R., Cosio-Leon, M. A., Vazquez-Briseño, M., & Chimal-Eguia, J. C. (2020). QoSComm: A Data Flow Allocation Strategy among SDN-Based Data Centers for IoT Big Data Analytics. Applied Sciences, 10(21), 7586. https://doi.org/10.3390/app10217586