Multi-threading, Multi-core issues
Today multi-core systems are common, even in embedded systems. However if your software is too much serialized, multi-core functionality will not enhance performance. Parallelized software and thus multi-threading is a solution here, but how do you assure that deadlines are respected and data does not corrupt?
For legacy code this can be even more difficult, as it happens a lot that protection is handled implicitly by thread prioritization. Of course such mechanisms do not work anymore on multi-CPU systems!
Ok, there is the eternal discussion about your deadlines: are thy hard or soft real-time? This discussion is however theoretical, the real question is if your product is real-time enough for your customers.
We define this as economical real-time!
If you develop a printer where each two/three pages there is a print error introduced by deadline misses, then your printer will never be accepted on the market. If there is a print error each 10000 pages or so, then nobody will notice you missed is deadline. Conclusion is that a product should be real-time enough to be accepted in the market
What can Luperco do?
- We can help you to make correct decisions.
- We can provide knowledge to your engineers for making your products better.
- The services we deliver can go from a couple of brainstorm sessions up to a complete analysis with a multi-threaded system design by using CASE tools.