SDFBufOpt
Search optimal schedule sequence of SDF graph with minimum total buffer requirementAbout
- In order to execute a SDF graph on multi-core systems, two problems should be resolved; mapping and scheduling. SDFBufOpt assumes node to processor mapping of input SDF graph is determined and searches optimal scedule sequence which minimize total buffer size requirement under given throughput constraint.
- Unlike other similler optimization methods, SDFBufOpt consider graph unfolding. Since, the maximum throughput of given SDF graph can be achieved only when the graph is unfolded in some case. To search optimal solution SDFBufOpt is implemented using ASP(Answer Set Programming) and CP(Constraint Programming). With ASP+CP, we can express the problem eaiser and more efficiently comparing the method using ILP.
- SDFBufOpt uses two ASP+CP program; graph and rule program. Graph program describes input SDF graph, mapping information, and architectural information. Rule program describes SDF semantic and schedule policy. The total buffer size requirement is also calcualted in rule program. With these two program ASP+CP solver program(clingcon) checks all possible schedule sequences and it's total buffer size requirement. Then the solver report the optimal solution.
Download
- Solver: clingcon / http://sourceforge.net/projects/potassco/files/clingcon/0.1.2/
- Rule Program: SDFBufOpt.lp
- Graph Program(example): example.lp
Usage
- clingcon -c dv=[throughput constraint] -c rc=[unfolding factor] SDFBufOpt.lp [graph program] --number=0
- (e.g.) clingcon -c dv=5 -c rc=2 SDFBufOpt.lp example.lp --number=0