Hegons
HEGONS Beta version 0.1 released. A HEterogeneous Grooming Optical Network Simulator. Supporting mixed routing & wavelength assignment algorithms and optional wavelength conversions capability on each node. Unlike many other simulators, the goal in developing Hegons is NOT to simulate the OSI model layers as they are. Such simulators mimic the behavior of say TCP/IP or GMPLS in order to provide a virtual platform for developers, learners and testers. Hegons on the other hand, aims at one thing and only one thing: The evaluation of different dynamic Routing and Wavelength Assignment (RWA) algorithms in WDM optical networks in terms of several measures such as: call blocking probability, Fairness (Variance in blocking probability), call setup time, etc. Thus Hegons is not bound to any specific protocol unless it is related to RWA algorithms, which leads to a great deal of source code reduction and optimization being possible. This fact makes Hegons work much faster in producing usable results that can help researchers in the field. The following is a list of the main features:
- Supports practically unlimited number of nodes in a network. (2 billion)
- Supports practically unlimited number of wavelengths per link. (2 billion)
- Typically, can simulate more than 18 million calls per minute on a 2Ghz PC.
- Currently Supports 3 types of nodes (OXCs).
1. Non Grooming node.
2. Single-Hop Grooming node.
3. Multi-Hop Full Grooming node.
- Each node can optionally be a wavelength converter node.
- 4 wavelength assignments (WA) algorithms:
1. First Fit (FF)
2. Random (R)
3. Most Used (MU)
4. Least Used (LU) - Fixed Alternate Routing (FAR) is supported with 4 different ordering algorithms: FF, R, MU, LU
- Shortest Path Routing (SPR) can be supported by using -mp:1 option.
- Call arrivals follow the poisson distribution.
- Can run multiple batches (separate simulation runs) automatically and find the average results of all batches.
- Three different methods to calculate the blocking probability. Can be controlled by modifying the BP_METHOD compiler directive.
- Average number of attempts for each call can be limited using the -at option.
- Maximum and minimum path length can be controlled.
- Maximum number of paths generated for each source to destination pair can be controlled
- Network description can be loaded from a file or can be feeded interactively by the user.
- Results can be saved to CSV (Comma Separated Values) files for easy batch running. CSV files can be then viewed in Excel and charts can be generated instantly.
Multi-hop Partial grooming nodes (OXCs) are planed for future versions. Least Loaded Routing is also coming soon.
Limitations and assumptions:
- The simulator supports only single fibre links.
- All wavelengths on all fibres can support the same maximum number of groomable time slots.
So far, the highest priority in the development of Hegons has been performance in terms of speed. I tried to optimized the code to make it run as fast a possible. Since there is always a tradeoff between speed and memory usage, Hegons can indeed consume a considerable amount of RAM. However, Hegons will not be memory hungry unless the network is really large (More than 100 nodes) with allot of links. Memory requirements grow exponentially with large networks as the simulator stores shortest paths from each source to each destination nodes.
Finally, The project is still under development. I’m always willing to hear from interested people. Your feedback is welcome.