Hi,
Love4Boobies wrote:The more reasonable thing to do is to figure out what the requirements for your OS are before you go out and buy testing equipment. The requirements will differ depending on the problem you want to solve so a question like "What do you think my requirements should be, as far as hardware is concerned?" is really impossible to answer without further information.
I actually would like to optimise for using all resources in the most efficient way. So I probably need different combinations of memory and cache sizes, different combinations of CPUs number and speed, different combinations of NUMA properties, etc. In other words, I'd like the OS to be as efficient as possible on all supported hardware combinations.
Brendan wrote:For CPUs; I try to have one computer for each CPU model for each CPU manufacturer that the OS is supposed to support (e.g. "80486, Pentium, Pentium Pro, Pentium II, Pentium III, Pentium 4, ..." plus similar for AMD, VIA, Cyrix, IBM, Transmeta, NSC, SiS). When considering purchasing an old computer I look at where the biggest hole is and aim for "middle of the hole" (e.g. if I didn't have Pentium II, Pentium III or Pentium 4; then I'd try to get Pentium III because it's in the middle).
Although I'd like to get a handful of somewhat old computers too, I'm planning to get some new ones.
Brendan wrote:For new computers; I use my 2 newest computers (one for Windows/games and the other for "LAN server" and OS development); and when I get a new computer I'll replace one of the computers I use (whichever is oldest) and demote the old computer to "test machine" status. If I'm replacing the server I'll replace it with server parts (ECC, Xeon or Opteron, etc; and be very tempted to go for NUMA, and lots of slower CPUs rather than fewer faster CPUs) and if I'm replacing the other computer I'll go for "mid-range games machine" (fewer faster CPUs).
Noted. I will aim to get something more "server-like" equivalent to yours since it requires more work from the OS developer to optimise for it. But what NUMA properties combinations would you suggest? And how many CPUs of what speed?
Brendan wrote:For video cards I try to stick with integrated Intel or AMD (in the hope of being able to get documentation if I ever want to write native drivers). Everything else doesn't matter much; either because you end up with a range of different motherboards (to suit the range of different CPUs) and therefore a range of different devices built into the motherboards, or because it's something (PCI card, hard disk, etc) that can be added/moved/replaced later.
That was something I was also thinking of.
Brendan wrote:The other thing I do is stick with desktop and server systems. Laptops tend to be more expensive, less flexible (for changing parts) and harder to support (due to a greater need for power management and ACPI); and a laptop's battery has a "too short" lifetime (typically the battery won't hold a charge after about 3 years).
Unfortunately, my house is too small to have desktop machines, so I can't really avoid laptops...
dchapiesky wrote:If you got the cash to pick and choose then I would actually concentrate on peripheral devices...
Peripherals actually are also something I should think about.
dchapiesky wrote:Don't forget serial cards, multiplexers, and that old vt100 sitting in the corner... nothing beats old kit and the smell of warm oil filled capacitors to distract you from the x-rays from the CRT.
I actually don't really care that much about that old hardware. I'll rather concentrate on something that will be used more in the future.
dchapiesky wrote:oooo and if they have network/serial controlled power strips - get em - fun as hell - amaze your friends and neighbors. Oh and if they have environment sensors - power, temp, air pressure, water... if they were a good server room supplier they will have em... grab em.
Not sure I should write drivers for these specialised peripherals myself.
Regards,
glauxosdever