This event has ended. View the official site or create your own event → Check it out
This event has ended. Create your own
Please visit the C++Now website.
View analytic
Tuesday, May 12 • 11:00am - 12:30pm
Parallel Computing: Strategies and Implications

Log in to save this to your schedule 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 and fault-tolerance on which I holds a patent. | The algorithms I developed in my thesis on applying artificial intelligence algorithms in the... Read More →

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

Attendees (39)