You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hama.apache.org by "Thomas Jungblut (JIRA)" <ji...@apache.org> on 2012/05/13 17:58:49 UTC
[jira] [Updated] (HAMA-546) Add access to remote memory
[ https://issues.apache.org/jira/browse/HAMA-546?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas Jungblut updated HAMA-546:
---------------------------------
Attachment: HAMA-546_1.patch
First API scratch of how it should look like.
I think we should have multiple "CacheServices" each with generic key and value, each cache service is identifiable via a String name.
Every service instantiated will be managed by the CacheHandler (maybe we can rename to CacheManager to be consistent with sync and messaging).
Then there are concurrent caches and normal caches.
The first patch includes just a rough implementation of normal caches with a map and a queue.
Currently I am not sure whether we should put the CacheHandler into the Peer or into the MessageManager, but I think the Peer should be the best decision.
As an example of put and get we should add the realtime usage in our wiki.
> Add access to remote memory
> ---------------------------
>
> Key: HAMA-546
> URL: https://issues.apache.org/jira/browse/HAMA-546
> Project: Hama
> Issue Type: New Feature
> Components: bsp core
> Reporter: Thomas Jungblut
> Assignee: Thomas Jungblut
> Attachments: HAMA-546_1.patch
>
>
> bsp_get and bsp_put are integral parts of the BSP computing model.
> They are defined as follows:
> bsp_get [1]
> {quote}
> The bsp_get(3) and bsp_hpget(3) operations reach into the
> local memory of another process and copy previously
> registered remote data held there into a data structure in
> the local memory of the process that initiated them.
> {quote}
> bsp_put [2]
> {quote}
> The aim of bsp_put(3) and bsp_hpput(3) is to provide an
> operation akin memcpy(3C) available in the Unix <string.h>
> library. Both operations copy a specified number of bytes,
> from a byte addressed data structure in the local memory of
> one process into contiguous memory locations in the local
> memory of another process. The distinguishing factor between
> these operations is provided by the buffering choice.
> {quote}
> A very simple implementation can be based on a HashMap on every peer which can be obtained via RPC.
> In this case we need to extend the MessageManager to be able to do off-the-band communication.
> It would be great to extract a common interface which can be inter-operable with other caching tools like DirectMemory or EHCache.
> [1] http://www.bsp-worldwide.org/implmnts/oxtool/man/bsp_get.3.html
> [2] http://www.bsp-worldwide.org/implmnts/oxtool/man/bsp_put.3.html
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira