charm icon indicating copy to clipboard operation
charm copied to clipboard

object location services: Share array element location cache above PE level

Open PhilMiller opened this issue 12 years ago • 3 comments

Original issue: https://charm.cs.illinois.edu/redmine/issues/112


Many PEs on a node may send to a common set of recipients, but will currently keep duplicate copies of where the recipient lives, and require duplicate updates after each recipient migrates. If the location caches could be shared across multiple PEs we could save memory, reduce network traffic, and reduce location overhead. That could either be a node-level cache, or possibly multiple caches per shared memory space to respect things like NUMA domains.

PhilMiller avatar Mar 15 '13 21:03 PhilMiller

Original date: 2013-04-04 14:42:28


This seems like a pretty obvious engineering change, as opposed to any deep research endeavor - any particular reason to hide it from public view?

PhilMiller avatar Apr 24 '19 20:04 PhilMiller

Original date: 2017-10-13 14:05:07


AMPI could now benefit from this, and I think many Charm applications already do their own process/node-level location management. We could offer something similar to ckLocal() that returns the C++ pointer to the object if it is within the process. Perhaps it should become a higher priority? Or perhaps we should collect use cases to motivate that?

Moreover, if we were to move in the future to a regime where chares are tied to a process rather than anchored to a specific PE, this would become more necessary. Same goes for dynamically turning on/off cores in a process.

stwhite91 avatar Apr 24 '19 20:04 stwhite91

Original date: 2018-05-24 20:00:10


Another use case is supporting sends to chare array elements from [immediate] methods of node groups. That currently fails because the comm thread does not have a location manager or any way of knowing where to send the message.

stwhite91 avatar Apr 24 '19 20:04 stwhite91