A Practical Guide to Building High-Performance Computing Clusters