Thanks, Edward. I have few specific questions for my application. My
application spawns 21 bsp tasks based on the input. But internally I am
assigning only first few Bsp peers, say first 4 (based on peer id) , to do
the work. So the rest of peers become useless after few supersteps. My
concern is that, these "active" bsp peers should not end up in the same
machine, to avoid overloading a single machine.
One way to solve it would be to choose active peer ids in gap of maximum
peers a machine can run. For example, if the maximum tasks per machine is
3, I would choose 0, 3, 6 and 9 as active peers. But is it gauranteed to be
run in different machines? This solution also assumes the number of bsp
peers currently running to be greater than or equal to 10, which is greater
than previously assumed value (4).
So, is there any way I can see the bsp peer to groom server mapping?
If I have to generalize my problem statement, it would be like this: Given
n tasks, out of which m tasks has to selected (m < n) such that those tasks
uses the resources optimally (in terms of parallelism, load balancing etc.)
On 17-Jan-2017 2:42 PM, "Edward J. Yoon" <[EMAIL PROTECTED]> wrote:
1) There's no way to configure minimum number of tasks per groom server at
this moment. Let's assume that there're 20 nodes (groom servers) and
bsp.tasks.maximum is 5. So total task slots are 100. If my job requires only
10 tasks, the tasks can be executed on from 2 to 10 nodes.
If you want to spread tasks widely across cluster, you need to seehttps://issues.apache.org/jira/browse/HAMA-900
2) Each task runs in a different JVM. And yes, they runs in synchronous
parallel fashion, based on message-passing.
Best Regards, Edward J. Yoon