SlideShare a Scribd company logo
1 of 18
Profiling Multicore
        Systems to
   Maximize Core
         Utilization

              Colin Walls
  colin_walls@mentor.com


            mentor.com/embedded
Multicore Drives Complexity

             Multicore &
         Multiprocessor Use                                                Open Source OS Use
   70%

             62.7%               65.1%                                                                             37.2%
                                                                                            32.2%
                                                                     23.9%



   0%                                                            Previous Project        Current Project        Next Two Years
          Current Project     Next Two Years




                            Almost two-thirds of all future
                            projects plan to use multi-core
                             or multi-processor devices!

                                               *Source: VDC Research Group, STRATEGIC INSIGHTS 2012: EMBEDDED SOFTWARE & TOOLS MARKET, TRACK 2:
                                               Embedded Software Engineering Technologies, VOLUME 3: Software Development & Multicore Tool.
Complexity Stresses Timing

                            Complex               Different
                           Debugging              Defects


     Manual Debugging


      Single Application
                                Manual Debugging


                                     Multiple
                                                     !
                                   Applications

         Bare Metal
                                   Complex OS
           RTOS

      Single Processor           Multi - Processor
         Single Core               Multi - Core
Debuggers: Stop and Stare

                                         Debuggers are
                                         indispensable, but they only
                                         show a snapshot.
                                         From this photo, can you tell
                                         if this building will be
                                         completed on schedule?
                                          – How long does it usually take
                                            this worker?
                                          – Would better tools help?
                                          – Are other workers sitting idle?
 Construction Worker by Rubber Dragon
Tracing, Instrumenting, Logging
Historically, tracing involved a hardware instrument
  – Or on-chip logic
  – Buffer size limited
  – Completely non-intrusive
  – Ideal in ISS
Instrumenting application code
  – Adding custom code
  – Maybe condition compile
  – Debugging with printf()
Logging option with many RTOSes

                                           5
Beyond Debuggers
 Answering the higher-level questions require information
  that traditional interactive debuggers lack:
   – Tracing historical state
   – Application awareness
 Tracing can help find:
   – race conditions
   – latencies
   – bugs that don't cause traps
   – systems where stopping the world
     isn't feasible
                                                 Photo by woodleywonderworks


 ... in both application and platform code
Trace Data Sources – Linux Trace Toolkit
Sourcery Analyzer focuses on
LTTng to record and collect trace
data on Linux.
  – Mature, high-performance tracing
    system for Linux                                Linux Trace Toolkit - next generation


  – Can record both kernel and
    userspace events
  – Low overhead




                          HRB, Analyzer, Sep 2012                7
Sourcery Analyzer with LTTng Architecture




                                                          network
                                   Sourcery Analyzer
host
Linux target
          memory                         LTTng
             flash    Storag           Consumer
              disk
       network FS     e                 Daemon




                       C/C++
                                                       Linux Kernel
                     Application




                                                                    8
LTTng 2.0 Attributes

Tracepoints                    Common Trace Format
• Low overhead                 • New compact binary
• No trap or system call             format
  required                     • Flexible data layout
• Suitable for use in          • Network streamable
  realtime systems             • Size and seek optimized
• Inactive tracepoints have          for very large trace files
  negligible overhead

Deployment
• Loadable kernel module (2.6.38+)
• Companion target side daemons and libraries
Linux Kernel Tracing - 3.6.6



       250+ Tracepoints
Sourcery Analyzer - Not Just A Trace Viewer
 Trace viewing tools       Event List

 depend on users to find
 the patterns.
 Sourcery Analyzer
 focuses on analysis.                    Analysis Agents

 Task-centric Analysis
 Agents calculate and
 display the higher-level
 patterns.
Viewing Trace Data
 Sourcery Analyzer inherited its engine from
 Mentor's high-end hardware design tools.
  – high-performance event database
  – sophisticated measurement tools
  – variety of visualization types
 Visualize event payloads, not
 just events.




                                      Lamborghini Engine by Dr. Warner
Customizability is Important
 Most developers are working on the
  application, but most debugging tools
  provide only platform awareness.
                                          Sourcery         where most
                                          Analyzer         work occurs
 To compensate, developers often
  cobble together in-house debugging      customized
  tools.                                  Analysis          application
                                          Agents
                                                                              In-house
 Mentor Embedded Sourcery                                                      Tools
  Analyzer provides platform
                                          out-of-the-box   operating system     Stock
  visibility and a rich platform for      Analysis                            3rd-party
  user-developed analysis tools.          Agents
                                                              hardware          Tools


                                                             platform
Analysis Agents
• Out-of-box access to powerful
   analysis routines
• Ships with library of 15 popular
   agents
• One-click flow to automatically
   generate pre-processed analysis
   views
• Ability to also create and add
   customized agents to the library

Software thread state   Page fault rate       Network activity
Scheduling              Function call flow    Thread migration rate
CPU utilization         CPU state             or add your own
IRQ rate                Filesystem activity


                                                                      14
Sourcery Analyzer Graph Types
Real World Example

     Old Design               New Design
  RTOS, single-core         Linux, multicore
      maximum




                              maximum
                ~200                    7000+
                  ms                       ms
      average




                              average
                ~150                    ~150
                  ms                       ms
      minimum




                              minimum
                ~40                      ~40
                  ms                       ms


                       16
Diagnosing Problems: Real-time Response
 Common problem: a real-time deadline is occasionally, but
  rarely, missed.
 Approach:
   – Instrument the start/stop measurement points (e.g. IRQ and application's “read”
     function).
   – Run the test workload.
   – Use Sourcery Analyzer to highlight only the missed deadlines.
   – Correlate those occurrences with other system activities on the timeline.
   – If more detailed data is needed, add instrumentation and repeat.



User-specified budget                      OK                  Not OK




                                     HRB, Analyzer, Sep 2012            17
Thank you

                  Colin Walls
        colin_walls@mentor.com
http://blogs.mentor.com/colinwalls




               mentor.com/embedded

More Related Content

What's hot

Jtag Tools For Linux
Jtag Tools For LinuxJtag Tools For Linux
Jtag Tools For Linuxsheilamia
 
V Labs Product Presentation
V Labs  Product PresentationV Labs  Product Presentation
V Labs Product PresentationWil Huijben
 
EclipseCon 2011: Deciphering the CDT debugger alphabet soup
EclipseCon 2011: Deciphering the CDT debugger alphabet soupEclipseCon 2011: Deciphering the CDT debugger alphabet soup
EclipseCon 2011: Deciphering the CDT debugger alphabet soupBruce Griffith
 
Pjproject su Android: uno scontro su più livelli
Pjproject su Android: uno scontro su più livelliPjproject su Android: uno scontro su più livelli
Pjproject su Android: uno scontro su più livelliGiacomo Bergami
 
Yet Another Android Rootkit
Yet Another Android RootkitYet Another Android Rootkit
Yet Another Android RootkitFFRI, Inc.
 
Skype testing overview
Skype testing overviewSkype testing overview
Skype testing overviewQA Club Kiev
 
Fel Flyer F10
Fel Flyer F10Fel Flyer F10
Fel Flyer F10chitlesh
 
Shorten Device Boot Time for Automotive IVI and Navigation Systems
Shorten Device Boot Time for Automotive IVI and Navigation SystemsShorten Device Boot Time for Automotive IVI and Navigation Systems
Shorten Device Boot Time for Automotive IVI and Navigation SystemsNational Cheng Kung University
 
Learning, Analyzing and Protecting Android with TOMOYO Linux (JLS2009)
Learning, Analyzing and Protecting Android with TOMOYO Linux (JLS2009)Learning, Analyzing and Protecting Android with TOMOYO Linux (JLS2009)
Learning, Analyzing and Protecting Android with TOMOYO Linux (JLS2009)Toshiharu Harada, Ph.D
 
Static Software Watermarking
Static Software WatermarkingStatic Software Watermarking
Static Software WatermarkingJames Hamilton
 
Build Community Android Distribution and Ensure the Quality
Build Community Android Distribution and Ensure the QualityBuild Community Android Distribution and Ensure the Quality
Build Community Android Distribution and Ensure the QualityNational Cheng Kung University
 
Timing Based Process Execution in Linux Environment
Timing Based Process Execution in Linux EnvironmentTiming Based Process Execution in Linux Environment
Timing Based Process Execution in Linux EnvironmentBartlomiej Swiercz
 
Domain driven design ch1
Domain driven design ch1Domain driven design ch1
Domain driven design ch1HyeonSeok Choi
 
OSWALD: Lessons from and for the Open Hardware Movement
OSWALD: Lessons from and for the Open Hardware MovementOSWALD: Lessons from and for the Open Hardware Movement
OSWALD: Lessons from and for the Open Hardware MovementOSU Open Source Lab
 

What's hot (20)

Jtag Tools For Linux
Jtag Tools For LinuxJtag Tools For Linux
Jtag Tools For Linux
 
V Labs Product Presentation
V Labs  Product PresentationV Labs  Product Presentation
V Labs Product Presentation
 
EclipseCon 2011: Deciphering the CDT debugger alphabet soup
EclipseCon 2011: Deciphering the CDT debugger alphabet soupEclipseCon 2011: Deciphering the CDT debugger alphabet soup
EclipseCon 2011: Deciphering the CDT debugger alphabet soup
 
Discover System Facilities inside Your Android Phone
Discover System Facilities inside Your Android Phone Discover System Facilities inside Your Android Phone
Discover System Facilities inside Your Android Phone
 
Pjproject su Android: uno scontro su più livelli
Pjproject su Android: uno scontro su più livelliPjproject su Android: uno scontro su più livelli
Pjproject su Android: uno scontro su più livelli
 
Yet Another Android Rootkit
Yet Another Android RootkitYet Another Android Rootkit
Yet Another Android Rootkit
 
Skype testing overview
Skype testing overviewSkype testing overview
Skype testing overview
 
Fel Flyer F10
Fel Flyer F10Fel Flyer F10
Fel Flyer F10
 
Construct an Efficient and Secure Microkernel for IoT
Construct an Efficient and Secure Microkernel for IoTConstruct an Efficient and Secure Microkernel for IoT
Construct an Efficient and Secure Microkernel for IoT
 
Shorten Device Boot Time for Automotive IVI and Navigation Systems
Shorten Device Boot Time for Automotive IVI and Navigation SystemsShorten Device Boot Time for Automotive IVI and Navigation Systems
Shorten Device Boot Time for Automotive IVI and Navigation Systems
 
Learning, Analyzing and Protecting Android with TOMOYO Linux (JLS2009)
Learning, Analyzing and Protecting Android with TOMOYO Linux (JLS2009)Learning, Analyzing and Protecting Android with TOMOYO Linux (JLS2009)
Learning, Analyzing and Protecting Android with TOMOYO Linux (JLS2009)
 
Embedded Hypervisor for ARM
Embedded Hypervisor for ARMEmbedded Hypervisor for ARM
Embedded Hypervisor for ARM
 
Static Software Watermarking
Static Software WatermarkingStatic Software Watermarking
Static Software Watermarking
 
Build Community Android Distribution and Ensure the Quality
Build Community Android Distribution and Ensure the QualityBuild Community Android Distribution and Ensure the Quality
Build Community Android Distribution and Ensure the Quality
 
Timing Based Process Execution in Linux Environment
Timing Based Process Execution in Linux EnvironmentTiming Based Process Execution in Linux Environment
Timing Based Process Execution in Linux Environment
 
Android Virtualization: Opportunity and Organization
Android Virtualization: Opportunity and OrganizationAndroid Virtualization: Opportunity and Organization
Android Virtualization: Opportunity and Organization
 
Introduction to Android Window System
Introduction to Android Window SystemIntroduction to Android Window System
Introduction to Android Window System
 
Domain driven design ch1
Domain driven design ch1Domain driven design ch1
Domain driven design ch1
 
Thesis defense
Thesis defenseThesis defense
Thesis defense
 
OSWALD: Lessons from and for the Open Hardware Movement
OSWALD: Lessons from and for the Open Hardware MovementOSWALD: Lessons from and for the Open Hardware Movement
OSWALD: Lessons from and for the Open Hardware Movement
 

Similar to Profiling Multicore Systems to Maximize Core Utilization

4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture PortfolioMajong DevJfu
 
Introduction To SPOT
Introduction To SPOTIntroduction To SPOT
Introduction To SPOTpauldeng
 
The Hacking Games - Operation System Vulnerabilities Meetup 29112022
The Hacking Games - Operation System Vulnerabilities Meetup 29112022The Hacking Games - Operation System Vulnerabilities Meetup 29112022
The Hacking Games - Operation System Vulnerabilities Meetup 29112022lior mazor
 
Dynamic Languages in Production: Progress and Open Challenges
Dynamic Languages in Production: Progress and Open ChallengesDynamic Languages in Production: Progress and Open Challenges
Dynamic Languages in Production: Progress and Open Challengesbcantrill
 
Linux Performance Analysis and Tools
Linux Performance Analysis and ToolsLinux Performance Analysis and Tools
Linux Performance Analysis and ToolsBrendan Gregg
 
Breaking the monolith to microservice with Docker and Kubernetes (k8s)
Breaking the monolith to microservice with Docker and Kubernetes (k8s)Breaking the monolith to microservice with Docker and Kubernetes (k8s)
Breaking the monolith to microservice with Docker and Kubernetes (k8s)Tamir Dresher
 
A software monitoring framework for quality verification
A software monitoring framework for quality verificationA software monitoring framework for quality verification
A software monitoring framework for quality verificationDileepa Jayathilake
 
From Silicon to Software - IIT Madras
From Silicon to Software - IIT MadrasFrom Silicon to Software - IIT Madras
From Silicon to Software - IIT MadrasAanjhan Ranganathan
 
“Seamless Deployment of Multimedia and Machine Learning Applications at the E...
“Seamless Deployment of Multimedia and Machine Learning Applications at the E...“Seamless Deployment of Multimedia and Machine Learning Applications at the E...
“Seamless Deployment of Multimedia and Machine Learning Applications at the E...Edge AI and Vision Alliance
 
KEY CONCEPTS FOR SCALABLE STATEFUL SERVICES
KEY CONCEPTS FOR SCALABLE STATEFUL SERVICESKEY CONCEPTS FOR SCALABLE STATEFUL SERVICES
KEY CONCEPTS FOR SCALABLE STATEFUL SERVICESMykola Novik
 
Robots in Human Environments
Robots in Human EnvironmentsRobots in Human Environments
Robots in Human EnvironmentsAndreas Heil
 
【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪
【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪
【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪MAKERPRO.cc
 
Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)simon56
 
Operational Visibiliy and Analytics - BU Seminar
Operational Visibiliy and Analytics - BU SeminarOperational Visibiliy and Analytics - BU Seminar
Operational Visibiliy and Analytics - BU SeminarCanturk Isci
 
Linux on System z Update: Current & Future Linux on System z Technology
Linux on System z Update: Current & Future Linux on System z TechnologyLinux on System z Update: Current & Future Linux on System z Technology
Linux on System z Update: Current & Future Linux on System z TechnologyIBM India Smarter Computing
 

Similar to Profiling Multicore Systems to Maximize Core Utilization (20)

4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
 
You suck at Memory Analysis
You suck at Memory AnalysisYou suck at Memory Analysis
You suck at Memory Analysis
 
Introduction To SPOT
Introduction To SPOTIntroduction To SPOT
Introduction To SPOT
 
System software
System softwareSystem software
System software
 
The Hacking Games - Operation System Vulnerabilities Meetup 29112022
The Hacking Games - Operation System Vulnerabilities Meetup 29112022The Hacking Games - Operation System Vulnerabilities Meetup 29112022
The Hacking Games - Operation System Vulnerabilities Meetup 29112022
 
Dynamic Languages in Production: Progress and Open Challenges
Dynamic Languages in Production: Progress and Open ChallengesDynamic Languages in Production: Progress and Open Challenges
Dynamic Languages in Production: Progress and Open Challenges
 
Linux Performance Analysis and Tools
Linux Performance Analysis and ToolsLinux Performance Analysis and Tools
Linux Performance Analysis and Tools
 
Breaking the monolith to microservice with Docker and Kubernetes (k8s)
Breaking the monolith to microservice with Docker and Kubernetes (k8s)Breaking the monolith to microservice with Docker and Kubernetes (k8s)
Breaking the monolith to microservice with Docker and Kubernetes (k8s)
 
A software monitoring framework for quality verification
A software monitoring framework for quality verificationA software monitoring framework for quality verification
A software monitoring framework for quality verification
 
From Silicon to Software - IIT Madras
From Silicon to Software - IIT MadrasFrom Silicon to Software - IIT Madras
From Silicon to Software - IIT Madras
 
“Seamless Deployment of Multimedia and Machine Learning Applications at the E...
“Seamless Deployment of Multimedia and Machine Learning Applications at the E...“Seamless Deployment of Multimedia and Machine Learning Applications at the E...
“Seamless Deployment of Multimedia and Machine Learning Applications at the E...
 
.Net + novas tecnologias + win8
.Net + novas tecnologias + win8.Net + novas tecnologias + win8
.Net + novas tecnologias + win8
 
L4 Microkernel :: Design Overview
L4 Microkernel :: Design OverviewL4 Microkernel :: Design Overview
L4 Microkernel :: Design Overview
 
KEY CONCEPTS FOR SCALABLE STATEFUL SERVICES
KEY CONCEPTS FOR SCALABLE STATEFUL SERVICESKEY CONCEPTS FOR SCALABLE STATEFUL SERVICES
KEY CONCEPTS FOR SCALABLE STATEFUL SERVICES
 
Robots in Human Environments
Robots in Human EnvironmentsRobots in Human Environments
Robots in Human Environments
 
【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪
【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪
【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪
 
Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)
 
Operational Visibiliy and Analytics - BU Seminar
Operational Visibiliy and Analytics - BU SeminarOperational Visibiliy and Analytics - BU Seminar
Operational Visibiliy and Analytics - BU Seminar
 
Improve Academic IT Infrastructure
Improve Academic IT InfrastructureImprove Academic IT Infrastructure
Improve Academic IT Infrastructure
 
Linux on System z Update: Current & Future Linux on System z Technology
Linux on System z Update: Current & Future Linux on System z TechnologyLinux on System z Update: Current & Future Linux on System z Technology
Linux on System z Update: Current & Future Linux on System z Technology
 

More from mentoresd

Getting Your Medical Device FDA Approved
Getting Your Medical Device FDA ApprovedGetting Your Medical Device FDA Approved
Getting Your Medical Device FDA Approvedmentoresd
 
Security for io t apr 29th mentor embedded hangout
Security for io t apr 29th mentor embedded hangoutSecurity for io t apr 29th mentor embedded hangout
Security for io t apr 29th mentor embedded hangoutmentoresd
 
Internet of Things Connectivity for Embedded Devices
Internet of Things Connectivity for Embedded DevicesInternet of Things Connectivity for Embedded Devices
Internet of Things Connectivity for Embedded Devicesmentoresd
 
Technology, Business and Regulation of the Connected Car
Technology, Business and Regulation of the Connected CarTechnology, Business and Regulation of the Connected Car
Technology, Business and Regulation of the Connected Carmentoresd
 
Meeting SEP 2.0 Compliance: Developing Power Aware Embedded Systems for the M...
Meeting SEP 2.0 Compliance: Developing Power Aware Embedded Systems for the M...Meeting SEP 2.0 Compliance: Developing Power Aware Embedded Systems for the M...
Meeting SEP 2.0 Compliance: Developing Power Aware Embedded Systems for the M...mentoresd
 
How to Measure RTOS Performance
How to Measure RTOS Performance How to Measure RTOS Performance
How to Measure RTOS Performance mentoresd
 
Developing the Next Generation Embedded HMIs
Developing the Next Generation Embedded HMIs Developing the Next Generation Embedded HMIs
Developing the Next Generation Embedded HMIs mentoresd
 
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System mentoresd
 
Power Management in Embedded Systems
Power Management in Embedded Systems Power Management in Embedded Systems
Power Management in Embedded Systems mentoresd
 

More from mentoresd (9)

Getting Your Medical Device FDA Approved
Getting Your Medical Device FDA ApprovedGetting Your Medical Device FDA Approved
Getting Your Medical Device FDA Approved
 
Security for io t apr 29th mentor embedded hangout
Security for io t apr 29th mentor embedded hangoutSecurity for io t apr 29th mentor embedded hangout
Security for io t apr 29th mentor embedded hangout
 
Internet of Things Connectivity for Embedded Devices
Internet of Things Connectivity for Embedded DevicesInternet of Things Connectivity for Embedded Devices
Internet of Things Connectivity for Embedded Devices
 
Technology, Business and Regulation of the Connected Car
Technology, Business and Regulation of the Connected CarTechnology, Business and Regulation of the Connected Car
Technology, Business and Regulation of the Connected Car
 
Meeting SEP 2.0 Compliance: Developing Power Aware Embedded Systems for the M...
Meeting SEP 2.0 Compliance: Developing Power Aware Embedded Systems for the M...Meeting SEP 2.0 Compliance: Developing Power Aware Embedded Systems for the M...
Meeting SEP 2.0 Compliance: Developing Power Aware Embedded Systems for the M...
 
How to Measure RTOS Performance
How to Measure RTOS Performance How to Measure RTOS Performance
How to Measure RTOS Performance
 
Developing the Next Generation Embedded HMIs
Developing the Next Generation Embedded HMIs Developing the Next Generation Embedded HMIs
Developing the Next Generation Embedded HMIs
 
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
 
Power Management in Embedded Systems
Power Management in Embedded Systems Power Management in Embedded Systems
Power Management in Embedded Systems
 

Recently uploaded

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Recently uploaded (20)

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

Profiling Multicore Systems to Maximize Core Utilization

  • 1. Profiling Multicore Systems to Maximize Core Utilization Colin Walls colin_walls@mentor.com mentor.com/embedded
  • 2. Multicore Drives Complexity Multicore & Multiprocessor Use Open Source OS Use 70% 62.7% 65.1% 37.2% 32.2% 23.9% 0% Previous Project Current Project Next Two Years Current Project Next Two Years Almost two-thirds of all future projects plan to use multi-core or multi-processor devices! *Source: VDC Research Group, STRATEGIC INSIGHTS 2012: EMBEDDED SOFTWARE & TOOLS MARKET, TRACK 2: Embedded Software Engineering Technologies, VOLUME 3: Software Development & Multicore Tool.
  • 3. Complexity Stresses Timing Complex Different Debugging Defects Manual Debugging Single Application Manual Debugging Multiple ! Applications Bare Metal Complex OS RTOS Single Processor Multi - Processor Single Core Multi - Core
  • 4. Debuggers: Stop and Stare  Debuggers are indispensable, but they only show a snapshot.  From this photo, can you tell if this building will be completed on schedule? – How long does it usually take this worker? – Would better tools help? – Are other workers sitting idle? Construction Worker by Rubber Dragon
  • 5. Tracing, Instrumenting, Logging Historically, tracing involved a hardware instrument – Or on-chip logic – Buffer size limited – Completely non-intrusive – Ideal in ISS Instrumenting application code – Adding custom code – Maybe condition compile – Debugging with printf() Logging option with many RTOSes 5
  • 6. Beyond Debuggers  Answering the higher-level questions require information that traditional interactive debuggers lack: – Tracing historical state – Application awareness  Tracing can help find: – race conditions – latencies – bugs that don't cause traps – systems where stopping the world isn't feasible Photo by woodleywonderworks  ... in both application and platform code
  • 7. Trace Data Sources – Linux Trace Toolkit Sourcery Analyzer focuses on LTTng to record and collect trace data on Linux. – Mature, high-performance tracing system for Linux Linux Trace Toolkit - next generation – Can record both kernel and userspace events – Low overhead HRB, Analyzer, Sep 2012 7
  • 8. Sourcery Analyzer with LTTng Architecture network Sourcery Analyzer host Linux target memory LTTng flash Storag Consumer disk network FS e Daemon C/C++ Linux Kernel Application 8
  • 9. LTTng 2.0 Attributes Tracepoints Common Trace Format • Low overhead • New compact binary • No trap or system call format required • Flexible data layout • Suitable for use in • Network streamable realtime systems • Size and seek optimized • Inactive tracepoints have for very large trace files negligible overhead Deployment • Loadable kernel module (2.6.38+) • Companion target side daemons and libraries
  • 10. Linux Kernel Tracing - 3.6.6 250+ Tracepoints
  • 11. Sourcery Analyzer - Not Just A Trace Viewer  Trace viewing tools Event List depend on users to find the patterns.  Sourcery Analyzer focuses on analysis. Analysis Agents Task-centric Analysis Agents calculate and display the higher-level patterns.
  • 12. Viewing Trace Data  Sourcery Analyzer inherited its engine from Mentor's high-end hardware design tools. – high-performance event database – sophisticated measurement tools – variety of visualization types  Visualize event payloads, not just events. Lamborghini Engine by Dr. Warner
  • 13. Customizability is Important  Most developers are working on the application, but most debugging tools provide only platform awareness. Sourcery where most Analyzer work occurs  To compensate, developers often cobble together in-house debugging customized tools. Analysis application Agents In-house  Mentor Embedded Sourcery Tools Analyzer provides platform out-of-the-box operating system Stock visibility and a rich platform for Analysis 3rd-party user-developed analysis tools. Agents hardware Tools platform
  • 14. Analysis Agents • Out-of-box access to powerful analysis routines • Ships with library of 15 popular agents • One-click flow to automatically generate pre-processed analysis views • Ability to also create and add customized agents to the library Software thread state Page fault rate Network activity Scheduling Function call flow Thread migration rate CPU utilization CPU state or add your own IRQ rate Filesystem activity 14
  • 16. Real World Example Old Design New Design RTOS, single-core Linux, multicore maximum maximum ~200 7000+ ms ms average average ~150 ~150 ms ms minimum minimum ~40 ~40 ms ms 16
  • 17. Diagnosing Problems: Real-time Response  Common problem: a real-time deadline is occasionally, but rarely, missed.  Approach: – Instrument the start/stop measurement points (e.g. IRQ and application's “read” function). – Run the test workload. – Use Sourcery Analyzer to highlight only the missed deadlines. – Correlate those occurrences with other system activities on the timeline. – If more detailed data is needed, add instrumentation and repeat. User-specified budget OK Not OK HRB, Analyzer, Sep 2012 17
  • 18. Thank you Colin Walls colin_walls@mentor.com http://blogs.mentor.com/colinwalls mentor.com/embedded