Challenges in Multicore Programming

Page 1

Challenges in Multicore Programming Over the years it has been observed that the new languages generally penetrate computing practice with regards to a profound change in the computing hardware. The multicore is taken to be a radical hardware change in the software engineering landscape. Other than its ability to significantly improve computing performance, multi-core also impacts our daily life. Parallel processing systems are time consuming and costly to build and need a higher level of know-how to develop. With the introduction of multicore programming the average programmer requires to develop a higher level of capability. It is also believed that in order to harness the full potential of multi-core systems new computing practices and languages needs to be developed. The major concern is that writing parallel programs are difficult and is more intricate than writing sequential programs. In addition to that there is the absence of foundational knowledge regarding the tools and processes available and the way to use them. IT analysts such as Joe Hummel are of the opinion that “The hardware is advancing, but software hasn’t kept up. The crux of the problem is it’s important for a growing minority of people to know about this. But it’s hard to create that software.” Multicore users need to reorganize and re-write their applications in case they want to attain high performance levels. It compels each programmer to become a parallel programmer, to take their chips as clusters and manage concerns about synchronization, communication, and data transfer as essential elements of their algorithms. For the ones familiar with parallel programming, multicore processors add a new level of parallelism and complementary layers of intricacy. It is hence a challenge for developers to locate and assemble all the tools and data required by them to write software for multicore. Hummel is of opinion that selective universities today provide classes in parallel processing as institutions are researching to find out the way it seamlessly merges with the curriculum. To make things easier, the IEEE Computer Society course addresses the various challenges pertaining to multicore programming that starts from over viewing dual-core IA programming, MKL, compiler switches, and profilers and shifting on to programming with Open MP, POSIX, Windows, virtualization and multicore software infrastructure as well as debugging. The course also includes threaded programming migration case studies, and the scalability of threaded applications. Also read more about : Online Digital Library & software certification


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.