Giter Club home page Giter Club logo

Comments (3)

ACassimiro avatar ACassimiro commented on September 6, 2024

Initially, unicast and multicast flows were structurally different in TSNsched, but now creating a flow as unicast only allows you to use the setEndDevice and addToPath methods, given that building a multicast flow is slightly more complicated. During the scheduling process, TSNsched converts the structure of all unicast flows to multicast, as a unicast flow is a multicast one that never branches, in order to use the same data structure for handling all data streams.

Let me know if you have any other questions.

from tsnsched.

Dddddd007 avatar Dddddd007 commented on September 6, 2024

Thank you for your answer.
In Port.java file, I find two modes: "useMicroCycles" and "useHyperCycle", but I do not find the implications of the two modes in your paper "TSNSCHED: Automated Schedule Generation for Time Sensitive Networking". Therefore, I want to know the difference between these two modes. It seems like "useMicroCycles" is the default mode?

from tsnsched.

ACassimiro avatar ACassimiro commented on September 6, 2024

Prior to the FMCAD publication we would use user-defined cycle sizes, but this is too error prone in real topologies, so we developed approaches for working around this issue. The hypercycle and microcycle are two modes of operation that tsnsched uses to automatically calculate the cycle sizes in the scheduling problem. It calculates it based in the periodicity of the flows. Microcycles use less transmission windows and the cycle size is calculated using the greatest common divisor of the periodicity of all flows that goes through the port of that cycle; it is less flexible with schedules but generates an output faster. Hypercycles use more transmission windows and the cycle size is equals to the least common multiple of the periodicities of all flows that go through the port of that cycle; it is more flexible with regards to scheduling capabilities but it is more computationally expensive and thus usually takes longer to provide a schedule. Most of the examples that we currently have use the same periodicity for all flows, thus there shouldn't be much difference in execution time and provided output.

For more information, you can take a look into section 4.4.7 of this document: https://repositorio.ufpb.br/jspui/bitstream/123456789/19914/1/AellisonCassimiroTeixeiraDosSantos_Dissert.pdf

from tsnsched.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.