Hello
can anyone explain what a multistack is and what dynamic scheduling is because it stands in the erika brochoure.
best regards
Multistack and dynamic scheduling
Moderator: paolo.gai
Re:Multistack and dynamic scheduling
Hi,
ERIKA Enterprise has been designed with low code and data footprint in mind.
To do that, ERIKA implements immediate priority ceiling, stack resource policy and preemption thresholds.
For that reason, ERIKA provides two ways of operation:
- Monostack : all the threads share the same stack, no blocking primitives are allowed.
- Multistack : the system handles different stacks, typically one for each extended task, one for ISRs, and one for all the absic tasks.
The idea is that a monostack configuration is more efficient compared with a multistack configuration, in terms of footprint (from around 1100 bytes to 800), registers to be saved (monstack configuration does not save the registers for the CPU context), overhead (1-4 usec per call).
With dynamic scheduling we intend the fact that ERIKA implements an optimized version of Earliest Deadline First (EDF).
I hope this helps...
Paolo
ERIKA Enterprise has been designed with low code and data footprint in mind.
To do that, ERIKA implements immediate priority ceiling, stack resource policy and preemption thresholds.
For that reason, ERIKA provides two ways of operation:
- Monostack : all the threads share the same stack, no blocking primitives are allowed.
- Multistack : the system handles different stacks, typically one for each extended task, one for ISRs, and one for all the absic tasks.
The idea is that a monostack configuration is more efficient compared with a multistack configuration, in terms of footprint (from around 1100 bytes to 800), registers to be saved (monstack configuration does not save the registers for the CPU context), overhead (1-4 usec per call).
With dynamic scheduling we intend the fact that ERIKA implements an optimized version of Earliest Deadline First (EDF).
I hope this helps...
Paolo