ABSTRACT

Parallel programming turned from an exotic programming model in early 2000 to the only acceptable programming model as of 2015. Even if the story of "multiple cores within a single CPU" sounded like a dream come true, it meant that the programmers would now have to learn the parallel programming methods to take advantage of both of these cores. If a CPU could execute two programs at the same time, this automatically implied that a programmer had to write those two programs. The reason for the name of multi-threaded programming when the CPU makers started designing multi-core architectures, they quickly realized that it wasn't difficult to add the capability to execute two tasks within one core by sharing some of the core resources, such as cache memory. On the mobile processor side, iPhones and Android phones all have two or four cores.