Closed BeethovenKodar closed 5 months ago
There are no values in these examples because the SDF application arrives with no declaration of minimum throughput! Therefore they have nothing. The unit in this case is "Firings of the actor per second", specifically. This is because SDF has a constant ratio between firing of a an actor and data produced/consumed.
The unit is seconds! I basically try to use SI (international units) everywhere possible because it eliminates problems of questions etc. Of course we sometimes bastardize the numbers so that they become clock cycles, but that is our "abuse" of it :).
Okay! Are they located somewhere else if not in that desicion model?
In ForSyDe IO there must be a way to specify this design constraint of having a throughput... we need to check the identification rules to see what (if anything) is being used as a demarcation of a minimum throughput. Once I am done with #34 , then I can come back on this one.
I meant, the json file I posted as a decision model as one possible location for the resulting value. I don't want to specify a min th constraint I just want to access invThroughput via some file, if there is one somewhere after exploration. If there is no such data to collect I can read it from stdout no problem!
Is the invThroughput
here actually the throughput? Otherwise, it is extremely bad performing right? 1/6980 firings of the actor per second seems off?
Written dominant AperiodicAsynchronousDataflowToPartitionedMemoryMappableMulticoreAndPL with objectives: invThroughput(Actor_2): 6980, nUsedPEs: 2, invThroughput(Actor_1): 6980
However, it seems like this is the inverse after all given these two solutions that constitute the Pareto front:
[2024-05-23T16:53:53Z DEBUG] Written dominant AperiodicAsynchronousDataflowToPartitionedMemoryMappableMulticoreAndPL with objectives: invThroughput(Actor_2): 11, invThroughput(Actor_1): 11, nUsedPEs: 2
[2024-05-23T16:53:53Z DEBUG] Written dominant AperiodicAsynchronousDataflowToPartitionedMemoryMappableMulticoreAndPL with objectives: invThroughput(Actor_2): 46, nUsedPEs: 1, invThroughput(Actor_1): 46
Closing in favor of #37
When investigating the solution's throughput in e.g. in
body_0_AperiodicAsynchronousDataflowToPartitionedMemoryMappableMulticoreAndPL_Orchestratror.json
, there are no values inprocess_minimum_throughput
. It's not a big deal however, it can be derived from idesyde's stdout throughinvThroughput
. However, I wonder: what is the unit? Tokens (of channel's element size) per second?Also, for
best/average/worst_execution_times
, what is the unit? Cycles?