I’ve been invited to join the wonderful team. gathers a huge community of networking professionals. Offering expert advice via their forums and valuable networking information in other sections as well. Among several services, offers the “World’s First Free Online Cisco Lab” using REAL cisco equipment. The site is recommended by the Cisco Networking Academy and has received several recognitions from other prestigious parties as well. So now I’m part of the team, moderating forums as S0lo !!

DiskSims 1.1 Beta

DiskSims Beta v1.1 released. New features include:

– Added Rotational latency support. The simulation is more realistic now accounting for spin time. This feature can be optionally turned ON or OFF by the defining or un-defining the RLATENCY directive in the code.
– Manual request entry supports rotational latency by allowing request block numbers to be entered in addition to cylinder numbers.
– Ability to use multiple simulator versions (builds). For example, you can compile the (schedule) simulator engine with your own modified version of the SSTF algorithm and compare the results with the original SSTF version. DiskSims displays the list of executable simulators that you can use.
– Few other minor fixes

Hegons v0.3 Beta

Hegons Beta version 0.4 released.

– Optionally, Converter nodes can now try the same chosen channel from the previous node before doing conversion. In other words, the converter node will first act as a non-converter node, if the channel fails only then it will do conversion. You can use this option simply by #defining TRY_PREV_CHANNEL directive in the code. The purpose of this feature is to try to reduce the blocking probability by trying to maintain the same wavelengths chosen along light paths. Unfortunately, it doesn’t always seam to do very well. However, In later versions I might introduce a conversions counter (so you can know how many conversions are being done) and converter limits. In real networks, converter nodes might have a limit on the number of conversions that can be done simultaneously. The new feature can help in reducing the number of simultaneous conversions that are being done.

DiskSims 1.0 Beta

Release of DiskSims 1.0 Beta with source code. Added disk properties dialog box. Hard disk internal geometry can be defined more accurately. The project is now posted in sourceforge here.

I know this release may be a bit of a surprise, since I was working on Hegons and (according to my last post) I should be busy with the SPECTS conference. Unfortunately I couldn’t get a vacation/funding for it 🙁 So cancelled my visit. well, At least the paper is published.


spects2007_promo-1A paper I have written with my friend Fadi and Dr.Sami on wireless sensor networks has been accepted to be released in SPECTS 2007 conference in San Diego. I’m looking forward to going there.  The paper named “Impact of Dynamic Channel Assignment on Blocking Probability in Ad Hoc Wireless Sensor Networks” is my first published paper. Although I don’t consider it the best work I’ve done yet. I’m currently working on a paper on optical networks hopefully to be published soon.

Hegons v0.3

Hegons Beta version 0.3 released.

– New node type 4, “Multi-hop Partial Grooming” nodes. As far as I know, This makes Hegons the first simulator that explicitly supports these types of nodes. A Partial Grooming node has 2 cores connected to together, a W-fabric and a G-fabric. A W-fabric is an all optical core just like a non-grooming node. a G-fabric is a wavelength converting full grooming core. Both cores can receive incoming and outgoing calls. Optionally, the W-fabric can be wavelength converting.
– A partial grooming node can have MULTIPLE G-fabrics. This is a new concept that has never been discussed in the literature.
– The RWA method chosen will be applied internally in the nodes between W and G fabrics as well as externally. In other words, the cores are treated as normal nodes when doing RWA. This has been the case also when doing internal RWA for Single-hop grooming nodes. i.e. between the cores and the grooming ports.
– Added -px and -pn options for controlling max/min number of times G-fabric switchings are done per call.
– Few other minor fixes and changes.

Hegons v0.2

Hegons Beta version 0.2 released. Added -ll and -ml options for “Least Loaded Routing (LLR)” and “Most Loaded Routing (MLR)”. For the grooming case, The simulator assumes the path with the least (or most) number of time slots used to be the least (or most) loaded path. However, those 2 methods are still not well defined for the grooming case in the literature.


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.

1 2 3