This is a hard question, since the task is related to your dataset and algorithm.
Basically, from the one hand you would like to utilize the smallest number of machines that GraphLab can fit the problem into memory. From the other hand, when adding more machines the algorithm should (in theory) run faster, and thus sometimes it is useful to add more machines.
Typically users start from the other way around: they have a set of X machines with configuration Y and then they want to run GraphLab on.
And to your question - machine with additional cores is preferred. For compiling GraphLab we require at least 2 cores and 4GB but better have 8-24 cores and 32 - 256GB. We require a few GB of disk space for compiling GraphLab. The rest depends on your problem size and algorithm.