Xcalar is hardware agnostic and built to scale out relational compute to big data scale. This means that:
1) Yes, Xcalar supports heterogeneous resource clusters.
2) Ironically, this is a harder question to answer, because it depends on the processors, and may even depend on the workloads you process. Xcalar's parallelized processing takes full advantage of processor hyperthreading, so on the surface 4x64 cores will be at least equivalent, if not superior to 8x32 core machines.
Some rules of thumb to follow:
1) More memory is better.
2) Homogenous will out-perform heterogenous environments.
3) The bigger your compute requirement, the more likely you will need to achieve performance by adding more servers.
As you operationalize your data, your Xcalar Admin will get a feeling for whether your processing is more commonly CPU-bound or memory-bound. It may be that holistically you can meet your service-level objectives (SLOs) through more cheaper servers, than fewer pricier servers.