Teamour Esmaeili Dep.of Computer Engineering DareShahr Branch, Islamic Azad University, Iran Ghazal Lak Dep.of Computer Engineering DareShahr Branch, Islamic Azad University, Iran Akram Noori Rad Dep.of Computer Engineering DareShahr Branch, Islamic Azad University, Iran AbstractP Networks on chips (NoCs) have been introduced as a remedy for the growing problems of current interconnection VLSI chips. Being a relatively new domain in research, simulation tools for NoCs are scarce. To fill the gap, we use network simulator NS-2 for simulating multi protocol label switching in NoCs, especially at high level chip design. in this paper, we discuss the difficulties Mechanisms for networks-on-chip by MPLS packet-forwarding technology. Index TermsPNetwork-on-Chip, Quality-of-service,mpls, Systems-on-chip (SoC). ~~~~~~~~~~ ~~~~~~~~~~ 1 INTRODUCTION ystems-on-chip (SoC) for multimedia or telecommuni- cation applications will contain a large number of processing elements (PEs) such as a DSP processor, RISC CPU, embedded RAM, graphics engine, etc. As a result, there is a need for high-throughput communica- tions links between these blocks. There exist many bus based SoCs which are widely used in industry such as AMBA [1], IBM Core-Connect [2], Pi-Bus [3], etc. During the last years, Networks-on-Chip (NoCs) have become a true alternative for the design of complex inte- grated Systems-on-Chip (SoC). Much effort has been spent for research on functionalities, mechanisms, and Quality-of-Service (QoS) features in NoCs [4]. We can view an NoC system platform as a very complex and multi-protocol network. As such, providing application- wide, end-to-end quality-of-service (QoS) is crucial for optimum system performance. System-wide performance constraints require predictability of inter-block communi- cation and QoS guarantees for the end-to-end communi- cation. QoS is characterized by diverse parameters, such as reliability, delay, jitter, bandwidth, packet loss, and throughput [5]. For this purpose, there are recovery mechanisms for MPLS-based protection label switching path (LSP), which are protection switching and rerouting models. Multi- Protocol Label Switching (MPLS) is an alternative to inte- grate the traditional Internet Protocol (IP) routing and switching technologies because it provides end-to-end Quality of Service (QoS), guarantees Traffic Engineering, and support Virtual Private Networks (VPNs). However, MPLS must use path restoration schemes to guarantee the delivery of packets through a network.[6] Multi-Protocol Label Switching (MPLS) is an alternative to integrate the traditional Internet Protocol (IP) routing and switching technologies because it provides end-to-end Quality of Service (QoS), guarantees Traffic Engineering, and sup- port Virtual Private Networks (VPNs). However, MPLS must use path restoration schemes to guarantee the deliv- ery of packets through a network. [7] The Node Architec- ture of MPLS is shown in Fig. 1. Packet-based interconnection networks, known as Net- work-on-Chip (NoC) architectures, are increasingly adopted in System-on-Chip (SoC) designs, which support numerous homogeneous and heterogeneous functional modules. Systems-on-chip (SoCs) for multimedia or tele- communication applications will contain a large number of process-ing elements (PEs) such as a DSP processor, RISC CPU, embedded RAM, graphics engine, etc. As a result, there is a need for high-throughput communica- tions links between these blocks. There exist many bus based SoCs which are widely used in industry such as AMBA [8], IBM Core Connect[9], Pi-Bus [10], etc. We can view a NoC system platform as a very complex and mul- S Figure 1. Fig.1. MPLS Node Architecture JOURNAL OF COMPUTING, VOLUME 4, ISSUE 6, JUNE 2012, ISSN (Online) 2151-9617 https://sites.google.com/site/journalofcomputing WWW.JOURNALOFCOMPUTING.ORG 174 ti-protocol net-work. As such, providing application- wide, end-to-end quality-of-service (QoS) is crucial for optimum system performance. QoS is characterized by diverse parameters, such as reliability, delay, jitter, bandwidth, packet loss, and throughput [11]. Fault- tolerance is fast becoming an integral part of system-on- chip and multi-core architectures. Another trend for such architectures is network-on-chip (NoC) becoming a stan- dard for on-chip global communication. In an earlier work, a generic fault tolerant routing algorithm in the context of NoCs has been presented. [12], [13]. 2 BACKGROUND 2.1 Routing mechanism Due to application of shortest possible path and tendency for convergence in IP networks congestion occurs in a part of network. To share bandwidth on links, Packets are classified into odd and even ones. 2.2 Fault Model There exist several dimensions in classifying the possible fault occurrences during the life cycle of an MPSoC. We list the classification as follows: - Duialion In leins of duration, the faults can be classi- fied into transient faults and permanent faults [14]. In the case of the MPSoC, both types of fault can occur in the chip life cycle. Crash failures are permanent faults which occur when a tile halts prematurely or a link disconnects, after having behaved correctly until the failure. Transient faults can be either omission failures, when links lose some messages and tiles intermittently omit to send or receive, or arbi- trary failures (also called Byzantine or malicious), when links and tiles deviate arbitrarily from their specification, corrupting or even generating spurious messages. [15] - Localion In geneiaI, MISoC designs consisl of lvo inle- grated parts, the Processing Elements (PEs) and Network- on-Chip (NoC). Faults can occur in both parts. In the case that a fault occurs in the PEs, the computation results will be erroneous. Dynamic fault detecting and masking ac- tions are needed to make sure the erroneous results will not contaminate the application environment. In the case that a fault occurs in the communication path, such as link failure and scrambled messages, a fault-tolerant communication protocol suite, including error-resilient coding schemes, are needed to ensure the reliable deliv- ery of on-chip messages on top of an unreliable on-chip communication substrate. - Tine lo IaiIuie IauIls can occui lhioughoul lhe Iifeline of an IC. Using the point when the chip is packaged and tested as the watershed event, we distinguish between before-shelf faults and after-shelf faults. Currently, chips with before shelf faults, i.e., defects which are discovered during testing, are invariably discarded. Only dies with no discovered defects are shipped out as products. With the shrinking feature size, it is becoming increasingly dif- ficult to achieve decent yield with reasonable cost. The low yield problem will become more acute for the 90nm technology and beyond. On the other hand, the potential yield of the manufactur- ing process can increase tremendously if some defects on the die can le loIeialed in lhe ICs aflei-shelf life. Static fault masking and isolation techniques, both hardware and software based, can be used to use these previously deemed ad chips in conneiciaI pioducls, such as Iico Chip [16]. For after-shelf faults, dynamic fault detection and recovery means are needed to ensure the correct function of the chip as long as possible. Furthermore, graceful deg- radation of system performance is necessary for some mission-critical Applications. 2.3 Fault Types - Permanent Faults : Crash failures are permanent faults which occur when a node halts prematurely or a link disconnects. Unlike the traditional network that a router can replace by the other, in NOCs lhe faiIed node canl le iepIaced oi noved lul this fault may at communication time, in IP or MPLS NOC occurred. A part of the ns-2 script file about constructing the Per- manent fault in NS-2 is shown as below: $ns rtmodel-at time1.0 down $switsh1 $switch2 - Transient Faults : In our simulation, since transient faults can be effectively corrected using the built-in checker processor during run- time, only permanent faults are modeled and we observe that the transient faults in multimedia was negligible, But we must to support bandwidth add delay for this applica- tion. 2.4 Quality of Service in Network on Chip New algorithms have been proposed in this domain to reduce power consumption and area requirements while Securing cost optimization [17]. One of the main concerns in NOC is to be able to reduce the latency of operation. Therefore, there are various levels of latency metrics that may be offered. Router architectures for supporting GT (Guaranteed Bandwidth) and BE (Best Effort) services have been proposed [18]. Network on Chip is likely to become an attractive alterna- tive for implementing SoCs for many application areas like real time multi-media applications. This implies that the underlying on-chip communication network will be required to provide deterministic bounds on delays and throughput for communication among some pairs of cores on the chip. [19] 2.5 QoS schemes in MPLS-NoC In most NoC implementations, all traffic types are treated by a network equally and are subject to similar deterioration during network congestion. For large-scale computer networks, QoS schemes were defined for the TCP/IP-based internet. The Integrated Service (IntServ) with the Resource Reservation Protocol (RSVP) was first JOURNAL OF COMPUTING, VOLUME 4, ISSUE 6, JUNE 2012, ISSN (Online) 2151-9617 https://sites.google.com/site/journalofcomputing WWW.JOURNALOFCOMPUTING.ORG 175 introduced, and this was followed by the Differentiated Services (DiffServ). - InlSeiv is veII suiled foi ieIiable real-time communi- cation and provides a connection-oriented distinction between flows. Connection-oriented communication is characterized by resource reservation. This means that flows must set up paths through the network and reserve resources at each network node. - DiffSeiv piovides diffeienl IeveIs of QoS lo each class by aggregating traffic into classes, and by schedul- ing packet forwarding for each class within the network. This results in a connectionless communication, which offers a better adaptation of communication to the vary- ing network traffic and a better utilization of network resources [20]. The MultiProtocol Label Switching (MPLS) technology has emerged as a connection-oriented protocol serving connectionless internet IP networks, and thus it provides the means for traffic engineering. This means that paths are set up for aggregated flows of a certain type between specified end points of the IP traffic. Also, DiffServ can support a scalable QoS. The combination of these two approaches leads to a scalable hard QoS on internet IP networks because MPLS creates paths that can be traffic engineered [21]. 3 SYSTEMARCHITECTURE 3.1 MPLS Components and terms This section gives an overview of the terms associated with the MPLS technology. a) Path - Label: Associates a packet to a FEC. - FEC (Forward Equivalence Class): A subset of packets that are all treated the same way by an LSR. - LSP (Label Switch Path): path that a packet fol- lows for a specific FEC. - Shim Header containing a Label Stack. - Label Stack: Multiple labels containing informa- tion on how a packet is forwarded. b) Routers - LSR (Label Switched Router) an MPLS capable router. - LER (Label Edge Router): route traffic and are Used as an interface between layer 2 networks and an MPLS core network. c) Protocol - LDP (Label Distribution Protocol): used to dis- tribute Label information between MPLS-aware network devices. - CR-LDP (constraint-based LDP): contains exten- sions for LDP to extend its capabilities. This allows ex- tending the information used to setup paths beyond what is available for the routing protocol. d)Rerouting mechanism (Fault Recovery mechanism): The most common reconfigurable fault recovery mecha- nisms are Haskin, Makam, Simple Dynamic and Shortest Dynamic. 3.2 Path Restoration Categories The implementation of MPLS in reconfigurable systems must include a solution to a path or route failure, and thus the inclusion of path restoration schemes in this im- plementation is necessary. These schemes are based on the kind of failure and each one has characteristics that make it preferable over others [22], [23]. These schemes forward traffic around a failure in a primary route and their objective is to minimize the time of establishment of the alternate route and avoid the excessive lost of infor- mation. These schenes lased on iepaii aclivalion and piolec- lion configuialion paianeleis can le cIassified inlo lhe following categories: 1) repair activation (Scope of recovery) a) Local Repair Minimizes the amount of time required for failure prop- agation. Hence, if the restoration can be realized in local manner it can be accomplished faster. b) Global Repair The recovery is being performed by the head-end (where the LSP is initiated). The nodes and links along the pri- mary route are protected by one restoration route. In case of failure, the restoration scheme sends a Failure Indica- tion Signal (FIS) to the ingress LSR node (also known as LER), and when it receives this FIS the alternate route is activated from this node. 2) protection configuration MPLS protection may be pre-negotiated or dynamic. The pre-negotiated approach involves pre-established backup paths and is fast and costly. The dynamic protection does not reserve resources. The dynamic protection improves resource utilization at the cost of recovery time. 3.3 Path Restoration Schemes 3.3.1 Shortest dynamic Scheme This scheme uses local repair and dynamic activation. Fig.2. Shortest dynamic Scheme in MPLS-NoC JOURNAL OF COMPUTING, VOLUME 4, ISSUE 6, JUNE 2012, ISSN (Online) 2151-9617 https://sites.google.com/site/journalofcomputing WWW.JOURNALOFCOMPUTING.ORG 176 Hence the alternate route is established when the point of failure is detected. When a failure in the primary route occurs, this scheme finds an alternate route that continues from the node that detects the failure to the nearest node that connected previously to the failure node. This scheme in MPLS-NoC has been shown in fig 2. 3.3.2 Simple dynamic Scheme This scheme is similar to shortest dynamic, but when a failure in the primary route occurs, it finds an alternate route, from the failure node to the Egress node. This scheme in MPLS-NoC has been shown in fig 3. 3.3.3 Haskin Scheme This restoration scheme uses alternate routes previously established with local repair. One of the requirements of this method is that the network topology allows the estab- lishment of the alternate route between the ingress and egress LSRs (also known as LER) of the LSP tunnel, in such way that the alternate LSP does not share any re- source with the route to be protected [24]. The main idea of this scheme is to return the traffic from the point of failure on the protected LSP to the ingress LSR so that the traffic could be redirected through an alternate route be- tween the ingress LSR and the egress LSR of the protected tunnel [25]. This scheme in MPLS-NoC has been shown in fig 4. 3.3.4 Makam Scheme (Global Protection) This scheme uses global repair and allows dynamic and pre-negotiated activation of the alternate route. However, the dynamically established alternate routes add more time to the restoration operation compared with the pre-negotiated activation [25]. Makam Scheme (Global Protection) in MPLS-NoC been shown in fig 5. 4 SIMULATION METHODOLOGY 4.1 Simulating NoCs with NS-2 A SoC design process involves three major stages; Behav- ioral design, Structural design and Physical design [26]. The behavioral design specifies the functionality of the system at higher level of abstractions, whereas structural and physical design view reduces the abstraction level to logic gate and transistor level respectively. At behavioral design level, a SoC is realized as a collection of compo- nents which are modeled as blocks and connections along with protocols that govern the communication. Consider- ing the above mentioned scenario, it is clear that NS-2 is a perfect candidate for simulating and evaluating NoCs at behavioral design level. The individual blocks of a NoC are defined as "nodes'' and connections as "links'' in NS-2. Similarly, protocols can be defined over the blocks as "agents'' with relevant applications if any. Using the graphical animation of NS-2 (NAM), the behav- ior of the protocols can be observed interactively. It is quite convenient to realize various regular as well as ir- regular topologies using the TCL scripting language used in NS-2. Any form of topology ranging from mesh, torus, fat tree to even a fully connected network can easily be created in NS-2. In contrast to traditional networks, a NoC has considerably short distance wires (4.5 mm in a 20mm x 20mm chip, for instance) and very large band- Fig.3. Simple Dynamic Scheme in MPLS-NoC Fig.4. Haskin Scheme in MPLS-NoC. Fig.5. Makam Scheme (Global Protection) in MPLS-NoC JOURNAL OF COMPUTING, VOLUME 4, ISSUE 6, JUNE 2012, ISSN (Online) 2151-9617 https://sites.google.com/site/journalofcomputing WWW.JOURNALOFCOMPUTING.ORG 177 width (ranging from 8 Gbits/sec to 16 Gbits/sec). This can be realized by setting the link delay and bandwidth attributes of the links accordingly in NS-2. 4.2 NS-2 network simulator NS-2 is an open source, object-oriented and discrete event driven network simulator written in C++ and OTcl. Its a very common and widely used tool to simulate small and large area networks. Due to similarities between NoCs and networks, NS-2 has been a choice of many NoC re- searchers to simulate and observe the behavior of a NoC at a higher abstraction level of design. It has a huge vari- ety of protocols and various topologies can be created with little effort. Moreover, customized protocols for NoCs can easily be incorporated into NS-2. The parameters for routers and links can easily be scaled down to reflect the real situation on a chip. Based on this fact, we have successfully simulated a hundred node 2D mesh based NoC using our reliable protocol for safe delivery of packets. The purpose of this paper is to show the network com- munity the similarities that exist between general net- works and NoCs and show how NS-2 is facilitating the NoC designers to realize new design paradigms for this novel communication architecture. Furthermore, we hope that this paper would motivate network researchers to make a valuable contribution toward NoCs, hence open- ing a new dimension of research. NS-2 is an object-oriented, discrete event driven network simulator developed at UC Berkely and written in C++ and OTcl [27]. NS-2 is a very common tool used for simulating local and wide area networks. It implements network protocols such as TCP and UPD; traffic source behavior such as FTP, Telnet, Web, CBR and VBR; router queue manage- ment mechanism such as Drop Tail, RED and CBQ; rout- ing algorithms such as Dijkstra, and a lot more. NS-2 also implements multicasting and some of the MAC layer pro- tocols for LAN simulations. The simulator is open source, hence, allowing anyone and everyone to make changes to the existing code, besides adding new protocols aand functionalities to it. This makes it very popular among the networking community which can easily evaluate the functionality of their new proposed and novel designs for network research. The simulator is developed in two lan- guages: C++ and OTcl. C++ is used for detailed imple- mentations of protocols like TCP or any customized ones. TCL scripting, on the other hand, is the front-end inter- preter for NS-2 used for constructing commands and con- figuration interfaces. For example, if you want to develop a new routing protocol, you have to write it in C++ and add it into the NS-2 library. In order to check the func- tionality of this protocol, you use TCL scripting through which you can create the required topology, define pa- rameters for links and nodes, and perform simulations to realize your own protocol in action. Besides above mentioned functionality of NS-2, a Net- work AniMator (NAM) is also provided with NS-2 in order to visualize and interact with the system at run- time. Finally, graphs can be created from the produced results to evaluate and analyze the performance of the system. REFERENCES [1] J. Park, I. Kim, S. Kim, S. Park, B. Koo, K. Shin, K. Seo, and }. Cha, MILC-4 video codec on an ARM core and AMA, in Iioc. Of Woikshop and Exhibition on MPEG-4, Jun. 2001, pp. 95-98. [2] R. Hofnann and . Dieiup, Nexl geneialion Coie- Connect processor local bus architecture, in 15th Annual IEEE International ASIC/SOC Conference, Sep. 2002, pp. 221-225. [3] C. Roaik and I. }ackson, Nev deveIopnents in a PI- us specificalion ly lhe }IAWC and SAL, in Iioc. of the IEEE National Aerospace and Electronics Confer- ence, vol. 2, May 1992, pp. 760 - 766. [4] S. Kubisch, C. Cornelius, R. Hecht, D. Timmermann, Mapping a IipeIined Dala Ialh onlo a Network-on- Chip, Univeisily of Roslock, Inslilule of AppIied Microelectronics and Computer Engineering, 4-6 July 2007 Industrial Embedded Systems, 2007. [5] M. Harmanci, N. Escudero, Y. Leblebici, and P. Ienne, Quanlilalive nodeIIing and conpaiison of connu- nication schemes to guarantee quality-of-service in networks-on-chip, in ILLL InleinalionaI Synposiun on Circuits and Systems, vol. 2, May 2005, pp. 1782- 1785. [6] M. Minero-Muoz, V. AIaicon-Aquino, Reconfigur- able Path Restoration Schemes for MPLS Netvoiks, Infocomp Journal of Computer Science, Vol. 8, No2, June 2009; pp. 29-38. [7] M. MINERO-MUNOZ, V. ALARCON-AQUINO, ReconfiguialIe Ialh Resloialion Schenes foi MILS Nelvoiks ,Depailnenl of Conpuling, LIeclionics, and Mechatronics Communications and Signal Proc- essing Research Group UDLAP - Sta. Catarina Martir, Cholula Puebla MEXICO, April 26, 2009. [8] J. Park, I. Kim, S. Kim, S. Park, B. Koo, K. Shin, K. Seo, and }. Cha,MILC-4 video codec on an ARM core and AMA, in Iioc. Of Woikshop and Lxhililion on MPEG-4, Jun. 2001, pp. 95-98. [9] R. Hofnann and . Dieiup, Nexl geneialion Coie- Connect processor local bus architecture, in 15th Annual IEEE International ASIC/SOC Conference, Sep. 2002, pp. 221-225. [10] C. Roaik and I. }ackson, Nev deveIopnenls in a II- Bus specihcalion ly lhe }IAWC and SAL, in Iioc. of the IEEE National Aerospace and Electronics Confer- ence, vol. 2, May 1992, pp. 760 - 766. [11] M. Harmanci, N. Escudero, Y. Leblebici, and P. Ienne, Quanlilalive modelling and comparison of commu- nication schemes to guarantee quality-of-service in networks-on-chip, in ILLL International Symposium on Circuits and Systems, vol. 2, May 2005, pp. 1782- 1785. [12] S. D. Mediialla, }. Diapei, Ieifoinance LvaIuation of Probe-Send Fault-tolerant Network-on-chip Rou- ter , 2007 IEEE [13] S.D. Mediratta, J. Diapei, Chaiacleiizalion of a Fault-tolerant NoC Router, 2007 IEEE. [14] D. K. Pradhan. Fault-Tolerant Computer System De- JOURNAL OF COMPUTING, VOLUME 4, ISSUE 6, JUNE 2012, ISSN (Online) 2151-9617 https://sites.google.com/site/journalofcomputing WWW.JOURNALOFCOMPUTING.ORG 178 sign. Prentice-Hall, Inc., 1996. [15] A. Dumitras, "On-Chip Stochastic Communication", Electrical and Computer Engineering, May 1st, 2003 [16] W. Robbins. Redundancy and binning of picoChip processors. Fall Processor Forum, 2004, San Jose, CA. [17] P. Bhojwani, R. Mahapatra, J. K. Eun, and T. Chen, A heuiislic foi peak povei consliained design of network-on-chip (NoC) lased nuIlinode syslens, Proc. IEEE International Conference on VLSI De- sign, pp. 124-129, 2005. [18] E. Rijpkema, K. Goossens, A. Radulescu, J. Dielissen, J. van Meerbergen, P. Wielage, and E. Waterlander, Tiade-offs in the design of a router with both guaranteed and best-effort services for networks on chip, ILL Iioc. on Conpuleis and DigilaI Tech- niques, vol. 150, Issue 5, pp. 294-302, September 2003. [19] M. Sgroi, et al, "Addressing the System-on-a-Chip Interconnect Woes Through Communication-based Design", 38th Design Automation Conference, June, 2001. [20] M. Harmanci, N. Escudero, Y. Leblebici, and P. Ienne, Iioviding QoS lo conneclion-less packet-switched NoC ly inpIenenling DiffSeiv funclionaIilies, in Proc. of the International Symposium on System-on- Chip, Nov. 2004, pp. 37-40. [21] V. Finebeig, C. Chen, and X. Xiao, An end-to-end QoS architecture with the MPLS-lased coie, in ILLL Workshop on IP Operations and Management, 2002, pp. 26-30. [22] Alarcon-Aquino, V. and Martinez-Suarez, J. C. Intro- duction to MPLS Networks (in Spanish). El Cid Edi- tor, December 2006. [23] Petersson, J. M. O. MPLS based recovery mecha- nisns. Masleis lhesis, Univeisily of OsIo, Noivay, May 2005. [24] Haskin, D. and Krishman, R. A method for setting an alternative label switched path to handle fast reroute, November 2000. Internet Draft, Drafthaskin-mpls- fast-reroute-05.txt. [25] M. Minero-Muoz, V. AIaicon-Aquino, Reconfigur- able Path Restoration Schemes for MPLS Netvoiks, Infocomp Journal of Computer Science, Vol. 8, No2, June 2009; pp. 29-38. [26] Rochit Rajsumman, "System-on-a-chip: Design and Test'', Artech House Publishers, 2000. [27] Network Simulator (NS-2) web site: http://www- mash.cs.berkeley.edu/ns. JOURNAL OF COMPUTING, VOLUME 4, ISSUE 6, JUNE 2012, ISSN (Online) 2151-9617 https://sites.google.com/site/journalofcomputing WWW.JOURNALOFCOMPUTING.ORG 179