Hallo,
Leider sind meine Informatik Kenntnisse nich so gut da ich nur einpaar Informatikvorlesungen als Nebenfach hatte.
Im Allgemeinen brauch ich eine Ablauplanung für recht einfache Berechnungen. Der Prozessor den ich verwende kann z.b. nur 3 Multiplikationen auf einmal und sechs Additionen..... ich muss also schauen, dass ich pro Rechenschritt nicht die Ressourcen überschreite und die Ressourcen die insgesamt da sind für die Lösung des gesamten Problems möglichst gut verteile.
Ein einfaches Beispiel:
Calculation = ( ( a * b ) + ( c + d ) / e ) / f * Cos[g]
Diese Rechnung will ich nun durch einen Algorithmus schicken der mir dann eine Ablaufplanung ausgiebt.
Auf den ersten Blick sieht man, dass z.b. im ersten Zeitschritt die Multiplikation von a*b , die Addition von c+d und der Cosinus von g berechnet werden könnten.
Von Hand ist eine Ablaufplanung in der Art denkbar:
First time step:
1a: a * b = S1a
1b: c + d =S1b
1c: Cos[g] = S1c
Second time step:
2a: S1b / e = S2a
Third time step:
3a: S1a + S2a = S3a
Fourth time step:
4a: S3a * S1c = S4a
Fifth time step:
5a: S4a / f = FINISED
Was hier natürlich wichtg für alle Berechnungen dieser Art ist, dass mein Prozesser nur beschränkte Ressourcen hat und auch die unterschiedlichen Berechnungen unterschiedlich viel Zeit brauchen. Ein Cosinus dauert bei mir z.b. ca. 30 Clocks... eine Addition nur 5 Clocks.
Das sind wohl erstmal genügend Anregungen zu meinem Problem, das natürlich schon sehr oft gelöst wurde... leider noch nicht von mir. Über einpaar Hilfestellungen würde ich mich freuen. Vielleicht gibt es ja schon diverse Tools die das können. Ich verwende für fast alles was ich mache Mathematica.
Im Anhang noch eine kleine graphische Ausgabe für das Beispiel, die automatisch mit Mathematica generiert wurde.
Wenn ich sowas hätte angepasst auf meine Ressourcen wäre das super.