Distributed computing has been available for many years in the mainstream computer industry. The logic goes something like this: if you spread tasks across several CPUs you can process data more quickly and each CPU can be made smaller and run cooler than a mega-sized single chip. As the manufacturers reach the physical limits of how fast and powerful an individual CPU can be, they have turned to distributed processing to increase speeds and data throughput. The dual-core CPUs in the new Intel Macs are an example of a kind of distributed processing, as they spread the load over several CPUs.
Apple surprised almost everyone with the introduction of Nodes and distributed processing with Logic v7. However, the availability of faster Gigabit Ethernet and Apple's desire to promote Final Cut Pro as an alternative to the products of established companies such as Avid, meant that its use with other software in the Apple range was inevitable. If Final Cut Pro was going to be a serious competitor, it needed hardware acceleration. Instead of going down the 'dedicated DSP card' route, Apple decided to explore distributed processing via Ethernet instead. This also had the advantage that Apple could sell more Macs, and the rackmounting XServe was introduced to supplement this niche.
Of course, it was obvious that Logic would benefit from distributed processing, especially in the 'old' days of the G4 processor. Apple's original documentation suggested scenarios where you could work on a Gigabit-equipped G4 Powerbook (the 'Master') by freezing processor-intensive tracks, connecting your G5 Powermac (the 'Node') via Ethernet, and then mixing, unfrozen, by utilising the Node's extra processing power. Of course, in these days of dual- and quad-core Intel processor Macs, quite a few of us now have a lot of processing power in a single machine. So has distributed processing had its day?
There are a few situations that would definitely still benefit from the use of Nodes. If you're still using a G4 Powerbook and don't want to upgrade to an Intel-based portable because your favourite plug-in's aren't (or won't be) converted to Universal Binary versions, you could increase your processing power by using something like an Intel Mac Mini as a Node — it is perfectly possible to run Intel and PPC Macs together in this way. A used G5 could also be another inexpensive possibility, but this would take up a lot more space. In both cases, you won't necessarily need a monitor, keyboard or mouse permanently connected, because the Node application can be run automatically when the Mac is powered up if you put an alias of the Node program in the Startupitems subfolder of your Library folder.
Apple confused a lot of people with their original specification for distributed processing, but you can set up a Node network with Macs that don't meet Apple's minimum recommendations. It's perfectly possible to use a Mac with a G4 processor as a Node, for example. You can also use lesser versions of Ethernet, rather than the recommended Gigabit — but you need to be aware that performance of the Node will be severely limited. However, for those occasions when you need that one extra Sculpture or Space Designer it may get you out of a sticky patch.
I've found that setting up Nodes can be very frustrating if you don't do things in the correct order. They can be quite flaky too; I definitely find myself having to reboot both Logic, the Mac running Logic, and the Node machine on a regular basis. First of all you'll need to find the Node program itself. The Logic manual says that it's located on the distribution DVDs, but the Logic Pro install also copies the Node installer into the Utilities subfolder of the Applications folder. Running the installer package copies the Node application into the Applications folder and you can copy it to the Node machine from here. You must also make sure that the version number of the Node program is the same as the version of Logic you are running; this will, of course impact on which Mac you can use as a Node. If the version of Logic you are running requires Tiger, so will your Node machine.
The best way to network your Nodes is via Gigabit Ethernet, but you'll need to configure this properly from the system preferences.
|
Next you need to connect the Master (the Mac running Logic) and the Mac you are using as a Node with a good-quality Ethernet cable. You can use more than one Node machine, but you'll need to get a Gigabit bridge to enable you to connect multiple Macs via Ethernet. Now run the System Preferences application from the Applications folder and click on the Sharing icon. You'll have to disable the Firewall from here; if you're still connected to the Internet via Airport, you may want to consider using a hardware Firewall to protect your Mac from the outside world. Although I've yet to be persuaded that Macs are under serious threat from viruses, it's better to be safe than sorry.
It's also worth checking the Network pane while you're here. If you select the Built-in Ethernet configuration you should see that an IP address has been automatically allocated, assuming that Using DHCP is selected. If you open the Terminal application from the Utilities subfolder of the Applications folder, you can type Ping followed by the IP address of any other networked Macs, to make sure that everything is hunky dory and communicating correctly in networking land.
If you select the Show pull-down menu in the Network pane of System Preferences, you'll see that you can also choose Firewire as a Networking type. If you connect two Macs together using a Firewire cable, you can then treat them as if they were connected via Ethernet. You could try using this connection if one (or both) of your Macs doesn't have Gigabit Ethernet, as you may find it improves performance — otherwise Ethernet is the way to go.
Once you're happy that everything is connected properly, run the Node program on the Mac that is to be the Node computer — it's important that you do this before loading Logic on the Master. Next, open the Node Preferences from Logic's Audio menu, where you should see any connected Node machines displayed in this list. Each Node can be enabled and disabled as you desire. If a Node isn't actually available, its name will be greyed out. Clicking on Enable Logic Nodes will reboot Logic's audio engine and make any greyed-out Nodes available. Logic remembers the status of connected Nodes, so you don't need to do this each time you boot up.
In the Arrange page, select Node Buttons from the View menu to make them visible. To assign a track to the Node just click on a Node button. If processing can be passed onto a Node, the button will glow blue. You can assign multiple Node buttons by clicking and dragging across them. Holding down the Apple key and clicking on a Node button should activate all the Node buttons on the Track list — but this doesn't always work for me. If you open up the System Performance window from the main Audio menu, you'll see that the usual CPU and Disk I/O access meters have been joined by one showing Nodes performance. This will display all the processing which Logic has automatically allocated to a Node.
What can and can't be processed by a Node? You may find that you cannot send a track to a Node, with the Node button remaining resolutely grey when you click on it. This is because there are some limitations as to which plug-ins can be processed on a Node. Basically, only Logic's own plug-ins can be sent to a Node, with the exception of the EXS24 sampler, apparently because of copyright issues arising from running copies of samples on more than one Mac. (This may be also one of the reasons why Apple haven't implemented the processing of any third-party plug-ins on a Node.) Multiple-channel instruments are also a no-go, so you can't send Ultrabeat to be processed on a Node. You also can't send anything from busses, auxes, or output channels either, which is a major limitation, as these are likely to be where you really want to insert the CPU-hungry Space Designer reverb.
The Terminal utility lets you check whether your Ethernet setup is working properly.
|
If a track contains only Logic virtual instruments and effects plug-ins, the whole lot can be passed on to a Node. If you have Logic effects inserted on a track with a third-party Audio Unit virtual Instrument , only Logic's own plug-ins will be processed on the Node. If you have a mixture of Logic and third-party effects plug-ins on a track, only the first Logic plug-ins inserted before the first third-party one will be sent to a Node. It doesn't matter if you have a Logic virtual instrument on the track — nothing after that first AU plug-in will be sent to the Node. EXS24 and Ultrabeat both act like third-party Audio Units in this respect. You can see that careful thought needs to go into the placement of effects and Instruments if you want to make the most of distributed processing.
Logic compensates for all latency introduced when passing data to a Node on playback, and it does so very well indeed, keeping timing tight. However, if you try and play a virtual instrument live when the Node button is activated, you'll find that there are varying degrees of latency introduced depending on the plug-in. To be fair, you'd expect this, as Logic can't be expected to compensate for real-time delays. Consequently, it's better to consider Nodes as a playback-only solution.
There's no easy answer to this one — it's one of those 'how long is a piece of string' questions. It all depends on the computers you are using and, to some extent, which one you use as a Master. If one of the machines doesn't have Gigabit Ethernet, performance will definitely suffer. For this article I did some experimentation with the Macs I had available, which should give you a rough guide to see if it's worth considering using your computers as Nodes.
Master: 867MHz G4 Powerbook without Gigabit Ethernet; Node: dual 1.8GHz G5 with 4GB RAM.
With this combination I managed to off-load four instances of Sculpture, all using associated Space Designer plug-ins set to a Long Hall impulse response, before the G4 started to show up timing-error messages. I'd expect the Gigabit G4s to perform significantly better, as the Node meter itself was barely registering.
Master: dual 1.8GHz G5 with 4GB RAM; Node: 867MHz G4 Powerbook without Gigabit Ethernet.
A single instance of Sculpture sent the Node meter scurrying to the maximum value. If you're keeping an old pre-Gigabit G4 around for use as a Node, my advice is to forget it and get an Intel Mac Mini instead.
Master: dual 1.8GHz G5 with 4GB RAM; Node: 2GHz Macbook Pro.
Master: dual 1.8GHz G5 with 4GB RAM; Node: 1.6GHz Intel Mac Mini Duo.
With both these combinations I was able to off-load ten Sculpture/Space Designer tracks to get a Node CPU load of around 50 percent. In my real-life usage of the G5/Mac Mini combination, I haven't managed to run out of CPU power at all, even with extremely complex songs.
While Distributed processing can seem like manna from heaven, its limitations and complexity (and the emergence of faster Macs) means that it isn't for everyone. If you have an older Mac with Gigabit Ethernet, setting up a Node with a Intel Mac Mini isn't too onerous or space-consuming, and may make more sense than selling the G5 for one of those new shiny Intel Mac Pros. ![]()
|
Have Your Say!
If you want to suggest changes or improvements to Logic, then here's your chance! The Apple development team are inviting SOS readers to send in their suggestions of what they'd most like added or changed in Logic. Email your top five suggestions (in order of preference) to logicnotes@soundonsound.com, and we'll forward your lists on to the Logic team. We'll be asking them for feedback on which changes users deem most important and how these might be addressed.
|