Hi Serge.
1,2,3 - The short answer would be: while designing the topology you need to be sure to select the correct routing-algorithm. If selected correctly, it will prevent credit-loops and dead-locks.
There is a way to simulate a fabric and check the routing (to make sure there are no credit loops, etc...) however, it is a pretty complicated process that is done internally in Mellanox for large and non standard typologies.
Usually, we do it for complex projects as part of the Pre-Sales process.
I wrote you an email separately to initiate a more detailed discussion offline (In Russian ).
If I wanted to build a new cluster and invested a lot in buying the servers and the CPUs (most costly part of the infrastructure) I wouldn't try to "save" on networking as it may cause efficiency to be lower. Building a cluster and not utilizing it to the maximum (I mean CPU) doesn't make a lot of sense - don't you agree?
Reducing the number of links will cause most of the applications to provide lower performance so it is usually not recommended but possible.
Thanks,
Boris