- Where Developers Learn, Share, & Build Careers


I am implementing a standard MPI Master / Slave system: a master who delivers work, and is a slave For those who ask chunks and process data.

However ... if implemented in a naive manner (rank == 0 is master, the remaining slaves), gurus are not doing any real work, but still for a core that Actually no real computing power is required. So I tried to apply a different "scheduler" thread to the master, but it was involved in sending MPI messages to myself, and actually did not work ...

Do you have any The idea is how to solve it?

As I felt after some Googleing: You can use tags . The tag is a type of filter: If you do RQ for tag == 1, then you will only receive those people, who will be able to carry people with the earliest in later messages. Are there.

So, for the solution:

  • Tag "Worker to Scheduler" and "Worker to Scheduler" with a different ID
  • if Rank == 0: Start

    In this way, Rank 0 workers will not receive "Give me work" for the message because they will have the "Only received by the scheduler" tag.

    Edit : This object is actually thread-protected though ... (= sometimes it crashes in "Free ()" Does, though it has been written in Python ...) so I'm still real & amp; Proven solution :)

Comments

Popular posts from this blog

Python SQLAlchemy:AttributeError: Neither 'Column' object nor 'Comparator' object has an attribute 'schema' -

java - How not to audit a join table and related entities using Hibernate Envers? -

mongodb - CakePHP paginator ignoring order, but only for certain values -