Hello,

In Ray, each message-passing-interface rank has actually thousands of workers.

This allows the Ray virtual communicator to pool together many small messages 
together.

The code you are trying to modify is very stable and should not be modified. 
This 
code manages the living workers.


> ________________________________________
> De : David Eccles (gringer) [david.ecc...@mpi-muenster.mpg.de]
> Date d'envoi : 13 juillet 2011 11:01
> À : denovoassembler-users@lists.sourceforge.net
> Objet : Re: [Denovoassembler-users] Confused about coding -- completed  seeds 
> without distributions
> 
> On 13/07/11 16:41, David Eccles (gringer) wrote:
>> So... here's the code I've narrowed it down to so far [comments/ifdefs
>> removed]:
>> -- BEGIN --
>> 44 cout << "starting worker ID: " << *m_activeWorkerIterator << endl;
>> 45 m_splayTreeIterator.constructor(m_subgraph,m_wordSize,m_parameters);
>> 46 m_initiatedIterator=true;
>> 47 m_maximumAliveWorkers=30000;
>> 51 }
>> 53 m_virtualCommunicator->processInbox(&m_activeWorkersToRestore);
>> 55 if(!m_virtualCommunicator->isReady()){
>> 56 cout << "Going back home, because the virtual communicator isn't
>> ready" << endl;
>> 57 return;
>> 58 }
>> 64 if(m_activeWorkerIterator!=m_activeWorkers.end()){
>> 65 uint64_t workerId=*m_activeWorkerIterator;
>> 70 m_virtualCommunicator->resetLocalPushedMessageStatus();
>> 71 cout << "telling worker (" << workerId << ") to get to work" << endl;
>> -- END --
> 
> And after adding in a bit more(!) debug code:
> 
> ***
> Step: Selection of optimal read markers
> Date: Wed Jul 13 16:51:52 2011
> Elapsed time: 1 seconds
> Since beginning: 2 seconds
> ***
> starting worker ID: 0
> before processing Inbox: starting worker ID: 0
> before checking Virtual communicator is ready: starting worker ID: 0
> before checking if worker is at the end of active workers: starting
> worker ID: 0
> Rank 0 is creating seeds [1/10020]
> before processing Inbox: starting worker ID: 0
> before checking Virtual communicator is ready: starting worker ID: 0
> before checking if worker is at the end of active workers: starting
> worker ID: 0
> before processing Inbox: starting worker ID: 0
> before checking Virtual communicator is ready: starting worker ID: 0
> before checking if worker is at the end of active workers: starting
> worker ID: 0
> before processing Inbox: starting worker ID: 0
> before checking Virtual communicator is ready: starting worker ID: 0
> before checking if worker is at the end of active workers: starting
> worker ID: 0
> before processing Inbox: starting worker ID: 0
> before checking Virtual communicator is ready: starting worker ID: 0
> before checking if worker is at the end of active workers: starting
> worker ID: 0
> before processing Inbox: starting worker ID: 4
> before checking Virtual communicator is ready: starting worker ID: 4
> before checking if worker is at the end of active workers: starting
> worker ID: 4
> telling worker (4) to get to work
> 
> Um... what? So... the first few workers that get added don't actually do
> any work, and the activeWorkers array isn't populated until the first 5
> vertices are loaded. This agrees with what's on lines 138-144:
> 
> int coverage=node->getCoverage(&vertexKey);
> int minimum=5;
> if(coverage<minimum){
> m_completedJobs++;
> }else{
> m_aliveWorkers[m_SEEDING_i].constructor(&vertexKey,m_parameters,
> m_outboxAllocator,m_virtualCommunicator,m_SEEDING_i);
> m_activeWorkers.insert(m_SEEDING_i);
> }
> 
> I don't quite follow why the workers aren't being inserted into the
> array here. Maybe the first one could be inserted, but not the next 4,
> or something like that?
> 
> -- David
> 
> ------------------------------------------------------------------------------
> AppSumo Presents a FREE Video for the SourceForge Community by Eric
> Ries, the creator of the Lean Startup Methodology on "Lean Startup
> Secrets Revealed." This video shows you how to validate your ideas,
> optimize your ideas and identify your business strategy.
> http://p.sf.net/sfu/appsumosfdev2dev
> _______________________________________________
> Denovoassembler-users mailing list
> Denovoassembler-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/denovoassembler-users
> 


                                                     Sébastien

------------------------------------------------------------------------------
AppSumo Presents a FREE Video for the SourceForge Community by Eric 
Ries, the creator of the Lean Startup Methodology on "Lean Startup 
Secrets Revealed." This video shows you how to validate your ideas, 
optimize your ideas and identify your business strategy.
http://p.sf.net/sfu/appsumosfdev2dev
_______________________________________________
Denovoassembler-users mailing list
Denovoassembler-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/denovoassembler-users

Reply via email to