Hi, James,

PGIZA++ is not using OpenMPI, and only use shared storage to transfer model
files, that could be a bottleneck, MGIZA++ is just using multi-thread. So
they are not quite complete and can be further improved, the advantage of
PGIZA++ is it already decomposed every training step (E/M, model 1, hmm
3,4,5 etc), so it could be easy for you to understand the logic.

The bottleneck is majorly  the huge T-Table (translation table), which is
larger during model 1 training and then becomes smaller as training goes on,
every child has to get the table (typically several gigas for model 1 on
large data). I think OpenMPI etc is a right way to go, and please let me
know if you have any question on PGIZA++.

Best,
Qin

On Thu, Feb 19, 2009 at 4:54 PM, James Read <j.rea...@sms.ed.ac.uk> wrote:

> Wow!
>
> Thanks for that. That was great. I've had a quick read through your paper.
> I'm guessing the basis of PGiza++ is OpenMPI calls and the basis of MGiza++
> is OpenMP calls right?
>
> Your paper was very fascinating. You mentioned I/O bottlenecks quite a lot
> with reference to PGiza++ which is to be expected. Did you run any
> experiments to find what those bottlenecks typically are? How many
> processors did you hit before you started to lose speed up? Did this number
> vary for different data sets?
>
> Also, you mention breaking up the files into chunks and working on them on
> different processors. Obviously you're referring to some kind of data
> decomposition plan. Does your algorithm have any kind of intelligent data
> decomposition strategy for reducing communications? Or is it just a case of
> cutting the file up into n bits and assigning each one to a processor?
>
> The reason I ask is that our project would now have to come up with some
> kind of superior data decomposition plan in order to justify proceeding with
> the project.
>
> Thanks
>
> James
>
>
> Quoting Qin Gao <q...@cs.cmu.edu>:
>
>  Hi James,
>>
>> The GIZA++ is a very typical EM algorithm and probably you want to
>> parallelize the e-step since it takes long time then M-Step. You may want
>> to
>> check out the PGIZA++ and MGIZA++ implementations which you can download
>> in
>> my homepage:
>>
>> http://www.cs.cmu.edu/~qing <http://www.cs.cmu.edu/%7Eqing>
>>
>> And you may also be interested in a paper describing the work:
>>
>> www.aclweb.org/anthology-new/W/W08/W08-0509.pdf
>>
>> Please let me know if there are anything I can help.
>>
>> Best,
>> Qin
>>
>> On Thu, Feb 19, 2009 at 4:12 PM, James Read <j.rea...@sms.ed.ac.uk>
>> wrote:
>>
>>  Hi all,
>>>
>>> as the title suggest I am involved in a project which may involve
>>> parallelising the code of Giza++ so that it will run on supercomputers
>>> scalably on n number of processors. This would have obvious benefits
>>> to any researchers making regular use of Giza++ who would like it to
>>> finish in minutes rather than hours.
>>>
>>> The first step of such a project was profiling Giza++ to see where the
>>> executable spends most of its time on a typical run. Such profiling
>>> indicated a number of candidate functions. One of which was
>>> model1::em_loop found in the model1.cpp file.
>>>
>>> In order to parallelise such a function (using OpenMPI) it is
>>> necessary to first come up with some kind of data decomposition
>>> strategy which minimizes the latency of interprocessor communication
>>> but ensures that the parallelisation has no side effects other than
>>> running faster on a number of processors up to some optimal number of
>>> processors where the latency of communication begins to outweigh the
>>> benefits of throwing more processors at the job.
>>>
>>> In order to do this I am trying to gain an understanding of the logic
>>> in the model1::em_loop function. However, intuitive comments are
>>> lacking in the code. Does anyone on this list have a good internal
>>> knowledge of this function? Enough to give a rough outline of the
>>> logic it contains in some kind of readable pseudocode?
>>>
>>> Thanks
>>>
>>> P.S. Apologies to anybody to whom this email was not of interest.
>>>
>>> --
>>> The University of Edinburgh is a charitable body, registered in
>>> Scotland, with registration number SC005336.
>>>
>>>
>>>
>>> _______________________________________________
>>> Moses-support mailing list
>>> Moses-support@mit.edu
>>> http://mailman.mit.edu/mailman/listinfo/moses-support
>>>
>>>
>>
>>
>> --
>> ==========================================
>> Qin Gao
>> Language Technology Institution
>> Carnegie Mellon University
>> http://geek.kyloo.net
>>
>> ------------------------------------------------------------------------------------
>> Please help improving NLP articles on Wikipedia
>> ==========================================
>>
>>
>
>
> --
> The University of Edinburgh is a charitable body, registered in
> Scotland, with registration number SC005336.
>
>
>


-- 
==========================================
Qin Gao
Language Technology Institution
Carnegie Mellon University
http://geek.kyloo.net
------------------------------------------------------------------------------------
Please help improving NLP articles on Wikipedia
==========================================
_______________________________________________
Moses-support mailing list
Moses-support@mit.edu
http://mailman.mit.edu/mailman/listinfo/moses-support

Reply via email to