SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
1




Staying ahead of the multi-core revolution
            with CDT Debug

                                           Patrick Chuong, Texas Instruments
                                             Dobrin Alexiev, Texas Instruments
                                               Marc Khouzam, Ericsson Canada

    Copyright © 2011 Ericsson,Date Instruments, Made available under the Eclipse Public License v 1.0
            Confidential | Texas | Other Information, if necessary
                                                                                                  © 2002 IBM Corporation
Agenda

          The multi-core problem


          Multicore Debug Workgroup


          New features
                     Multi-process
                     Pin&Clone
                     Enhanced breakpoints
                     Grouping
                     Visualizer view


          Plans
          Live Demos
Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   2
Multi-core problems – scalability and complexity

          Scalability: more CPUs, DSPs, processes, threads...
          Complexity of user tasks:
                  Users still focus mostly on few entities –CPUs, threads
                  Sometimes they need to see the whole system: all CPUs, all threads
                  Users need to be able to customize their view of the system
                          Group or hide CPUs, threads, types of nodes
                              step these threads simultaneously
                              set breakpoints that apply only to these CPUs
                          Define different layouts that fit their current task
                              See the system in terms of JTAG connectivity, power
                              Separate system threads from user threads
          Debug View is getting crowded…
                  but still is the main view for debugging the system

Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   3
Multi-core – solutions

          Ways of managing complexity and scalability
                  The users can switch between multiple layouts in the Debug View
                          JTAG layout, Power layout, CPU affinity layout
                  The user can hide nodes or node types in the Debug View
                          JTAG connections, all processes nodes, system threads, etc.
                  The user can group nodes in the Debug View
                          Stepping the group node will step all threads in the group
                          Breakpoints can be added to all threads in the group
                  Display the system in multiple views simultaneously
                          Visualizer view, Status view, etc.
                          The user can perform synchronized run control operations
                          The selection in these views can drive the data displayed in the
                           other debugger views: Registers, Variables, Memory, etc.


Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   4
CDT’s Multicore Debug Workgroup

          Joint effort by people/companies interested in bringing
           ‘multicore’ debugging to the CDT
          Goals
                  Provide a good user experience for multicore debugging in CDT
                  Determine debugging features of interest
                  Collaborate to bring each feature to CDT: design, implementation,
                   review, test.
          History
                  Workgroup was first proposed at the CDT Summit 2010 and was
                   created in early October 2010
                  Work began with the first conference call on November 16th.
                  10 different companies are regular participants



Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   5
CDT’s Multicore Debug Workgroup

          Wiki page can be found in the “Workgroups” section of the CDT
           wiki, or directly at:
                  http://wiki.eclipse.org/CDT/MultiCoreDebugWorkingGroup
                  Conference Call scheduling
                  Completed features
                  Features currently of interest
                  Other proposed features


          Conference calls are held every two weeks with minutes of
           meetings posted on the wiki
          Open to anyone interested (its free☺)



Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   6
New features

          Multi-process

          Pin & Clone


          Enhanced breakpoints


          Grouping


          Visualizer view




Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   7
Multi-process debugging
     Allows to debug multiple processes of a target in the same session
     Good for debugging process interactions
     Now available in CDT, for Linux targets when using GDB 7.2




Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   8
Multi-process debugging
 Combines debugging of running processes and new processes

 Works for local
  debugging and
  remote
  debugging


 Will work in both
  non-stop or all-
  stop modes




 Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   9
New features

          Multi-process


          Pin & Clone

          Enhanced breakpoints


          Grouping


          Visualizer view




Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   10
Pin & Clone - Background
        What is Pin & Clone?
                 Clone: enable multiple debug view instances in the same
                  workbench window i.e Variables
                 Pin: attach a debug view instance to a set of debug context i.e
                  Threads


        Problem: ability to compare data from multiple
         processes/threads


        Solution: open multiple view instances and attach the view
         instances to a set of debug context




Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   11
Pin & Clone - Features
          Debug views that support Pin & Clone
                  Variables, Expressions, Registers, Memory Browser, and
                   Disassembly
          Main feature set
                  Views that are pinned will have the pin context(s) label shown in
                   it’s description area and the pin toolbar bar icon will have matching
                   overlay icon in the Debug View
                  View toolbar icon shows multi-pin contexts when more than one
                   debug context is selected, extendable by the backend
                  View tab label will be numerically indexed
                  Pinned context(s) will reattach itself when a launch is terminate
                   and restart
          Available in CDT 8.0 M6 for DSF-GDB backend
          Extendable and customizable by debugger backend


Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   12
Pin & Clone – Multi-View Instances
          Compare data between two debug sessions
          Two Variables views
                  Views are pinned to a thread in each debug session




Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   13
Pin & Clone – Multiple pinned contexts
          Limit a view to a sub-set of context
          One Variables view
                  View is pinned to two threads, switching between these two thread
                   will cause the view to update




Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   14
New features

          Multi-process


          Pin & Clone


          Enhanced breakpoints

          Grouping


          Visualizer view




Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   15
Enhanced Breakpoint Support

          Current limitations:
                  Installed for all threads/cores
                  Can’t configure properties before install to backend
                  Not scalable, restricted UI
                          New h/w capability isn’t dynamically exposed in UI
                          Does not make use of flexible viewer from Platform Debug
                  No indication which thread/core the breakpoint is hit




Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   16
Breakpoint View Example: TI UBM

          A debug session with two cores
          An address breakpoint is installed on C55xx core
                  With condition z2 == 20 and action to update Register view
          A source line breakpoint is installed on C6416 core
                  With action to Halt (suspend)
          Marker icon with >>> indicates breakpoint has recently hit




Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0
Create Breakpoint Example: TI UBM

          Available supported breakpoint type menu for the active debug context
           i.e Thread
          New Watchpoint type dialog
          New Advanced type dialog
                  Dynamic breakpoint properties
          Contextual breakpoint type menu support for
           Editor, Disassembly view, Project view,
           Outline view, etc…




Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0
New features

          Multi-process


          Pin & Clone


          Enhanced breakpoints


          Grouping

          Visualizer view




Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   19
Debug View User Groups
          Why?
                  focus on few entities –CPUs, threads
                  step multiple threads simultaneously
                  set breakpoints that apply to multiple CPUs
          How?
                  choose the Debug View context menu “Group” when multiple nodes
                   are selected. A group is created as parent of the selected nodes
                  stepping the group node will step all threads in the group
                  the group icon will show the state of all threads in the group
                  the user can ungroup threads previously grouped
                  the groups will be persisted between debug sessions
                  groups can contain other groups



Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   20
Debug View User Groups – integration

          Available for CDT-DSF debuggers
          Currently part of the code is in DSF common
           layer, part is in the DSF-GDB debugger.
          The common layer enables other DSF
           debuggers to integrate the feature easily.
          Different backend capabilities can be provided:
                  Some backends can support the user groups,
                   for some the user groups will be transparent.
                  For some backends stepping, running or
                   suspending groups will be different than the
                   same command issued to multiple threads.




Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   21
New features

          Multi-process


          Pin & Clone


          Enhanced breakpoints


          Grouping


          Visualizer view



Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   22
Visualizer View

          Eclipse Debug View centric to debug session
          Debug View has limitations
          Need for a graphical debugging view: Visualizer View
                  Complement to the Debug View
                  Efficient representation of a large amount of data
                  Quick visual access to system state


          Meant to be a framework to allow for different graphical
           representations
          Design has been started and posted to the wiki



Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   23
Visualizer View Example: Tilera’s Grid
 An instance of a representation. Hardware-centric.
 Part of the goals of the CDT Visualizer View




 Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   24
Visualizer View Example: Tilera’s Grid

 Color indicates application state
       yellow = stopped on a breakpoint
       red = process crash
 Dots are the processes
 IO and Memory shown on the edges
 Drag selection of processes/threads
 Allows to control execution
       Resume/Suspend
       Step
 Selection in the Grid is reflected in
  Debug view and all other views


 Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   25
Plans
        Indigo CDT 8.0
                 Pin & Clone Support (completed)
                 Multi-Process (working support)
                 Group & Ungroup (preliminary support)
                 Synchronized run control operation
        Post Indigo CDT 8.0+
                 Graphical Visualizer view
                 Enhanced breakpoint support
                 Hiding of debug view elements
                 OS-awareness
                 Global breakpoints




Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   26
Points of Contact

          CDT Mailing list:
                  cdt-dev@eclipse.org


          CDT Wiki:
                  http://wiki.eclipse.org/CDT


          Multicore Debug Wiki:
                  http://wiki.eclipse.org/CDT/MultiCoreDebugWorkingGroup




Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   27
Demos

          Multi-process



          Pin & Clone



          Grouping




Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   28
Questions?




Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0   29

Más contenido relacionado

La actualidad más candente

Enea Linux and LWRT FTF China 2012
Enea Linux and LWRT FTF China 2012Enea Linux and LWRT FTF China 2012
Enea Linux and LWRT FTF China 2012EneaSoftware
 
Comp tia n+_session_12
Comp tia n+_session_12Comp tia n+_session_12
Comp tia n+_session_12Niit Care
 
Os Tibbittstutorial
Os TibbittstutorialOs Tibbittstutorial
Os Tibbittstutorialoscon2007
 
Comp tia a+_session_05
Comp tia a+_session_05Comp tia a+_session_05
Comp tia a+_session_05Niit Care
 
Comp tia n+_session_09
Comp tia n+_session_09Comp tia n+_session_09
Comp tia n+_session_09Niit Care
 
Reverse, Multi-Process and Non-Stop Debugging come to the CDT
Reverse, Multi-Process and Non-Stop Debugging come to the CDTReverse, Multi-Process and Non-Stop Debugging come to the CDT
Reverse, Multi-Process and Non-Stop Debugging come to the CDTmarckhouzam
 
Using OSGi to Build Better Software
Using OSGi to Build Better SoftwareUsing OSGi to Build Better Software
Using OSGi to Build Better Softwareyocaba
 
OSGi-based Workflow Engine
OSGi-based Workflow EngineOSGi-based Workflow Engine
OSGi-based Workflow Engineyocaba
 
Comp tia n+_session_07
Comp tia n+_session_07Comp tia n+_session_07
Comp tia n+_session_07Niit Care
 
Comp tia n+_session_02
Comp tia n+_session_02Comp tia n+_session_02
Comp tia n+_session_02Niit Care
 
Dalvik Vm & Jit
Dalvik Vm & JitDalvik Vm & Jit
Dalvik Vm & JitAnkit Somani
 
Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011Stefane Fermigier
 
Keynote Speech: Xen ARM Virtualization
Keynote Speech: Xen ARM VirtualizationKeynote Speech: Xen ARM Virtualization
Keynote Speech: Xen ARM VirtualizationThe Linux Foundation
 
Comp tia a+_session_15
Comp tia a+_session_15Comp tia a+_session_15
Comp tia a+_session_15Niit Care
 

La actualidad más candente (20)

Enea Linux and LWRT FTF China 2012
Enea Linux and LWRT FTF China 2012Enea Linux and LWRT FTF China 2012
Enea Linux and LWRT FTF China 2012
 
Guides To Analyzing WebKit Performance
Guides To Analyzing WebKit PerformanceGuides To Analyzing WebKit Performance
Guides To Analyzing WebKit Performance
 
Comp tia n+_session_12
Comp tia n+_session_12Comp tia n+_session_12
Comp tia n+_session_12
 
Os Tibbittstutorial
Os TibbittstutorialOs Tibbittstutorial
Os Tibbittstutorial
 
Comp tia a+_session_05
Comp tia a+_session_05Comp tia a+_session_05
Comp tia a+_session_05
 
Comp tia n+_session_09
Comp tia n+_session_09Comp tia n+_session_09
Comp tia n+_session_09
 
Puppet for Junos
Puppet for JunosPuppet for Junos
Puppet for Junos
 
Reverse, Multi-Process and Non-Stop Debugging come to the CDT
Reverse, Multi-Process and Non-Stop Debugging come to the CDTReverse, Multi-Process and Non-Stop Debugging come to the CDT
Reverse, Multi-Process and Non-Stop Debugging come to the CDT
 
Improve Android System Component Performance
Improve Android System Component PerformanceImprove Android System Component Performance
Improve Android System Component Performance
 
Using OSGi to Build Better Software
Using OSGi to Build Better SoftwareUsing OSGi to Build Better Software
Using OSGi to Build Better Software
 
Design and Concepts of Android Graphics
Design and Concepts of Android GraphicsDesign and Concepts of Android Graphics
Design and Concepts of Android Graphics
 
OSGi-based Workflow Engine
OSGi-based Workflow EngineOSGi-based Workflow Engine
OSGi-based Workflow Engine
 
Comp tia n+_session_07
Comp tia n+_session_07Comp tia n+_session_07
Comp tia n+_session_07
 
666 670
666 670666 670
666 670
 
Comp tia n+_session_02
Comp tia n+_session_02Comp tia n+_session_02
Comp tia n+_session_02
 
Dalvik Vm & Jit
Dalvik Vm & JitDalvik Vm & Jit
Dalvik Vm & Jit
 
SocialZap
SocialZapSocialZap
SocialZap
 
Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011
 
Keynote Speech: Xen ARM Virtualization
Keynote Speech: Xen ARM VirtualizationKeynote Speech: Xen ARM Virtualization
Keynote Speech: Xen ARM Virtualization
 
Comp tia a+_session_15
Comp tia a+_session_15Comp tia a+_session_15
Comp tia a+_session_15
 

Destacado

Seeing is Understanding: Debugging with the Multicore Visualizer
Seeing is Understanding: Debugging with the Multicore Visualizer Seeing is Understanding: Debugging with the Multicore Visualizer
Seeing is Understanding: Debugging with the Multicore Visualizer marckhouzam
 
Code Analysis and Refactoring with CDT
Code Analysis and Refactoring with CDTCode Analysis and Refactoring with CDT
Code Analysis and Refactoring with CDTdschaefer
 
Advanced Tracing features using GDB and LTTng
Advanced Tracing features using GDB and LTTngAdvanced Tracing features using GDB and LTTng
Advanced Tracing features using GDB and LTTngmarckhouzam
 
Real-time Debugging using GDB Tracepoints and other Eclipse features
Real-time Debugging using GDB Tracepoints and other Eclipse features Real-time Debugging using GDB Tracepoints and other Eclipse features
Real-time Debugging using GDB Tracepoints and other Eclipse features marckhouzam
 
Real time debugging: using non-intrusive tracepoints to debug live systems
Real time debugging: using non-intrusive tracepoints to debug live systemsReal time debugging: using non-intrusive tracepoints to debug live systems
Real time debugging: using non-intrusive tracepoints to debug live systemsmarckhouzam
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsLinkedIn
 

Destacado (6)

Seeing is Understanding: Debugging with the Multicore Visualizer
Seeing is Understanding: Debugging with the Multicore Visualizer Seeing is Understanding: Debugging with the Multicore Visualizer
Seeing is Understanding: Debugging with the Multicore Visualizer
 
Code Analysis and Refactoring with CDT
Code Analysis and Refactoring with CDTCode Analysis and Refactoring with CDT
Code Analysis and Refactoring with CDT
 
Advanced Tracing features using GDB and LTTng
Advanced Tracing features using GDB and LTTngAdvanced Tracing features using GDB and LTTng
Advanced Tracing features using GDB and LTTng
 
Real-time Debugging using GDB Tracepoints and other Eclipse features
Real-time Debugging using GDB Tracepoints and other Eclipse features Real-time Debugging using GDB Tracepoints and other Eclipse features
Real-time Debugging using GDB Tracepoints and other Eclipse features
 
Real time debugging: using non-intrusive tracepoints to debug live systems
Real time debugging: using non-intrusive tracepoints to debug live systemsReal time debugging: using non-intrusive tracepoints to debug live systems
Real time debugging: using non-intrusive tracepoints to debug live systems
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 

Similar a Staying ahead of the multi-core revolution with CDT debug

Fosdem 18: Securing embedded Systems using Virtualization
Fosdem 18: Securing embedded Systems using VirtualizationFosdem 18: Securing embedded Systems using Virtualization
Fosdem 18: Securing embedded Systems using VirtualizationThe Linux Foundation
 
“Khronos Group Standards: Powering the Future of Embedded Vision,” a Presenta...
“Khronos Group Standards: Powering the Future of Embedded Vision,” a Presenta...“Khronos Group Standards: Powering the Future of Embedded Vision,” a Presenta...
“Khronos Group Standards: Powering the Future of Embedded Vision,” a Presenta...Edge AI and Vision Alliance
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to KubernetesSamuel Dratwa
 
Opening opensource : The Jenkins Way
Opening opensource : The Jenkins WayOpening opensource : The Jenkins Way
Opening opensource : The Jenkins WayNicolas De Loof
 
What's New in Docker
What's New in DockerWhat's New in Docker
What's New in DockerDocker, Inc.
 
Docker EE 2.0 Choice, Security & Agility
Docker EE 2.0Choice, Security & AgilityDocker EE 2.0Choice, Security & Agility
Docker EE 2.0 Choice, Security & AgilityAshnikbiz
 
OSDC 2012 | OpenNebula Tutorial by Constantino Vazquez Blanco
OSDC 2012 | OpenNebula Tutorial by Constantino Vazquez BlancoOSDC 2012 | OpenNebula Tutorial by Constantino Vazquez Blanco
OSDC 2012 | OpenNebula Tutorial by Constantino Vazquez BlancoNETWAYS
 
OpenCL Overview Japan Virtual Open House Feb 2021
OpenCL Overview Japan Virtual Open House Feb 2021OpenCL Overview Japan Virtual Open House Feb 2021
OpenCL Overview Japan Virtual Open House Feb 2021The Khronos Group Inc.
 
2018 Genivi Xen Overview Nov Update
2018 Genivi Xen Overview Nov Update2018 Genivi Xen Overview Nov Update
2018 Genivi Xen Overview Nov UpdateThe Linux Foundation
 
Microservices and containers for the unitiated
Microservices and containers for the unitiatedMicroservices and containers for the unitiated
Microservices and containers for the unitiatedKevin Lee
 
exp_1_20bca1108(kashish_dixit.docx
exp_1_20bca1108(kashish_dixit.docxexp_1_20bca1108(kashish_dixit.docx
exp_1_20bca1108(kashish_dixit.docxApkaAmitbro
 
Modern apps with dcos
Modern apps with dcosModern apps with dcos
Modern apps with dcosSam Chen
 
UniK - a unikernel compiler and runtime
UniK - a unikernel compiler and runtimeUniK - a unikernel compiler and runtime
UniK - a unikernel compiler and runtimeLee Calcote
 
Scale14x: Are today's foss security practices robust enough in the cloud era ...
Scale14x: Are today's foss security practices robust enough in the cloud era ...Scale14x: Are today's foss security practices robust enough in the cloud era ...
Scale14x: Are today's foss security practices robust enough in the cloud era ...The Linux Foundation
 
Rootlinux17: An introduction to Xen Project Virtualisation
Rootlinux17:  An introduction to Xen Project VirtualisationRootlinux17:  An introduction to Xen Project Virtualisation
Rootlinux17: An introduction to Xen Project VirtualisationThe Linux Foundation
 
Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Developme...
Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Developme...Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Developme...
Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Developme...Stephan Eberle
 
Intro to kubernetes
Intro to kubernetesIntro to kubernetes
Intro to kubernetesElad Hirsch
 
Mobile Tools for Java - Current Project Status
Mobile Tools for Java - Current Project StatusMobile Tools for Java - Current Project Status
Mobile Tools for Java - Current Project Statusgustavoeliano
 
Developing applications using Embedded Rich Client Platform (eRCP)
Developing applications using Embedded Rich Client Platform (eRCP)Developing applications using Embedded Rich Client Platform (eRCP)
Developing applications using Embedded Rich Client Platform (eRCP)Gorkem Ercan
 

Similar a Staying ahead of the multi-core revolution with CDT debug (20)

Fosdem 18: Securing embedded Systems using Virtualization
Fosdem 18: Securing embedded Systems using VirtualizationFosdem 18: Securing embedded Systems using Virtualization
Fosdem 18: Securing embedded Systems using Virtualization
 
“Khronos Group Standards: Powering the Future of Embedded Vision,” a Presenta...
“Khronos Group Standards: Powering the Future of Embedded Vision,” a Presenta...“Khronos Group Standards: Powering the Future of Embedded Vision,” a Presenta...
“Khronos Group Standards: Powering the Future of Embedded Vision,” a Presenta...
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Opening opensource : The Jenkins Way
Opening opensource : The Jenkins WayOpening opensource : The Jenkins Way
Opening opensource : The Jenkins Way
 
What's New in Docker
What's New in DockerWhat's New in Docker
What's New in Docker
 
Docker EE 2.0 Choice, Security & Agility
Docker EE 2.0Choice, Security & AgilityDocker EE 2.0Choice, Security & Agility
Docker EE 2.0 Choice, Security & Agility
 
OSDC 2012 | OpenNebula Tutorial by Constantino Vazquez Blanco
OSDC 2012 | OpenNebula Tutorial by Constantino Vazquez BlancoOSDC 2012 | OpenNebula Tutorial by Constantino Vazquez Blanco
OSDC 2012 | OpenNebula Tutorial by Constantino Vazquez Blanco
 
OpenCL Overview Japan Virtual Open House Feb 2021
OpenCL Overview Japan Virtual Open House Feb 2021OpenCL Overview Japan Virtual Open House Feb 2021
OpenCL Overview Japan Virtual Open House Feb 2021
 
2018 Genivi Xen Overview Nov Update
2018 Genivi Xen Overview Nov Update2018 Genivi Xen Overview Nov Update
2018 Genivi Xen Overview Nov Update
 
Microservices and containers for the unitiated
Microservices and containers for the unitiatedMicroservices and containers for the unitiated
Microservices and containers for the unitiated
 
exp_1_20bca1108(kashish_dixit.docx
exp_1_20bca1108(kashish_dixit.docxexp_1_20bca1108(kashish_dixit.docx
exp_1_20bca1108(kashish_dixit.docx
 
Modern apps with dcos
Modern apps with dcosModern apps with dcos
Modern apps with dcos
 
UniK - a unikernel compiler and runtime
UniK - a unikernel compiler and runtimeUniK - a unikernel compiler and runtime
UniK - a unikernel compiler and runtime
 
Scale14x: Are today's foss security practices robust enough in the cloud era ...
Scale14x: Are today's foss security practices robust enough in the cloud era ...Scale14x: Are today's foss security practices robust enough in the cloud era ...
Scale14x: Are today's foss security practices robust enough in the cloud era ...
 
Rootlinux17: An introduction to Xen Project Virtualisation
Rootlinux17:  An introduction to Xen Project VirtualisationRootlinux17:  An introduction to Xen Project Virtualisation
Rootlinux17: An introduction to Xen Project Virtualisation
 
Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Developme...
Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Developme...Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Developme...
Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Developme...
 
Intro to kubernetes
Intro to kubernetesIntro to kubernetes
Intro to kubernetes
 
Mobile Tools for Java - Current Project Status
Mobile Tools for Java - Current Project StatusMobile Tools for Java - Current Project Status
Mobile Tools for Java - Current Project Status
 
Studienarb linux kernel-dev
Studienarb linux kernel-devStudienarb linux kernel-dev
Studienarb linux kernel-dev
 
Developing applications using Embedded Rich Client Platform (eRCP)
Developing applications using Embedded Rich Client Platform (eRCP)Developing applications using Embedded Rich Client Platform (eRCP)
Developing applications using Embedded Rich Client Platform (eRCP)
 

Último

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Último (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Staying ahead of the multi-core revolution with CDT debug

  • 1. 1 Staying ahead of the multi-core revolution with CDT Debug Patrick Chuong, Texas Instruments Dobrin Alexiev, Texas Instruments Marc Khouzam, Ericsson Canada Copyright © 2011 Ericsson,Date Instruments, Made available under the Eclipse Public License v 1.0 Confidential | Texas | Other Information, if necessary © 2002 IBM Corporation
  • 2. Agenda  The multi-core problem  Multicore Debug Workgroup  New features  Multi-process  Pin&Clone  Enhanced breakpoints  Grouping  Visualizer view  Plans  Live Demos Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 2
  • 3. Multi-core problems – scalability and complexity  Scalability: more CPUs, DSPs, processes, threads...  Complexity of user tasks:  Users still focus mostly on few entities –CPUs, threads  Sometimes they need to see the whole system: all CPUs, all threads  Users need to be able to customize their view of the system  Group or hide CPUs, threads, types of nodes  step these threads simultaneously  set breakpoints that apply only to these CPUs  Define different layouts that fit their current task  See the system in terms of JTAG connectivity, power  Separate system threads from user threads  Debug View is getting crowded…  but still is the main view for debugging the system Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 3
  • 4. Multi-core – solutions  Ways of managing complexity and scalability  The users can switch between multiple layouts in the Debug View  JTAG layout, Power layout, CPU affinity layout  The user can hide nodes or node types in the Debug View  JTAG connections, all processes nodes, system threads, etc.  The user can group nodes in the Debug View  Stepping the group node will step all threads in the group  Breakpoints can be added to all threads in the group  Display the system in multiple views simultaneously  Visualizer view, Status view, etc.  The user can perform synchronized run control operations  The selection in these views can drive the data displayed in the other debugger views: Registers, Variables, Memory, etc. Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 4
  • 5. CDT’s Multicore Debug Workgroup  Joint effort by people/companies interested in bringing ‘multicore’ debugging to the CDT  Goals  Provide a good user experience for multicore debugging in CDT  Determine debugging features of interest  Collaborate to bring each feature to CDT: design, implementation, review, test.  History  Workgroup was first proposed at the CDT Summit 2010 and was created in early October 2010  Work began with the first conference call on November 16th.  10 different companies are regular participants Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 5
  • 6. CDT’s Multicore Debug Workgroup  Wiki page can be found in the “Workgroups” section of the CDT wiki, or directly at:  http://wiki.eclipse.org/CDT/MultiCoreDebugWorkingGroup  Conference Call scheduling  Completed features  Features currently of interest  Other proposed features  Conference calls are held every two weeks with minutes of meetings posted on the wiki  Open to anyone interested (its free☺) Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 6
  • 7. New features  Multi-process  Pin & Clone  Enhanced breakpoints  Grouping  Visualizer view Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 7
  • 8. Multi-process debugging  Allows to debug multiple processes of a target in the same session  Good for debugging process interactions  Now available in CDT, for Linux targets when using GDB 7.2 Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 8
  • 9. Multi-process debugging  Combines debugging of running processes and new processes  Works for local debugging and remote debugging  Will work in both non-stop or all- stop modes Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 9
  • 10. New features  Multi-process  Pin & Clone  Enhanced breakpoints  Grouping  Visualizer view Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 10
  • 11. Pin & Clone - Background  What is Pin & Clone?  Clone: enable multiple debug view instances in the same workbench window i.e Variables  Pin: attach a debug view instance to a set of debug context i.e Threads  Problem: ability to compare data from multiple processes/threads  Solution: open multiple view instances and attach the view instances to a set of debug context Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 11
  • 12. Pin & Clone - Features  Debug views that support Pin & Clone  Variables, Expressions, Registers, Memory Browser, and Disassembly  Main feature set  Views that are pinned will have the pin context(s) label shown in it’s description area and the pin toolbar bar icon will have matching overlay icon in the Debug View  View toolbar icon shows multi-pin contexts when more than one debug context is selected, extendable by the backend  View tab label will be numerically indexed  Pinned context(s) will reattach itself when a launch is terminate and restart  Available in CDT 8.0 M6 for DSF-GDB backend  Extendable and customizable by debugger backend Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 12
  • 13. Pin & Clone – Multi-View Instances  Compare data between two debug sessions  Two Variables views  Views are pinned to a thread in each debug session Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 13
  • 14. Pin & Clone – Multiple pinned contexts  Limit a view to a sub-set of context  One Variables view  View is pinned to two threads, switching between these two thread will cause the view to update Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 14
  • 15. New features  Multi-process  Pin & Clone  Enhanced breakpoints  Grouping  Visualizer view Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 15
  • 16. Enhanced Breakpoint Support  Current limitations:  Installed for all threads/cores  Can’t configure properties before install to backend  Not scalable, restricted UI  New h/w capability isn’t dynamically exposed in UI  Does not make use of flexible viewer from Platform Debug  No indication which thread/core the breakpoint is hit Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 16
  • 17. Breakpoint View Example: TI UBM  A debug session with two cores  An address breakpoint is installed on C55xx core  With condition z2 == 20 and action to update Register view  A source line breakpoint is installed on C6416 core  With action to Halt (suspend)  Marker icon with >>> indicates breakpoint has recently hit Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0
  • 18. Create Breakpoint Example: TI UBM  Available supported breakpoint type menu for the active debug context i.e Thread  New Watchpoint type dialog  New Advanced type dialog  Dynamic breakpoint properties  Contextual breakpoint type menu support for Editor, Disassembly view, Project view, Outline view, etc… Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0
  • 19. New features  Multi-process  Pin & Clone  Enhanced breakpoints  Grouping  Visualizer view Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 19
  • 20. Debug View User Groups  Why?  focus on few entities –CPUs, threads  step multiple threads simultaneously  set breakpoints that apply to multiple CPUs  How?  choose the Debug View context menu “Group” when multiple nodes are selected. A group is created as parent of the selected nodes  stepping the group node will step all threads in the group  the group icon will show the state of all threads in the group  the user can ungroup threads previously grouped  the groups will be persisted between debug sessions  groups can contain other groups Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 20
  • 21. Debug View User Groups – integration  Available for CDT-DSF debuggers  Currently part of the code is in DSF common layer, part is in the DSF-GDB debugger.  The common layer enables other DSF debuggers to integrate the feature easily.  Different backend capabilities can be provided:  Some backends can support the user groups, for some the user groups will be transparent.  For some backends stepping, running or suspending groups will be different than the same command issued to multiple threads. Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 21
  • 22. New features  Multi-process  Pin & Clone  Enhanced breakpoints  Grouping  Visualizer view Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 22
  • 23. Visualizer View  Eclipse Debug View centric to debug session  Debug View has limitations  Need for a graphical debugging view: Visualizer View  Complement to the Debug View  Efficient representation of a large amount of data  Quick visual access to system state  Meant to be a framework to allow for different graphical representations  Design has been started and posted to the wiki Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 23
  • 24. Visualizer View Example: Tilera’s Grid  An instance of a representation. Hardware-centric.  Part of the goals of the CDT Visualizer View Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 24
  • 25. Visualizer View Example: Tilera’s Grid  Color indicates application state  yellow = stopped on a breakpoint  red = process crash  Dots are the processes  IO and Memory shown on the edges  Drag selection of processes/threads  Allows to control execution  Resume/Suspend  Step  Selection in the Grid is reflected in Debug view and all other views Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 25
  • 26. Plans  Indigo CDT 8.0  Pin & Clone Support (completed)  Multi-Process (working support)  Group & Ungroup (preliminary support)  Synchronized run control operation  Post Indigo CDT 8.0+  Graphical Visualizer view  Enhanced breakpoint support  Hiding of debug view elements  OS-awareness  Global breakpoints Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 26
  • 27. Points of Contact  CDT Mailing list:  cdt-dev@eclipse.org  CDT Wiki:  http://wiki.eclipse.org/CDT  Multicore Debug Wiki:  http://wiki.eclipse.org/CDT/MultiCoreDebugWorkingGroup Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 27
  • 28. Demos  Multi-process  Pin & Clone  Grouping Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 28
  • 29. Questions? Copyright © 2011 Ericsson, Texas Instruments, Made available under the Eclipse Public License v 1.0 29