1. A method for constructing a scalable computer system, the method comprising: providing a first plurality of computing nodes, and a second plurality of switching nodes, said first plurality being more numerous than said second plurality; forming a plurality of node clusters, each node cluster comprising one of said switching nodes interconnecting a corresponding group of said computing nodes; providing a plurality of cross-links between the node clusters; directly connecting, using the plurality of cross-links, a corresponding plurality of pairs of node clusters selected from the plurality of node clusters in accordance with a selection process resulting in a formation of a network of said plurality of computing nodes having a higher clustering coefficient of nodes in comparison with a corresponding randomly-connected network in combination with a lower characteristic path length between the nodes in comparison with a corresponding regularly-connected network; and wherein the steps of providing the plurality of cross-links and directly connecting the plurality of pairs of node clusters in accordance with said selection process are repeated until the resulting network comprises a small-world network having an average path length between the plurality of nodes falling within a predetermined desired range, independently of a number of said plurality of computing nodes.