You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@anshumanmohan describes a natural extension of Formal Abstractions' compilation procedure to handle non-work conserving behavior in discussion #16. The hope is that we can simply swap PIFOs in our tree for PIEOs to allow packets to live in our PIEO tree while remaining invisible until they're ready.
See issue #12 for an introduction to @KabirSamsi's work on PIEOs.
This issue is a concrete plan for formalizing PIEO trees and implementing them at the software level.
Thanks for getting this down; super helpful! I'm super excited, especially if it just works as elegantly as I am hoping. One quick thing to add after your last bullet point: test compilation "by eye", by generating scheduling graphs in the style of Formal Abstractions. That is:
Write a NWC algorithm using one tree shape, make a picture, and debug the algorithm until the picture looks convincing.
Compile to a different tree shape and make the same picture from that.
Please just edit your text above directly to include this.
In silly logistical land: feel free to convert certain bullet points into issues of their own and then assign them to yourself. I'll show you how in a sec!
@anshumanmohan describes a natural extension of Formal Abstractions' compilation procedure to handle non-work conserving behavior in discussion #16. The hope is that we can simply swap PIFOs in our tree for PIEOs to allow packets to live in our PIEO tree while remaining invisible until they're ready.
See issue #12 for an introduction to @KabirSamsi's work on PIEOs.
This issue is a concrete plan for formalizing PIEO trees and implementing them at the software level.
Extend Formal Abstractions for Packet Scheduling
Each of these tasks map cleanly to parts of Formal Abstractions, which are noted accordingly.
Write inference rules answering the following questions:
pop
a PIEO tree?push
to a PIEO tree? What is the data of apath
?simulation
for PIEO trees (§4)pop
is preserved (Lemmas 5.6 and 5.7 Formal Abstractions).push
is preserved (Lemmas 5.8 and 5.9 in Formal Abstractions).Hopefully, by the end of all this, Theorems 6.1 and 6.2 can be used as is.
Done via #35
Extend pifo-trees-artifact
lib/path.ml
to accommodate the semantics and structure of PIEO trees (not necessary)lib/pieotree.ml
andlib/pieotree.mli
and implement a PIEO tree in itlib/control.ml
andlib/alg.ml
to build NWC algorithms via PIEO treesDone via #1 in schedulers-in-ocaml
The text was updated successfully, but these errors were encountered: