Difference between revisions of "Aqua-Sim NG"

From Zheng Peng's Wiki
Jump to: navigation, search
(Overview)
m (Overview)
 
(13 intermediate revisions by 2 users not shown)
Line 9: Line 9:
 
Through the use of network simulators we are able to test and examine different combinations of protocols in low cost and controlled environments. This is especially important for Underwater Sensor Networks (UWSNs) due to their expensive and complex deployment and upkeep costs for real-system testing. Due to the unique research challenges seen in UWSNs, this requires a standard simulation platform to support testing of different designs, algorithms and protocols. Furthermore, we must ensure that this tool offers a broad range of specialized features to allow for easier and expandable testing.
 
Through the use of network simulators we are able to test and examine different combinations of protocols in low cost and controlled environments. This is especially important for Underwater Sensor Networks (UWSNs) due to their expensive and complex deployment and upkeep costs for real-system testing. Due to the unique research challenges seen in UWSNs, this requires a standard simulation platform to support testing of different designs, algorithms and protocols. Furthermore, we must ensure that this tool offers a broad range of specialized features to allow for easier and expandable testing.
  
We have previously developed a simulator, called [[Aqua-Sim]], for underwater sensor networks, based on NS-2. NS-2 is a popular network simulator developed in 2000. Like any simulator, over years, NS-2 has shown its age and was superseded by NS-3 in 2008. To address various limitations introduced by NS-2, in this project, we propose Aqua-Sim Next Generation (NG), a UWSN simulator based on NS-3. The goal of this core simulator changeover is to improve memory management, through the use of smart pointers, have stronger packet header handling, and overall performance improvements. Consequently, this transition allows us to restructure the architecture of Aqua-Sim and better modularize the simulator’s protocol layers. Due to the vast differences between NS-2 and NS-3, this change also requires rewriting Aqua-Sim core and protocol code to meet new API standards.
+
<!--We have previously developed a simulator, called [[Aqua-Sim]], for underwater sensor networks, based on NS-2. NS-2 is a popular network simulator developed in 2000. Like any simulator, over the years, NS-2 has shown its age and was superseded by NS-3 in 2008. To address various limitations introduced by NS-2, in this project, we propose Aqua-Sim Next Generation (NG), a UWSN simulator based on NS-3. The goal of this core simulator changeover is to improve memory management, through the use of smart pointers, have stronger packet header handling, and overall performance improvements. Consequently, this transition allows us to restructure the architecture of Aqua-Sim and better modularize the simulator’s protocol layers. Due to the vast differences between NS-2 and NS-3, this change also requires rewriting Aqua-Sim's core and protocol code to meet new API standards.-->
 +
 
 +
We have previously developed a simulator, called [https://obinet.engr.uconn.edu/wiki/index.php?title=Aqua-Sim Aqua-Sim], for underwater sensor networks, based on NS-2. NS-2 is a popular network simulator developed in 2000. Like any simulator, over the years, NS-2 has shown its age and was superseded by NS-3 in 2008. To address various limitations introduced by NS-2, in this project, we propose Aqua-Sim Next Generation (NG), a UWSN simulator based on NS-3. The goal of this core simulator changeover is to improve memory management, through the use of smart pointers, have stronger packet header handling, and overall performance improvements. Consequently, this transition allows us to restructure the architecture of Aqua-Sim and better modularize the simulator’s protocol layers. Due to the vast differences between NS-2 and NS-3, this change also requires rewriting Aqua-Sim's core and protocol code to meet new API standards.
  
 
Due to the harsh conditions of UWSNs it is crucial to simulate components of real-world systems to ensure strong testing results. To accomplish this task we have implemented four main areas of improvements in Aqua-Sim NG:  
 
Due to the harsh conditions of UWSNs it is crucial to simulate components of real-world systems to ensure strong testing results. To accomplish this task we have implemented four main areas of improvements in Aqua-Sim NG:  
Line 16: Line 18:
 
#Next we expand physical model support through the implementation of a signal cache, signal-to-interference-plus-noise (SINR) checker and modulation support. This allows for packet decoding at the modem’s physical layer dependent on the current underwater channel’s condition.  
 
#Next we expand physical model support through the implementation of a signal cache, signal-to-interference-plus-noise (SINR) checker and modulation support. This allows for packet decoding at the modem’s physical layer dependent on the current underwater channel’s condition.  
 
#Following this, we offer higher protocol layer support which includes synchronization and localization modules, busy terminal model support, and security features. Due to the restricted attenuation of radio frequency in UWSNs, synchronization and localization modules must be included to assist testing of various protocols. Furthermore, due to the high mobility and transmission delays in underwater it is important to be capable of testing specialized security techniques.  
 
#Following this, we offer higher protocol layer support which includes synchronization and localization modules, busy terminal model support, and security features. Due to the restricted attenuation of radio frequency in UWSNs, synchronization and localization modules must be included to assist testing of various protocols. Furthermore, due to the high mobility and transmission delays in underwater it is important to be capable of testing specialized security techniques.  
#And the final area of improvement being the integration of adapted informationcentric (IC) techniques for UWSNs. Due to the innovative approach of IC architectures, it is highly promising to implement various components and features for future testing. IC’s innovative approach opens up new avenues of research in UWSNs, making it a crucial step in expanding underwater simulation.
+
#And the final area of improvement being the integration of adapted Information-Centric Networking (ICN) techniques for UWSNs. Due to the innovative approach of ICN architectures, it is highly promising to implement various components and features for future testing. ICN’s innovative approach opens up new avenues of research in UWSNs, making it a crucial step in expanding underwater simulation.
  
 
==Aqua-Sim NG Architecture==
 
==Aqua-Sim NG Architecture==
Line 22: Line 24:
 
Due to the vast differences between NS-2 and NS-3 API, Aqua-Sim must be completely revamped to meet these new standards. In some cases this consists of rewriting new functions and complete classes to adhere to NS-3 standards. Since Aqua-Sim has been a collaborative effort among many developers over the past years, this transition also allowed for code clean up and restructuring.
 
Due to the vast differences between NS-2 and NS-3 API, Aqua-Sim must be completely revamped to meet these new standards. In some cases this consists of rewriting new functions and complete classes to adhere to NS-3 standards. Since Aqua-Sim has been a collaborative effort among many developers over the past years, this transition also allowed for code clean up and restructuring.
  
[[File:Aquasimng asDiagram.png|720px]]
+
Aqua-Sim NG's new architecture is centralized around each net device, while also allowing for interaction with the channel layer. Therefore, we can individually use unique modules in parallel, such as introducing synchronization support alongside MAC layer protocols through diversifying how our simulated packets are handled. Additionally, we incorporate strongly correlated class inheritance for more influential and meaningful function use.
 +
 
 +
[[File:AsDiagram_resize.png|center|1080px]]
  
 
==New Features and Modules==
 
==New Features and Modules==
 +
 +
*Synchronization and localization support
 +
*Busy/hidden terminal model integration
 +
*Varying noise generators
 +
*Enhanced channel support (ie multi-channel integration)
 +
*Transmission range uncertainty
 +
*Trace driven support for channel conditions
 +
*Security module for easier attacker imitation
 +
*ICN module including adapted Named Data Network components, specialized protocols, and helper scripts
  
 
==Preliminary Results==
 
==Preliminary Results==
  
==Aqua-Sim Download==
+
Simulation results match up quite well to past testing of Aqua-Sim validity. Aqua-Sim NG also shows large performance improves using various simulator protocols. Additionally, Aqua-Sim NG has shown extensive code adjustments since its starting point in 2015.
 +
 
 +
[[File:Asng_Throughput_p1.png|720px|Throughput with fixed input traffic per node.]] [[File:Asng_Throughput_p2.png|720px|Throughput with fixed total traffic input.]]
 +
 
 +
Throughput with fixed input traffic per node (left) and throughput with fixed total traffic input (right).
 +
 
 +
[[File:Asng_HeapProfile.png|720px|alt=HeapProfile|Heap profiling using various protocols.]] [[File:Asng_Github_Contributions.png|720px]]
 +
 
 +
Heap profiling using various protocols (left) and Aqua-Sim NG's GitHub repository contributions (right).
 +
 
 +
==Aqua-Sim NG Download==
 +
 
 +
The initial version of Aqua-Sim NG can be found [https://github.com/rmartin5/aqua-sim-ng HERE]
 +
 
 +
The latest version of Aqua-Sim NG that is compatible with NS-3 V3.29 can be found [http://hudson.ccny.cuny.edu/download/aquasim-ng.tgz HERE]
  
The latest version of Aqua-Sim NG can be found [https://github.com/rmartin5/aqua-sim-ng HERE]
+
==Aqua-Sim NG Documentations==
 +
 
 +
* An installation guide can be found [http://134.74.112.6/mediawiki/images/6/66/Aqua-Sim_NG_Installation.pdf HERE].
 +
 
 +
* A developer tutorial can be found [http://134.74.112.6/mediawiki/images/8/8f/Aqua-Sim-NG_Tutorial.pdf HERE].
  
 
==People==
 
==People==
  
 
*[http://www-cs.ccny.cuny.edu/~zheng/ Zheng Peng ], Assistant Professor, Computer Science Department, City College, City University of New York
 
*[http://www-cs.ccny.cuny.edu/~zheng/ Zheng Peng ], Assistant Professor, Computer Science Department, City College, City University of New York
 +
<!--*Dmitrii Dugaev, PhD Student, Graduate Center, City University of New York-->
 
*Robert Martin, Computer Science and Engineering, University of Connecticut.
 
*Robert Martin, Computer Science and Engineering, University of Connecticut.
 +
 +
==Publications==
 +
 +
*Aqua-Sim Next Generation: An NS-3 Based Underwater Sensor Network Simulator, Robert Martin, Sanguthevar Rajasekaran, and Zheng Peng, in Proc. of ACM WUWNet, Halifax, NS, Canada, 2017.

Latest revision as of 09:23, 20 May 2021


Aqua-Sim Next Generation (NG) is an NS-3 based underwater sensor network simulator.

Overview

Through the use of network simulators we are able to test and examine different combinations of protocols in low cost and controlled environments. This is especially important for Underwater Sensor Networks (UWSNs) due to their expensive and complex deployment and upkeep costs for real-system testing. Due to the unique research challenges seen in UWSNs, this requires a standard simulation platform to support testing of different designs, algorithms and protocols. Furthermore, we must ensure that this tool offers a broad range of specialized features to allow for easier and expandable testing.


We have previously developed a simulator, called Aqua-Sim, for underwater sensor networks, based on NS-2. NS-2 is a popular network simulator developed in 2000. Like any simulator, over the years, NS-2 has shown its age and was superseded by NS-3 in 2008. To address various limitations introduced by NS-2, in this project, we propose Aqua-Sim Next Generation (NG), a UWSN simulator based on NS-3. The goal of this core simulator changeover is to improve memory management, through the use of smart pointers, have stronger packet header handling, and overall performance improvements. Consequently, this transition allows us to restructure the architecture of Aqua-Sim and better modularize the simulator’s protocol layers. Due to the vast differences between NS-2 and NS-3, this change also requires rewriting Aqua-Sim's core and protocol code to meet new API standards.

Due to the harsh conditions of UWSNs it is crucial to simulate components of real-world systems to ensure strong testing results. To accomplish this task we have implemented four main areas of improvements in Aqua-Sim NG:

  1. We frst offer enhanced channel support which consists of specialized noise generators, multiple channel support, range-based propagation, and trace driven testing. These features allow for localized packet interference as well as varying acoustic propagation ranging between modems.
  2. Next we expand physical model support through the implementation of a signal cache, signal-to-interference-plus-noise (SINR) checker and modulation support. This allows for packet decoding at the modem’s physical layer dependent on the current underwater channel’s condition.
  3. Following this, we offer higher protocol layer support which includes synchronization and localization modules, busy terminal model support, and security features. Due to the restricted attenuation of radio frequency in UWSNs, synchronization and localization modules must be included to assist testing of various protocols. Furthermore, due to the high mobility and transmission delays in underwater it is important to be capable of testing specialized security techniques.
  4. And the final area of improvement being the integration of adapted Information-Centric Networking (ICN) techniques for UWSNs. Due to the innovative approach of ICN architectures, it is highly promising to implement various components and features for future testing. ICN’s innovative approach opens up new avenues of research in UWSNs, making it a crucial step in expanding underwater simulation.

Aqua-Sim NG Architecture

Due to the vast differences between NS-2 and NS-3 API, Aqua-Sim must be completely revamped to meet these new standards. In some cases this consists of rewriting new functions and complete classes to adhere to NS-3 standards. Since Aqua-Sim has been a collaborative effort among many developers over the past years, this transition also allowed for code clean up and restructuring.

Aqua-Sim NG's new architecture is centralized around each net device, while also allowing for interaction with the channel layer. Therefore, we can individually use unique modules in parallel, such as introducing synchronization support alongside MAC layer protocols through diversifying how our simulated packets are handled. Additionally, we incorporate strongly correlated class inheritance for more influential and meaningful function use.

AsDiagram resize.png

New Features and Modules

  • Synchronization and localization support
  • Busy/hidden terminal model integration
  • Varying noise generators
  • Enhanced channel support (ie multi-channel integration)
  • Transmission range uncertainty
  • Trace driven support for channel conditions
  • Security module for easier attacker imitation
  • ICN module including adapted Named Data Network components, specialized protocols, and helper scripts

Preliminary Results

Simulation results match up quite well to past testing of Aqua-Sim validity. Aqua-Sim NG also shows large performance improves using various simulator protocols. Additionally, Aqua-Sim NG has shown extensive code adjustments since its starting point in 2015.

Throughput with fixed input traffic per node. Throughput with fixed total traffic input.

Throughput with fixed input traffic per node (left) and throughput with fixed total traffic input (right).

HeapProfile Asng Github Contributions.png

Heap profiling using various protocols (left) and Aqua-Sim NG's GitHub repository contributions (right).

Aqua-Sim NG Download

The initial version of Aqua-Sim NG can be found HERE

The latest version of Aqua-Sim NG that is compatible with NS-3 V3.29 can be found HERE

Aqua-Sim NG Documentations

  • An installation guide can be found HERE.
  • A developer tutorial can be found HERE.

People

  • Zheng Peng , Assistant Professor, Computer Science Department, City College, City University of New York
  • Robert Martin, Computer Science and Engineering, University of Connecticut.

Publications

  • Aqua-Sim Next Generation: An NS-3 Based Underwater Sensor Network Simulator, Robert Martin, Sanguthevar Rajasekaran, and Zheng Peng, in Proc. of ACM WUWNet, Halifax, NS, Canada, 2017.