Professional Documents
Culture Documents
Introduction-Multicore Programming
Introduction-Multicore Programming
Introduction-Multicore Programming
R205984B
MULTICORE PROGRAMMING
• Programming is the process of creating a set of instructions that tell a computer how to
perform particular tasks. It involves writing and designing computer programs.
• Multicore programming came about due to the introduction of multicore processors and
multiprocessor systems.
• A multicore processor system is basically a single processor with multiple execution cores in
one chip.
• A multicore processor is simply a processor with two or more executing units called cores.
The cores of a multicore processor can individually read and execute program instructions at
the same time.
• This increases the speed of execution of the programs and supports parallel computing.
• The goal of multicore programming is to create programs that take advantage of the
multicore processors/multiprocessor systems and achieve parallelism.
4. Hardware cost – by using multicore processors we can build systems with fewer
computers and processors.
• SIMD is a classification of parallelism which is part of the Flynn’s taxonomy. This was
brought up from two characteristics; instructions and data.
• GPGPU which has large number of cores and specializes in processing data in
graphical form at low frequencies.
The hardware configuration that runs the deployed application is known as the architecture. It can
contain multicore processors, multiprocessor systems, FPGAs, or a combination of these.
Deployment of the same application to different architectures can require effort due to:
• Standards for certain events, synchronization, and data protection in each architecture
Some tasks of a system depend on the output of other tasks. The data dependency between tasks
determines their processing order. Two or more partitions containing data dependencies in a cycle
creates a data dependency loop, also known as an algebraic loop.