title: Open MPI: how to run exactly 1 process per host
body: <p>Actually I have 3 questions. Any input is appreciated. Thank you!</p>
  
  <p>1) How to run exactly 1 process on each host? My application uses TBB for multi-threading. Does it mean that I should run exactly 1 process on each host for best performance?</p>
  
  <p>2) My cluster has heterogeneous hosts. Some hosts have better CPUs and more memory than the others. How to map process ranks to real hosts for work distribution purposes? I am thinking to use hostname.Is there a better to do it?</p>
  
  <p>3) How process ranks are assigned? What process gets 0?</p>