110 likes | 218 Views
This presentation by Peyman, delivered in December 2007, explores various optimization techniques tailored for multi-core processors. It covers general strategies, specifically focusing on Intel technologies and available tools for enhancing software performance. Key themes include program transformation, communication optimization, and load balancing strategies. The session also examines Intel's six-step approach to maximizing scalability and provides insights into useful tools like Intel Thread Checker and Intel Thread Profiler. The conclusion assesses the importance of scalability and whether the number of cores influences optimization.
E N D
ScalabilityofOptimization Techniques used in Multi-Core Presented by: Peyman Dec 2007
Overview • General Techniques • Focusing on Intel • Available Tools • Scalability of the Tools • Conclusion
General Techniques • Program Transformation • Optimizing Communication Links • Optimizing Message Passing • Optimizing Cluster Configuration • Self Adapting Software • Load Balancing
Intel’s six-step approach • Optimize the Starting Serial Code • Gather Information about the Code • Pinpoint External Dependencies • Identify Parallelization Opportunities • Locate Data Dependencies • Measure System Resource Utilization
Available Tools • Intel Thread Checker • Identify potential threading errors • Deadlocks, Data Races • Intel Thread Profiler • Critical Path Analysis
Conclusion • Scalability of Optimization Techniques • Available Tools • Does the number of Cores matter?
References • Intel White Paper, "Optimizing Software for Multi-core Processors", 2007. • “Survey of optimizing techniques for parallel programs running on computer clusters”, Espen S. Johnsen, Otto J. Anshus, John Markus Bjørndalen, Lars Ailo Bongo, Department of Computer Science, University of Tromsø, September 29, 2003