Scheduler performance optimization
The scheduler is responsuble for ordering the execution of a large number of a algorithms across two heterogeneous multi core platforms. It has to handle many special calibration and initialization modes. There were several activity diagrams scheduling for different time constraints.
The scheduler was measured to have a significant cost of about 10% of the total runtime.
1. Simplification of the communication
The scheduler was developed using AUTOSAR provide and request ports. This imposed too much overhead since only the results of a single event, the latest finished task, were necessary.
2. Custom activity diagram code
The IBM Rational Rhapsody code generator has proven insufficient, introducing too many layers of indirecetion.
The activity diagram was reproduced by a modified state machine with transitions requiring a set of conditions (finished algorithms) instead of events.