Code sharing in shared memory systems?

Joel Sherrill joel.sherrill at OARcorp.com
Wed May 6 13:50:21 UTC 2009


Axel von Engel wrote:
> Hello everyone!
>
> I am developing a simulated multiprocessor system using MIPS cores,
> starting from a single processor system with RTEMS set up. Since the
> goal "simply" is to have a multiprocessor system running RTEMS with
> multiprocessing support (i.e. almost no design constraints), I
> currently look for options to achieve this.
>
> Shared memory seems to be the simplest way to communicate. In my
> current, very basic system the address space is shared, too. This
> leads to my question: Is it possible to run multiple RTEMS instances
> with the code being shared?
>
> My first impression is that it would be possible if I could find means
> to use different configuration tables depending on the current node
> ID. Any ideas on how this could be done? What else has to be
> separated?
>
>   
The current mptests build the same source twice but they
only differ in the node number.  That is used to determine
which node does what.  That helps with the "same code image"
issue but doesn't solve the problem of ensuring that
each node has different addresses for .data, .bss, C program
heap and workspace.

For running them on psim, each CPU is an independent instance
of a PowerPC with its own memory space.  A block of unix shared
memory is mapped into each CPU's address space for shared
communication.

There are 4 core LEON3 systems and they do a slightly different
setup if I remember right.  Link each node's code/data to a different
area of memory and reserve part of the memory for communication
between nodes.
> Regards
> Axel von Engel
> _______________________________________________
> rtems-users mailing list
> rtems-users at rtems.org
> http://www.rtems.org/mailman/listinfo/rtems-users
>   


-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill at OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
   Support Available             (256) 722-9985





More information about the users mailing list