In my business one of the more important questions for the clusters is the aggregated and bisectional bandwidth (ABW and BBW) of the network. Within a cluster that can be a more or less complex calculation depending on the architecture.

If you have a ring - and absolutely nobody does nowadays - it's quite easy: you have n connections in total and after splitting the ring in half for the BBW you have only 2 connections betweens the halves.

If you use a big switch in the middle you have all the connections to the switch and thereby as well n connections in total however n/2 connections for BBW as by splitting half of the connections are left - that's still easy.

Now if you build a mesh or in other words a complete graph it get's more complicated. A complete graph means that you have n-1 connections out of one node and you only have to count for half the nodes to get them all: n(n-1)/2 connections. Now with the bisectional bandwidth you can of course again count only the connections of half the nodes - n/2 - however all of them are connected to all of the other half. Thereby you get to n²/4 connections between the two halves. The connections within a half are just ignored in this case.

The situation gets even more complex if you need to build network trees because you use switches with a limited number of ports or if you build in a blocking factor by separating closely connected isles.

Well, the last step for the calculation is easy again - count the number of links in the connections, if it's bidirectional or not and take the bandwidth - alakazam you have your ABW and/or BBW.