Multicore processors are the norm today in desktop computing, servers, and mobile computing. Many software developers are increasingly interested in using multicore processors in critical applications to achieve more computing power with lower power consumption, smaller physical size, and higher reliability. But such applications pose
additional hard real-time requirements on the software's design and operation.
In such applications, one of the main challenges that software developers face is that the timing of software depends on how low-level hardware resources, such as the memory system, are allocated when requested to support the software's execution. This brochure explores such challenges as well as possible solutions in allocating memory.