[ 
https://issues.apache.org/jira/browse/SINGA-7?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

wangwei updated SINGA-7:
------------------------
    Assignee: wangwei

> Implement shared memory Hogwild algorithm
> -----------------------------------------
>
>                 Key: SINGA-7
>                 URL: https://issues.apache.org/jira/browse/SINGA-7
>             Project: Singa
>          Issue Type: New Feature
>            Reporter: wangwei
>            Assignee: wangwei
>              Labels: features, hogwild
>
> The original Hogwild [1] algorithm works on a multi-core machine with shared 
> memory. There are two ways to implement it in SINGA
> 1. Following the worker-server architecture to launch multiple worker groups 
> and one server group. Share the memory space of parameter values among worker 
> groups and the server group. Worker groups compute gradients and the server 
> group updates parameter values. 
> 2. Using worker-only architecture like Caffe. Share the memory space of 
> parameter values among worker groups. Workers compute gradients and update 
> parameters locally.
> To simplify the implementation, we can firstly restrict the group size to be 
> 1.
> There are also two choices for the frequency of reporting the training/test 
> performance.
> 1. based on training iterations
> 2. based on training time (e.g., seconds)
> Once the shared memory version is finished, we will extend it to distributed 
> environment.
> [1]B. Recht, C. Re, S. J. Wright, and F. Niu. Hogwild: A lock-free approach 
> to parallelizing stochastic gradient descent. In NIPS, pages 693–701, 2011.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to