With multiple threads within a single process, its possible for a single program to enhance its speed by allowing different parts of the code to follow its own "path". The advantage is that a program can take advantage of concurrent activities. The disadvantage is that you only get a benefit for sections that can happen concurrently... and a significant portion of any program's code can't run concurrently.
Muliple instances (or processes) can more effectively take advantage of multiple threads and/or processors. It can have more than one thread (or processor) running independent of another, so it will run faster. The disadvantage, however, is the if you only have one thing to do (for example, encode a single file) -- you can't split the work up and run multiple instances -- they would bump heads with one another.
DVD-RB splits the overall encode into segments. Since the encode of each segment is independent of the others -- multiple instances are possible. That means that even an application (encoder) that isn't written for multiple threads can use them via the multiple instances (processes).
When you have a program (like AQM) that can take advantage of multiple threads... you can still benefit from multiple instances. You can have multiple threads running within multiple instances. You reach the limit when you've exhausted the number of threads the system will support.
Hope that's clear... it's not exactly a simple subject and a lot of academics have and still are writing papers on how to efficiently take advantage of multiple threads and processors.
Muliple instances (or processes) can more effectively take advantage of multiple threads and/or processors. It can have more than one thread (or processor) running independent of another, so it will run faster. The disadvantage, however, is the if you only have one thing to do (for example, encode a single file) -- you can't split the work up and run multiple instances -- they would bump heads with one another.
DVD-RB splits the overall encode into segments. Since the encode of each segment is independent of the others -- multiple instances are possible. That means that even an application (encoder) that isn't written for multiple threads can use them via the multiple instances (processes).
When you have a program (like AQM) that can take advantage of multiple threads... you can still benefit from multiple instances. You can have multiple threads running within multiple instances. You reach the limit when you've exhausted the number of threads the system will support.
Hope that's clear... it's not exactly a simple subject and a lot of academics have and still are writing papers on how to efficiently take advantage of multiple threads and processors.
Comment