Hello,

Thanks for your reply.
In page 4 of the paper : Even though the processors
have no knowledge as to whether any of the other processors have modified
x, we define x j to be
the state of the decision variable x after j updates have been performed 1
. Since two processors can
write to x at the same time, we need to be a bit careful with this
definition, but we simply break ties
at random.

I don't fully understand what does it mean by "break ties at random". Does
it indicate that we should store all x_k(j) for evaluating G_j(x_j) ? How
do we know that the state we read is the newest state(no other process is
writing) ?
In https://github.com/mlpack/mlpack/wiki/SummerOfCodeIdeas#para
llel-stochastic-optimization-methods mentioned that we should consider how
to partition data in memory for good cache locality. Does it suggest that
we should consider the size of L1 L2 cache and the block size and design
the size of array not to be prone to cache miss?

Thanks for your patience.

Meng


2017-03-08 15:35 GMT+08:00 Stephen Tu <tu.steph...@gmail.com>:

> Hi,
>
> The practical way to run parallel SGD is to use a constant stepsize per
> epoch, and then set the step size \eta <- \eta * \rho for some \rho \in
> (0,1) (typical value is like 0.9). I would not recommend changing the step
> size at every time. See the discussion in Section 5 (Robust 1/k rates).
>
> I don't understand your second question since there shouldn't be locks?
>
> On Tue, Mar 7, 2017 at 5:57 AM, 孟憲妤 <spur...@gmail.com> wrote:
>
>> Hello,
>>
>> I'm HsienYu Meng from Taiwan. I'm currently in my first year of graduate
>> studies at Tsinghua Univ.  As you mentioned, the SGD project should
>> implement HOGWILD! algorithm and consider to set stepsize at each
>> iteration. However, the paper indicates that they assume the stepsize to be
>> a constant value so that the formula 7 make sense. I wonder if we change
>> the stepsize at each time, will the properties of HOGWILD! still holds?
>> Another question is, if the dataset is large and we partition it in memory,
>> which kind of losk-release should we apply? Sequential consistency, Release
>> consistency or lazy release consistency?
>>
>> Appreciate for your patience .Thanks!
>>
>> --
>> *孟憲妤*
>>
>> *MengHsienyu**Department of Computer Science ,Tsinghua university *
>> *Beijing ,China*
>>
>> *100084*
>>
>> *Mobile:(+86)18201162149 <+86%20182%200116%202149>*
>> *        (+886)0952424693 <+886%20952%20424%20693>*
>>
>>
>> _______________________________________________
>> mlpack mailing list
>> mlpack@lists.mlpack.org
>> http://knife.lugatgt.org/cgi-bin/mailman/listinfo/mlpack
>>
>
>


-- 
*孟憲妤*

*MengXianYu**Department of Electronic Engineering ,Tsinghua university *
*Beijing ,China*

*100084*

*Mobile:(+86)18201162149*
*        (+886)0952424693*
_______________________________________________
mlpack mailing list
mlpack@lists.mlpack.org
http://knife.lugatgt.org/cgi-bin/mailman/listinfo/mlpack

Reply via email to