Parallel Cube Processor (PCP) is an application designed to process multiple Analysis Services databases at the same time. I originally wrote this application with the assumption that it would be blazing fast and essentially warp space and time. As it turns out, SSAS appears to be going as fast as possible at all times, so giving it more stuff to do doesn't really make the whole shebang faster - just different. Play around with it, watch some performance counters - it's an interesting conundrum. The application can handle parallelism using two methods.
The first method is XMLAParallel - in this mode, the application constructs an XMLA command to process the specified number of databases inside of a Parallel element. Only one XMLA command is issued at a time so the applicatoin will not submit another command until the longest processing job completes in each batch.
The second method is Threaded - in this mode, the application creates the specified number of threads and each thread processes databases independantly of the other threads. This allows all threads to remain busy at all times as a given thread will start processing the next unprocessed database as soon as it finishes processing the previous database.
It should be noted that because this app performs only ProcessFull at the database level, it is currently only suitable for processing a large number of small analysis services databases. The environment this was developed for has a process that generates and deploys metadata for over 250 small (< 100MB) ssas databases and we need to process them as quickly as possible.
If you have suggestions for features that would help the application be more useful to you, please post them in the Discussions area.
And yes, I probably should have called it "ParallelDatabaseProcessor." PCP was a cooler acronym.
The application and source code can be downloaded on Codeplex: Parallel Cube Processor