You have a requirement, now you need a specification, until you can specify the needs accurately it is impossible to design a solution. So now you need to ask questions regarding the algorithms that will be used, what hardware can they be run on, CPUs, GPUs? What size are the datasets? What sort of speed is needed? What constraints are there, such as cost? Etc. As for hardware manufacturers, you might look at Supermicro and Appro, it really depends on your needs.