For very large jobs, routing should be enabled unless you are using a good interconnect. Message routing reduces the latency for bad interconnects. mpiexec -n 512 Ray \ -route-messages -connection-type debruijn -routing-graph-degree 8 \ -k \ 31 \ -p \ Sample/100_1.fasta \ Sample/100_2.fasta \ -p \ Sample/10_1.fasta \ Sample/10_2.fasta \ -p \ Sample/11_1.fasta \ Sample/11_2.fasta \ -p \ Sample/1_1.fasta \ Sample/1_2.fasta \ -p \ Sample/12_1.fasta \ Sample/12_2.fasta \ -p \ Sample/13_1.fasta \ Sample/13_2.fasta \ -p \ Sample/14_1.fasta \ Sample/14_2.fasta \ -p \ Sample/15_1.fasta \ Sample/15_2.fasta \ -p \ Sample/16_1.fasta \ Sample/16_2.fasta \ -o BigJob From the documentation: Message routing for large number of cores -route-messages Enables the Ray message router. Disabled by default. Messages will be routed accordingly so that any rank can communicate directly with only a few others. Without -route-messages, any rank can communicate directly with any other rank. Files generated: Routing/Connections.txt, Routing/Routes.txt and Routing/RelayEvents.txt and Routing/Summary.txt -connection-type type Sets the connection type for routes. Accepted values are debruijn, group, random, kautz and complete. Default is debruijn. With the type debruijn, the number of ranks must be a power of something. Examples: 256 = 16*16, 512=8*8*8, 49=7*7, and so on. Otherwise, don't use debruijn routing but use another one With the type kautz, the number of ranks n must be n=(k+1)*k^(d-1) for some k and d -routing-graph-degree degree Specifies the outgoing degree for the routing graph.