The study of computer science should not only cover the principles on which computational processing is based, but also reflect the current state of knowledge in these fields. Today, computer technology requires professionals from all branches of computer science to understand the fundamentals of computer processing and to know the interaction of software and hardware at all levels.
Until now, programmers can rely on hardware designers, compilers, and chip makers to make their software programs run faster or more efficiently without having to change their programs. However, in practice, if a program runs faster, it is definitely a parallel program. While the goal of many researchers is to ensure that programmers do not have to pay attention to the parallel features of hardware when writing their programs, it will take many years to achieve this. So now, programmers need to fully understand the connection between hardware and software so that their programs can run efficiently in modern computer architectures.
In computer programming, the typical way to solve a larger problem is to divide the problem into smaller and separate parts to solve all problems at the same time. Parallel programming is just a way to accomplish a common task by working concurrently with multiple processor cores. Each processor core resolves a part of the problem (a separate section). In addition, in the process of processor core calculation, the interaction of data information will occur between them, this will involve, such a problem, on the data information read, that is, how to solve the problem of memory access conflict, of course, this is also related to computer architecture, which will be summarized and analyzed in the following content.
Today, many software applications require more computing power, a way to achieve this goal is to increase the speed of each processor core or to enhance the number of processor cores per chip. However, this approach can have the following negative effects, for example, to increase the speed of the processor to generate additional heat loss, so the performance of the increase will lead to a watt or more energy loss, which is required for the cooling performance of the device, and the number of enhanced processor cores seems to be a good choice, There is no significant improvement in performance, as energy loss and dissipation are limited.
To solve this problem, today's computer hardware manufacturers are taking a multi-core architecture. Parallel programming is a good use of this architecture design, so that available computing resources can be fully utilized.
The introduction of Python parallel programming learning