Research Article

Performance Analysis of Multilayered Multipriority Asymmetric-Sized Delta Networks

Algorithm 2

Unicast-forwarding for multilayered, multipriority MINs.
Unicast-Forwarding (csid, clid, nlid, sqid, aqid, prid)
Input: Current Stage_id (csid); Current and Next Stage Layer_id (clid, nlid) of Send- and Accept-Queue/s respectively;
     Send-Queue_id (sqid) of Current Stage; Accept-Queue_id (aqid) of Next Stage; Priority_id (prid).
Output: Population for Send- and Accept-Queues (Pop); total number of Serviced and Blocked packets for Send-
        (Serviced, Blocked) respectively; total number of packet delay cycles for Send-Queue (Delay);
        Routing Address RA of each buffer position of queue
{
    if (Pop[aqid][csid+1][nlid][prid] = B[csid+1] [prid]) // Blocking State;
    // where B[csid+1] [prid] is the buffer-size of the prid-class Accept-Queue of Next Stage csid + 1
        Blocked[sqid][csid][clid][prid] = Blocked[sqid][csid][clid][prid] + 1;
   else // unicast-forwarding
   {
      Serviced[sqid][csid][clid][prid] =       Serviced[sqid][csid][clid][prid] + 1;
      Pop[sqid][csid][clid][prid] = Pop[sqid][csid][clid][prid] − 1;
      Pop[aqid][csid + 1][nlid][prid] = Pop[aqid][csid + 1][nlid][prid] + 1;
      RA[aqid][csid + 1][nlid][prid][Pop[aqid][csid+1][nlid][prid]] = RA[sqid][csid][clid][prid] [1];
      for (bfid =1; bfid ≥Pop[sqid][csid][clid][prid]; bfid++)
          RA[sqid][csid][clid][prid][bfid] = RA[sqid][csid][clid][prid][bfid+ 1]; // where RA is the Routing Address
          // of the packet located at (bfid)th position of Send-Queue
  }
 Delay[sqid][csid][clid][prid] = Delay[sqid][csid][clid][prid] + Pop[sqid][csid][clid][prid];
 return Pop, Serviced, Blocked, Delay, RA;
}