Limitation of Parallelism

Although parallelism is always the best solution for multithreading, there is some situation that sharing resources is not possible.

Take the #example from the Western family. Suppose that some of you want to drink a wine which value $1000. It is impossible to let everyone hold a bottle of wine for themselves which resulted that you all agree to share the wine together. Even if you hold your own glass, the wine is still needed to be shared.

In this situation, consider revalue the situation: either remove the wine or apply concurrency startegy.

Links to this page
  • Optimisation

    The layout of a program could affect its own performance regardless of its own code. This means that the link order (changes of function address) and environment variable size (moves of program stack) could be arbitrary for one architecture which resulted in more or less cache conflict. Therefore, we need to eliminate the layout differences by using a stabiliser, which randomises the memory layout of the program, analyse it using 202205072243# and use causal profiler such as coz especially for programs that utilise parallelism#.

  • Multithreading Management

    Multithreading becomes important as the number of core for the processor increases. This allows the possibility of parallelism and concurrency# along with their limitation# and short comings# with the utilisation of threads#. 202201301240# is one of the thinking model hinting on a better parallel and/or concurrency programming.

  • Interprocess Communication (IPC)

    IPC is an operating system facility that allows processes within a system or from different system to communicate (exchange information and synchronise) with each other. It is important since it allows information sharing between processes, Parallelism#, modularity, and convenience.

#multithreading