SERFRE: A general-purpose multi-processor reduction machine