Mapping memory regio into the address space of every process
Posted: Wed Oct 03, 2012 11:13 am
Dear all,
I am new in this forum, I am looking for answers to my issues.
Actually, I am working in thesis on implementation shared memory programming model under real-time constraints.
My platform consists from multiple cores connects through network on-chip and access to memory off-chip. The memory model divides to private local memory for each core and shared region for all. Each core has own OS and access to memory by using lookup table (LUT), also each core has L1 and L2 caches and didn't has cache coherency between cores. This is description briefly for my platform, and I aim to porting programming model for this system, has real time shared features.
However, There is big issue in this system. It is memory addressing, when core allocated object in shared memory space, should make sort translation to address and send the offset to consumer core. The consumer core also do the same procedure to get the correct address space, since the virtual address is not valid for other cores. So, the access on it can not be accomplished with simply passing the proper pointer.
Therefore, I am looking to ideas or solution to manage this issue.
My questions:
1. I have idea, but I didn't have enough to prepare. If we could mapping the shared memory region as the same virtual address for every processor, we could implement the pointer access approach to shared memory. So, how could implementing this idea? Namely shared virtual mapping and force other cores to remapping this region based on the information memory mapping of one core.
2. Is possible to mapping the stack of processor in shared memory?
I am looking to hearing you.
Thanks in Advance
I am new in this forum, I am looking for answers to my issues.
Actually, I am working in thesis on implementation shared memory programming model under real-time constraints.
My platform consists from multiple cores connects through network on-chip and access to memory off-chip. The memory model divides to private local memory for each core and shared region for all. Each core has own OS and access to memory by using lookup table (LUT), also each core has L1 and L2 caches and didn't has cache coherency between cores. This is description briefly for my platform, and I aim to porting programming model for this system, has real time shared features.
However, There is big issue in this system. It is memory addressing, when core allocated object in shared memory space, should make sort translation to address and send the offset to consumer core. The consumer core also do the same procedure to get the correct address space, since the virtual address is not valid for other cores. So, the access on it can not be accomplished with simply passing the proper pointer.
Therefore, I am looking to ideas or solution to manage this issue.
My questions:
1. I have idea, but I didn't have enough to prepare. If we could mapping the shared memory region as the same virtual address for every processor, we could implement the pointer access approach to shared memory. So, how could implementing this idea? Namely shared virtual mapping and force other cores to remapping this region based on the information memory mapping of one core.
2. Is possible to mapping the stack of processor in shared memory?
I am looking to hearing you.
Thanks in Advance