126 research outputs found

    Traffic Management Applications for Stateful SDN Data Plane

    Get PDF
    The successful OpenFlow approach to Software Defined Networking (SDN) allows network programmability through a central controller able to orchestrate a set of dumb switches. However, the simple match/action abstraction of OpenFlow switches constrains the evolution of the forwarding rules to be fully managed by the controller. This can be particularly limiting for a number of applications that are affected by the delay of the slow control path, like traffic management applications. Some recent proposals are pushing toward an evolution of the OpenFlow abstraction to enable the evolution of forwarding policies directly in the data plane based on state machines and local events. In this paper, we present two traffic management applications that exploit a stateful data plane and their prototype implementation based on OpenState, an OpenFlow evolution that we recently proposed.Comment: 6 pages, 9 figure

    Stateful Data Plane Abstractions for Software-Defined Networks and Their Applications

    Get PDF
    RESUMÉ Le Software-Defined Networking (SDN) permet la programmation du rĂ©seau. Malheureusement, la technologie SDN actuelle limite la programmabilitĂ© uniquement au plan de contrĂŽle. Les opĂ©rateurs ne peuvent pas programmer des algorithmes du plan de donnĂ©es tels que l’équilibrage de charge, le contrĂŽle de congestion, la dĂ©tection de pannes, etc. Ces fonctions sont implĂ©mentĂ©es Ă  l’aide d’hardware dĂ©diĂ©, car elles doivent fonctionner au taux de ligne, c’est-Ă -dire 10-100 Gbit/s sur 10-100 ports. Dans ce travail, nous prĂ©sentons deux abstractions de plan de donnĂ©es pour le traitement de paquets Ă  Ă©tats (stateful), OpenState et OPP. OpenState est une extension d’OpenFlow qui permet la dĂ©finition des rĂšgles de flux en tant que machines Ă  Ă©tats finis. OPP est une abstraction plus flexible qui gĂ©nĂ©ralise OpenState en ajoutant des capacitĂ©s de calcul, permettant la programmation d’algorithmes de plan de donnĂ©es plus avancĂ©s. OpenState et OPP sont Ă  la fois disponibles pour les implĂ©mentations d’haute performance en utilisant des composants de commutateurs hardware courants. Cependant, les deux abstractions sont basĂ©es sur un choix de design problĂ©matique : l’utilisation d’une boucle de rĂ©troaction dans le pipeline de traitement des paquets. Cette boucle, si elle n’est pas correctement contrĂŽlĂ©e, peut nuire Ă  la cohĂ©rence des opĂ©rations d’état. Les approches de verrouillage de la mĂ©moire peuvent ĂȘtre utilisĂ©es pour Ă©viter les incohĂ©rences, au dĂ©triment du dĂ©bit. Nous prĂ©sentons des rĂ©sultats de simulations sur des traces de trafic rĂ©elles, montrant que les boucles de rĂ©troaction de plusieurs cycles d’horloge peuvent ĂȘtre supportĂ©es avec peu ou pas de dĂ©gradation des performances, mĂȘme avec les charges de travail des plus dĂ©favorables. Pour mieux prouver les avantages d’un plan de donnĂ©es programmables, nous prĂ©sentons deux nouvelles applications : Spider et FDPA. Spider permet de dĂ©tecter et de rĂ©agir aux pannes de rĂ©seau aux Ă©chelles temporelles du plan de donnĂ©es (i.e., micro/nanosecondes), Ă©galement dans le cas de pannes Ă  distance. En utilisant OpenState, Spider fournit des fonctionnalitĂ©s Ă©quivalentes aux protocoles de plans de contrĂŽle anciens tels que BFD et MPLS Fast Reroute, mais sans nĂ©cessiter un plan de contrĂŽle.---------- ABSTRACT Software-Defined Networking (SDN) enables programmability in the network. Unfortunately, current SDN limits programmability only to the control plane. Operators cannot program data plane algorithms such as load balancing, congestion control, failure detection, etc. These capabilities are usually baked in the switch via dedicated hardware, as they need to run at line rate, i.e. 10-100 Gbit/s on 10-100 ports. In this work, we present two data plane abstractions for stateful packet processing, namely OpenState and OPP. These abstractions allow operators to program data plane tasks that involve stateful processing. OpenState is an extension to OpenFlow that permits the definition of forwarding rules as finite state machines. OPP is a more flexible abstraction that generalizes OpenState by adding computational capabilities, opening for the programming of more advanced data plane algorithms. Both OpenState and OPP are amenable for highperformance hardware implementations by using commodity hardware switch components. However, both abstractions are based on a problematic design choice: to use a feedback-loop in the processing pipeline. This loop, if not adequately controlled, can represent a harm for the consistency of the state operations. Memory locking approaches can be used to prevent inconsistencies, at the expense of throughput. We present simulation results on real traffic traces showing that feedback-loops of several clock cycles can be supported with little or no performance degradation, even with near-worst case traffic workloads. To further prove the benefits of a stateful programmable data plane, we present two novel applications: Spider and FDPA. Spider permits to detect and react to network failures at data plane timescales, i.e. micro/nanoseconds, also in the case of distant failures. By using OpenState, Spider provides functionalities equivalent to legacy control plane protocols such as BFD and MPLS Fast Reroute, but without the need of a control plane. That is, both detection and rerouting happen entirely in the data plane. FDPA allows a switch to enforce approximate fair bandwidth sharing among many TCP-like senders. Most of the mechanisms to solve this problem are based on complex scheduling algorithms, whose feasibility becomes very expensive with today’s line rate requirements. FDPA, which is based on OPP, trades scheduling complexity with per-user state. FDPA works by dynamically assigning users to few (3-4) priority queues, where the priority is chosen based on the sending rate history of a user

    A Model-based Approach for Designing Cyber-Physical Production Systems

    Get PDF
    The most recent development trend related to manufacturing is called "Industry 4.0". It proposes to transition from "blind" mechatronics systems to Cyber-Physical Production Systems (CPPSs). Such systems are capable of communicating with each other, acquiring and transmitting real-time production data. Their management and control require a structured software architecture, which is tipically referred to as the "Automation Pyramid". The design of both the software architecture and the components (i.e., the CPPSs) is a complex task, where the complexity is induced by the heterogeneity of the required functionalities. In such a context, the target of this thesis is to propose a model-based framework for the analysis and the design of production lines, compliant with the Industry 4.0 paradigm. In particular, this framework exploits the Systems Modeling Language (SysML) as a unified representation for the different viewpoints of a manufacturing system. At the components level, the structural and behavioral diagrams provided by SysML are used to produce a set of logical propositions about the system and components under design. Such an approach is specifically tailored towards constructing Assume-Guarantee contracts. By exploiting reactive synthesis techniques, contracts are used to prototype portions of components' behaviors and to verify whether implementations are consistent with the requirements. At the software level, the framework proposes a particular architecture based on the concept of "service". Such an architecture facilitates the reconfiguration of components and integrates an advanced scheduling technique, taking advantage of the production recipe SysML model. The proposed framework has been built coupled with the construction of the ICE Laboratory, a research facility consisting of a full-fledged production line. Such an approach has been adopted to construct models of the laboratory, to virtual prototype parts of the system and to manage the physical system through the proposed software architecture

    Design of digital systems

    Get PDF

    Compiling and optimizing spreadsheets for FPGA and multicore execution

    Get PDF
    Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2007."September 2007."Includes bibliographical references (p. 102-104).A major barrier to developing systems on multicore and FPGA chips is an easy-to-use development environment. This thesis presents the RhoZeta spreadsheet compiler and Catalyst optimization system for programming multiprocessors and FPGAs. Any spreadsheet frontend may be extended to work with RhoZeta's multiple interpreters and behavioral abstraction mechanisms. RhoZeta synchronizes a variety of cell interpreters acting on a global memory space. RhoZeta can also compile a group of cells to multithreaded C or Verilog. The result is an easy-to-use interface for programming multicore microprocessors and FPGAs. A spreadsheet environment presents parallelism and locality issues of modem hardware directly to the user and allows for a simple global memory synchronization model. Catalyst is a spreadsheet graph rewriting system based on performing behaviorally invariant guarded atomic actions while a system is being interpreted by RhoZeta. A number of optimization macros were developed to perform speculation, resource sharing and propagation of static assignments through a circuit. Parallelization of a 64-bit serial leading-zero-counter is demonstrated with Catalyst. Fault tolerance macros were also developed in Catalyst to protect against dynamic faults and to offset costs associated with testing semiconductors for static defects. A model for partitioning, placing and profiling spreadsheet execution in a heterogeneous hardware environment is also discussed. The RhoZeta system has been used to design several multithreaded and FPGA applications including a RISC emulator and a MIDI controlled modular synthesizer.by Amir Hirsch.M.Eng

    Decomposition and encoding of finite state machines for FPGA implementation

    Get PDF
    xii+187hlm.;24c
    • 

    corecore