⬆️ ⬇️

Side Effects of Parallelizing

image

Now I will say that everyone knows and what they have been talking about for several years. Parallel programming is inevitable. I know it sounded trite! But I specifically singled out this in a separate small post, in the hope of someone thinking about this simple phrase a little longer. Often what we hear about regularly loses all meaning for us and does not lead to reflections and conclusions. Let's try to draw some of these conclusions.



When we hear about parallel programming and the benefits it provides, we immediately associate it with the theme of increasing the number of cores on a chip and about a possible increase in application performance. At the same time, we are reminded of parallel programming technologies (MPI, POSIX Threads, OpenMP) and tools.



I will show two other lines of thought that can be much more useful. One is the most useful to programmers, the second to project managers.



image

There are very few specialists capable of writing parallel programs and having relevant experience. In the near future we can expect a personnel crisis in this area. The fact that institutes are now massively introducing courses on parallel programming is not counted. Of course, this will increase the number of specialists, but not significantly and very gradually. As always, only a few people in the group will understand what they are talking about and study it, the rest simply “listen to a course of lectures”. Thus, to quickly increase the number of programmers due to the introduction of new courses will not work.

')

People in academia have a certain amount of parallel programming experience. I do not want to offend these people. Indeed, it is often possible to meet highly skilled developers creating parallel systems and understanding the subject area for which these systems are intended. But their skills are often not combined with industrial software development. I do not know what caused it. But in our country, the development of academic software projects and application software for users is like two completely different areas. You can discuss this topic, but do not want to. Consider it just my opinion nothing.



From here you can make the first conclusion. Soon it will be possible to quickly climb the career ladder in the field of programming, if you study in advance the area of ​​parallelism. Since there will be almost no free specialists, you can become a group leader in new projects. And in any case, experts in the field of parallelism will be in the price, and a real hunt will open up behind them!



image

In connection with the change of programming technology, there will be a redistribution of the market of some decisions. There will be areas where major manufacturers will lose sight of the urgency of adapting their products to parallel systems. For a number of clients this is critical, and they will be forced to look for alternative solutions. This is a good time to enter the market with a new solution or just the opportunity to pick up clients from sluggish companies.



Therefore, the second conclusion is that project managers are wise to analyze how mastering parallelism can help increase the competitiveness of their decisions. And from the point of view of competitiveness, in the short and long term, present our services to the customer.



That's all. I hope someone will continue in his head these arguments and find a useful seed. I am sure - the idea can go on other routes. Successful reflections! :)

Source: https://habr.com/ru/post/86037/



All Articles