Some music applications will completely fail to take advantage of the multiple cores of a modern CPU – but which ones, and why? We find out, and advise on how you can make best use of however many cores your PC has.
Over the last couple of years, the PC musician has been offered first dual-core processors, then quad-core models, and octo-core machines (currently featuring two quad-core processors) are now available for those with deep enough pockets. Competitive pricing has already ensured a healthy take-up of DAWs based around a quad-core CPU, yet many users haven’t cottoned onto the fact that not all software benefits from all these cores. Some existing software may only be able to use two of them, reducing potential performance by a huge 50 percent, while older software may only be able to utilise a single core, reducing potential performance to just 25 percent of the total available. This month PC Musician investigates which audio software works with dual-core, quad-core PCs and beyond, what benefits you’re likely to get in practice over a single-core machine, and which software may for ever languish in the doldrums.
A Brief History
In the days when most musicians ran Windows 95, 98 or ME, the question of running multiple processors didn’t arise, because none of these operating systems supported more than a single CPU. It was Windows NT and then Windows 2000 that introduced us to the benefits of being able to share the processing load between multiple CPUs: Windows 2000 Professional supported one or two processor chips, while the more expensive Server version supported up to four, and the Advanced Server up to eight. However, at this early stage each processor was a physically separate device, so to be able to (for instance) use twin processors, you needed a specially designed motherboard with two CPU sockets. Many audio developers and interface manufacturers didn’t actively support Windows 2000, so most musicians stuck with Windows 98.
In 2001, Microsoft released Windows XP in Home and Professional versions, and once again most consumers who opted for the Home version were limited to a single physical processor, although the Professional version supported two. By this stage many musicians were straining at the leash, wanting to run more and more plug-ins and software instruments, and this Professional version let them do exactly that, using dual-processor motherboards and twin Xeon or Pentium 4 processors.
When you’re running stereo audio editors (such as Wavelab 6, shown here) and stand-alone soft synths or samplers, and even in most multitrack sequencers when you’re only running a single track, only one core of a multi-core CPU will be heavily used, although any others available may help with disk access, the user interface and other applications that are running simultaneously.
Multi-processing options really opened up the following year, when Intel introduced first Xeon and then Pentium 4C processor ranges with Hyperthreading technology, which let these CPUs appear to both Windows XP Home and Professional (or Linux 2.4x) as two ‘virtual’ processors instead of one physical one. They each shared the various internal ‘sub-units’, including the all-important FPU (Floating Point Unit), but could run two separate processing ‘threads’ simultaneously.
Intel claimed up to a 30 percent improvement with specially written applications over a standard processor, but as many musicians soon found, having a Hyperthreaded processor didn’t necessarily benefit them at all unless they were running several applications simultaneously, since applications like MIDI + Audio sequencers had to be rewritten to take advantage of Hyperthreading. Steinberg’s Nuendo 2 was one of the few music apps to support it, but although various others followed, a few (such as Tascam’s Gigastudio) needed a major rewrite before they would even run with HT enabled. Nevertheless, my own tests (published in PC Notes June 2004) showed that with optimised audio applications such as Cubase SX2 you could expect a significant drop in CPU overheads where it really mattered, at low latencies of 3ms or under.
The biggest change came in late 2004, when both AMD and Intel seemed to agree that processor clock speeds had reached a ceiling. Intel abandoned plans to release a 4GHz model in their Prescott CPU range, and in 2005 both companies largely switched to releasing dual-core models. Unlike the twin virtual processors of Intel’s Hyperthreading range, these featured two separate processing chips mounted inside one physical package. By placing two processor cores into a single piece of silicon, manufacturers could provide significantly faster performance than a single processor, even when under-clocking them and running them at lower voltages, so that they didn’t run hotter than the single-core variety.
By late 2006 we had been introduced to quad-core processors, which have now dropped in price and can even be run with Windows XP Home (which is licensed to run a single physical processor, however many cores it has inside). However, if running XP Professional (and the x64 64-bit version), Vista Home Premium, Business, Enterprise or Vista Ultimate you also gain the option of installing two quad-core processors on a suitable motherboard, to provide a total of eight processing cores. Unfortunately, as with so many new hardware advancements, much software has had a long way to catch up before it could take advantage of so many cores.
When you’re using a PC with multiple processors of whatever type, to gain any significant performance benefit the software you run has to be specially written or adapted with multiple processors in mind.(hense the importance of updates and so forth) The way multi-processing works is that applications are divided into ‘threads’ (semi-independent processes that can be run in parallel). Even with a single processor there are huge advantages in this programming approach. Many applications use multiple threads to enable multi-tasking, so that one task can carry on while another is started; and when multiple processors are available, different threads can be allocated to each CPU.
Reaper’s Justin Frankel told me that he routinely does a lot of his development on a dual quad-core Xeon PC, so it’s hardly surprising that the default Reaper settings work well with up to eight-core machines, typically offering over 95 percent utilisation of all eight cores. Reaper mostly uses ‘Anticipatory FX processing’ that runs at irregular intervals, often out of order, and slightly ahead of time. Apparently, there are very few times when the cores need to synchronise with each other, and using this scheme he can let them all crank away using nearly all of the available CPU power. Exceptions include record input monitoring, and apparently when running UAD1 DSP cards, which both prefer a more classic ‘Synchronous FX multi-processing’ scheme.
Steinberg’s Cubase SX, Cubase 4 and Nuendo all work decently on quad-core systems, scaling up well from single to dual-core and quad-core PCs. However, Cubase 4 and Nuendo 4 don’t currently provide all the benefits they could at low latency with a dual quad-core system. Compared with the potential doubling of plug-in numbers from dual to quad, when you move to ‘octo’ you may only be able to run about 40 percent more plug-ins down to buffer sizes of 128 samples, while below this you may even get worse performance than a quad-core system.
Steinberg developers have already acknowledged the problem, which is apparently due to “a serialisation of the ASIO driver, which eats up to 40 percent of the processing time. Together with the other synchronisation delays, only 25 to 30 percent of the 1.5-millisecond time-slice can be used for processing. This is not very efficient.” Steinberg have promised to address the issue in a Nuendo 4 maintenance update, and have hinted that it may also result in changes to the ASIO specification.
Cakewalk’s Sonar does seem to scale well, sometimes giving a better percentage improvement when moving from a quad-core to an octo-core PC than the current version of Nuendo/Cubase 4, but the jury still seems to be out on whether choosing ASIO or WDM/KS drivers gives better results; with some systems ASIO is a clear winner, while in others WDM/KS drivers move significantly ahead.
Digidesign have a reputation for being slow but thorough when testing out new hardware to add to their ‘approved list’, and as I write this in early November 2007 their web site states that Intel Core 2 Quad processors and Intel Xeon quad-core have not been tested by Digidesign on Windows for any Pro Tools system.
Nevertheless, Pro Tools HD/TDM users started posting recommendations for rock-solid systems featuring twin dual-core Opteron processors (four CPU cores in all) in mid-2006, and there are now loads of Pro Tools LE users successfully running both quad-core and even a few octo-core PCs in advance of any official pronouncements (there’s lots of specific recommendations on both quad-core and octo-core PC components in a vast 126-page thread on the Digi User Conference at http://duc.digidesign.com/showflat.php?Cat=&Number=988224). Despite the lack of official ‘qualification’, all Pro Tools systems seem to scale well on quad-cores, happily running all four cores up to 100 percent utilisation, and many users are very pleased with their quad-core ‘native’ CPU performance.
Like various other audio applications, even the latest Mac version of Logic Audio doesn’t yet fully benefit from having eight processor cores at its disposal, but for die-hard PC users of Logic the situation is rather more serious: Apple discontinued development and support for those using Logic on the PC back in 2002, so most recent version (5.5.1) is now some five years old. Although it’s a multi-threaded application, Logic 5.5.1 for Windows is not really optimised for multiple processors, so only one of the cores is likely to get much of a workout. However, there’s a partial workaround, using the I/O Helper plug-in available from Logic version 5.2 onwards, which can force any plug-ins on a track with it inserted to run on a second core, so that you can use lots more plug-ins/instruments overall (there’s a more detailed description on Universal Audio’s web site at http://www.uaudio.com/webzine/2003/may/index5.html). Logic Audio 5.5.1 also has a problem if more than 1GB of system RAM is installed (see http://community.sonikmatter.com/forums/lofiversion/index.php/t8032.html for some suggestions on this one), and also has problems running some VST plug-ins. It’s unlikely to benefit from a quad-core processor at all, and I wouldn’t recommend running it on a new quad-core PC, so its shelf-life is looking increasingly limited.