General Switch Questions: Traffic Control?

I don’t know if this is the appropriate place to discuss general Infiniband questions, so please feel free to point me to the correct forum.

I’m working on an real-time application where network communication is crucial. How do Infiniband switches manage traffic control? If multiple hosts (A and B) try to send large amounts of data (gigabytes) to a single host (C), what happens? I assume the messages from A and B are broken down into smaller packets, and then those packets arrive at C in a non-deterministic interleaved order. That is how TCP/IP would work. Does Infiniband do this any differently? Is there a way to prioritize A over B so that the data from A arrives first?

Does the Subnet Manager accomplish this in the Infiniband architecture? Or does the Subnet Manager do something completely different?

Also, consider a different situation where C sends a large message to both A and B. Can this message be once sent to both A and B simultaneously? Or does the message have to be sent twice: once to A and once to B?