Before I go too deep down this rabbit hole, I wanted your feedback on a pcpartpicker-like compatibility-checker builder google spreadsheet I’m putting together, that anyone here can use/modify.
Wondering how you organize your purchasing/procurement and maybe inventory(?) using spreadsheets, if at all; as I’m starting to lose track of things in my 5 node home cluster.
Which will then filter out all the incompatible motherboards from the motherboards cell (a data validation drop-down tick appears to select compatible motherboards):
Whereas before, it listed all available ones:
That’s the idea I would appreciate your feedback on, especially if you went through a similar process recently and had to work out all the details in your head(?)
What compatibility criteria did you care most about, and why?
Warning: this prototype doesn’t really work yet, but feel free to contribute or fork as you wish. Obviously it won’t scale infinitely—and neither will my home cloud!
The magic is achieved by Apps Script: go to Extensions > Apps Script and you should be able to change/modify the code. This is the first time I write .gs, so all bugs are ChatGPT’s fault
PS: Since data entry can become a huge time-sync, I also relied on ChatGPT to do most of the work, so I just copy-pasted in the results, and it gets about 90% of the details right. You can see how I filled up the CPUs sheet here: https://chat.openai.com/share/a9d887dd-1c2d-4162-aa8e-ff68e4c75649
@Glitch3dPenguin - can I use cooler list to prefill my coolers sheet?
Not a critical point of your post, but in my experience CPU Mark scores change over time as new CPUs are added. I don’t know the details (do new data points revise the score? does testing methodology change?) But, those changes can be significant over years. Every time you add a new CPU, you should re-check/update the scores for all the others too for proper relative comparisons.
You might explicitly list the mobo chipset and socket rather than inferring it from the CPU and mobo name, or maybe there’s a separate mobo details sheet.
Y assume you have info about PSU, PCIe slots and networking. OS and other software? IP and IPMI addresses?
Also, the performance you can get on a CPU today will not necessarily be the same performance in 12-24 months’ time with microcode updates. Things can theoretically get faster, but they more typically get slower as the CPU manufacturers end up mitigating vulnerabilities along the way.
Your cluster turns out to be too big for my current prototype, and Google Spreadsheets Apps Scripts is too slow—I hit the 30 seconds processing time limit
What’s happening is we inflate objects (could be a “Build” or a “Cluster”) with details from related subcomponent sheets (say, “Memory”, “CPU”, or “Motherboard”) if those exist, then we run these compatibility check functions to determine the drop down lists for each sub-component type, i.e.: only list compatible options given all other already selected sub-components.
Speaking of which…
What compatibility checks does everyone here do, that I should definitely not overlook?
Technically, I’m trying to de-risk purchasing incompatible components, whilst planning upgradable paths for this project: HL15 for intensive compute + memory
Great idea to feed the equipment, once purchased, into a DCIM!