C++Now 2015 has ended
Please visit the C++Now website.
Back To Schedule
Tuesday, May 12 • 11:00am - 12:30pm
Parallel Computing: Strategies and Implications

Log in to save this to your schedule, view media, leave feedback and see who's attending!

Multi-core architecture is the present and future way in which the market is addressing Moore’s law limitations. Multi-core workstations, high performance computers, GPUs and the focus on hybrid/public cloud technologies for offloading and scaling applications is the direction development is heading.
Leveraging multiple cores in order to increase application performance and responsiveness is expected especially from classic high-throughput executions such as rendering, simulations and heavy calculations.
Choosing the correct multi-core strategy for your software requirements is essential. Making the wrong decision can have serious implications on software performance, scalability, memory usage and other factors.
In this overview we’ll explore various considerations for choosing the correct multi-core strategy for your application’s requirement and investigate the pros and cons of multi-threaded development vs multi-process development.
For example, Boost’s GIL (Generic Image Library) provides the ability to efficiently code image processing algorithms. But deciding whether your algorithms should be executed as multi-threaded or multi-process has a high impact on your design, coding, future maintenance, scalability, performance and other factors.
A partial list of considerations that should be taken into account before taking this architectural decision can look like:
• How big are the images I need to process 
• What risks can I have in terms of race-conditions, timing issues, sharing violations – does it justify multi-threading programming?
• Do I have any special communication and synchronization requirements?
• How much time would it take my customers to execute a large scenario?
• Would I like to scale processing performance by using the cloud or cluster?
In order to learn how this issue is being addressed in a real-world scenario, we will examine common development and testing environments we are using in our daily work and compare the multi-core strategies they’ve implemented in order to support higher development productivity.


Guy Shattah

Principle Engineer, Incredibuild (xoreax)
I am a veteran software engineer with expertise in the fields of multi-threaded, distributed development of mission critical real-time systems. such as storage, networking, security and more. My Professional and academic experience is focused on innovations in the fields of high-availability... Read More →

Tuesday May 12, 2015 11:00am - 12:30pm MDT

Attendees (0)