c++visual-studio-2010parallel-processingcilk

Internal and external parallelism


What is difference between internal and external parallelism? If one solution(visual studio) has 2 projects then how can we define parallelism by internal or external?

Thanks


Solution

  • Internal parallelism is when tasks are performed in parallel within the system being analyzed and not known from its outside world (black box).

    External parallelism is when tasks are performed in parallel between the system and its outside world.

    Generally, these terms are more used in a hardware system context.

    In the context of C++ software example that you give, I'd say internal parallelism is about mutlithreading (internal to one process/project) whereas external parallelism is about parallelism between the two processes/projects of your solution (and may require interprocess communication).