How to choose a Multiprocessor System: Software and Hardware Aspects