SPM/Advice on hardware selection

From Wikibooks, the open-content textbooks collection

< SPM
Jump to: navigation, search

This page is part of the SPM wikibook.

Contents

[edit] Single or MultiProcessor?

In order to make use of more than one logical processor the programme must be multi-threaded. In effect, the programme must be run as a collection of parallel subprogrammes.

Matlab, in its current form, is not multithreaded. Neither are the SPM binaries. As such, you will gain little advantage in SPM processing speed using multiple processors.

This is certainly not to say that multiple processors aren't useful. They are. For example, if you have two logical CPUs then you can run SPM on one processor, freeing the other up for user tasks. SPM has a habit of saturating a single processor, effectively rendering any single processor PC unusable whilst it's processing.

Also, there is a parallel version of SPM which will help on multi-CPU systems or clusters.

[edit] Computer Architecture Benchmark Comparisons

http://www.psychology.nottingham.ac.uk/staff/cr1/spm99.html

[edit] Hard Disk

fMRI datasets are large things so a slow hard disk will be a bottleneck for SPM processing. A RAID array is a good idea (RAID 1+0 or RAID 5 are recommended).

[edit] SCSI, PATA, SATA or external?

SATA offers better value for money than SCSI and provides performance-enhancing features which PATA lacks (like Native Command Queing). An optimal solution to get the most bang for your buck is to use a small (36GB) high speed (15k rpm) SCSI disk for the OS and swap file, and store your data on multiple large SATA disks.

External disks are fairly fast but not as fast as internal disks. It's best to use external disks only for backup.

[edit] Reviews of hard disks

http://www.storagereview.com

[edit] Network File System

It is certainly possible to store your datasets on an NFS server. If the server is located in another building or section of your building, make sure the entire connection to your SPM processing workstation is at least 100MB/s, there is a noticeable slow-down in processing data accross 10 MB/s connections.

[edit] Memory

SPM likes as much memory as you can throw at it.

If you're using Linux with more than 800MBytes of RAM then don't forget to compile the kernel with High Memory Support (Processor type and Features > High Memory Support) (if you have more than 800Mbytes then set it to "4GB"; if you have more than 4GB then set it to "64GB"; if you have more than 64GB then sell some of it and donate the money to charity - you've got too much cash!)

[edit] 64bit or 32bit?

Easy one. 64 bit of course.

For some versions of SPM you will have to hunt a bit around to get the apropriate set of mex files for your plattform, but once you have found a proper set of mex files, it all runs like a charm.

[edit] Selecting hardware for Linux

Linux does not enjoy the same hardware support as Windows or MacOS. It is very important to ensure that your proposed new purchases will work well under Linux. To get a really good idea, try to find the web forums associated with the product and see what the linux users are saying. It's one thing for a manufacturer to state "compatible with Linux" on their spec sheets and another for them to offer decent, usable software.