Concurrency and Parallel Programming
It is well known from Semiconductor Physics that processor cores are not to be expected to become significatly faster any more. The speed of single transistors are not to get much faster anymore due to limitations in physical dimensions and other physical constraints.1The silicon technology is at its physical boundaries and therefore, trend goes to more specialized architectures and computer processors with more cores and special core designs like vector cores.
In todays computers multicore processors are standard and the amount of cores is steadily increasing. The current standard of two or four cores are just the beginning. Processors with 16 cores and more are to be expected within the next years.
The big question is: What are all the cores good for? A single core just calculates with a speed of 2 or 3 GHz and in the current status of software development, the most cores are not used at all and therefore, they are good for nothing. If we want to unleash the full potential of our todays computers, we need to use all cores which are provided and to reduce the sequentiell program code to a minimum. To do this, we need to get in touch with the principles of concurrency and multi processor programming and modern programming languages which provide the power and the paradigms to get concurrent programs right.
Multiprocessor programming needs different approaches of thinking and design and is a big step forward for a lot of software development teams. It's not just about getting the software faster and to separate different parts of the software to spread it over multiple cores, but it's about thread safty, about secure data, about repeatability and reliability.
PureSol Technologies can help you to plan and to implement software projects with the need for multiprocess computing. We can also teach the principles and design requirements for multiprocessor programming to get projects done in a more reliable way.
1 Modern MOS transitor gate oxids thicknesses are in the range of only a few tens of atoms. The leakage current increases dramatically and small amount of atoms makes it difficult to produce chips in the required quality.