SlideShare a Scribd company logo
1 of 24
Download to read offline
1
Implications of Per CPU switching in
a big.LITTLE system
Achin Gupta
ARM Ltd.
achin.gupta@arm.com
2
Agenda
 ARM big.LITTLE subsystem overview
 big.LITTLE Execution modes overview
 The Reference Switcher
 Interoperability with Linux OSPM
 The Integrated Switcher
 Interoperability with Linux OSPM
 Migration models and micro-architectural differences
 Cache topology differences
 PMU implementation differences
 Shared Interrupt controller implications
 Miscellaneous implementation defined differences
 Optimizations
3
ARM big.LITTLE subsystem overview
 Programmer’s view
 High performance Cortex-A15
cluster
 Energy efficient Cortex-A7
cluster
 Fully cache coherent via CCI-
400
 Signal pathway via shared
GIC-400
4
big.LITTLE execution modes overview
 Two broad types
 Migration
 MP
 Migration has levels of granularity
 Cluster migration
 CPU migration
 Relative complexity scales from Migration towards MP
 Migration modes provide benefit at reduced system software
complexity for symmetric topologies
 Asymmetric topologies are also supported...ish
 MP mode provides flexibility and optimal utilization with higher system
software complexity for all topologies
5
 Only one cluster is ever on
 Except briefly during a cluster switch
 End-to-end raw switching interval is ~30 Kcycles
 Cluster selection driven by OS power management
 DVFS algorithms mitigate load by selecting a suitable operating point
 A switch from the Cortex-A7 cluster to Cortex-A15 cluster is an
extension of the DVFS strategy
 Load monitoring is done at the cluster level
 Linux cpufreq samples load for all CPUs in the cluster
 Selects an operating point for the cluster
 Switches clusters at terminal points of the current cluster’s DVFS
curve
Cluster migration
6
CPU migration
 Paired little and big CPU operation
 Each little CPU can switch to its big counterpart
 Each CPU switches independently of other CPUs
 CPU selection is driven by OS power management
 DVFS algorithm monitors per-CPU load
 Operating point selection is done independently per-CPU
 When a little CPU cannot service the incumbent load a switch to its
big counterpart is performed
 The little processor is switched off at this point
 The big processors are used opportunistically in this manner
7
The Reference Switcher
 Description
 Uses ARM Virtualization Extensions to run an SMP OS on a
big.LITTLE system
 Adopted the simplest approach to use a big.LITTLE system in an OS
agnostic way
 Switches payload software execution synch/asynchronously between
clusters in an optimized way
 Masks micro-architectural differences between Cortex-A15 and
Cortex-A7
 Integrated with Linux DVFS susbsytem to demonstrate
 Load driven cluster migration
 Switching hysteresis control algorithms
 Still the fastest way to use a big.LITTLE system.......or find if the
system is usable
8
Reference Switcher
 Tradeoffs
 Good at implementing mechanics not policy
 Would need to rely on heuristics in absence of Linux support
 Hard to perform a cluster switch in HYP mode while Linux
might be idling/hotplugging cpus
 No way to virtualise Idle & OPP tables. Expected to be
provided by the Power controller each time they need to be
used
 Works best with a symmetric big.LITTLE topology (same number of
cores)
 Asymmetric topologies can be used but require scheduler
involvement
 Relies on payload software to 'auto detect' features to hide micro-
architectural differences
 Needs intelligence to efficiently use CCI
9
Reference Switcher
 Interoperability with Linux OSPM
 Needs Linux to implement the policy and initiate a cluster migration
 DVFS framework needs cluster awareness
 Idle framework needs the same
 Notifiers are needed to switch between OPP and Idle tables
 Interoperability with idle & hotplug is a big policy dilemma
 Unpredictable behaviour if in-flight cache maintainence operations
are migrated
 Can switch only when other cpus are in a known stable state
 Migration policy difficult to implement if clock and voltage domains are
per-cpu
10
Reference Switcher
 Hotplug policy
 Offline cpus should be left as they are
 In-flight hotplug operations should be allowed to complete
 Further hotplug operations should be disabled till the cluster migration
does not complete
 Notifiers should be used to implement this
contd....
11
Reference Switcher
 Idle Policy
1. Preserve idle state of as many cpus as possible
 Needs help from the Power controller to keep idle cpus idle
 Send an IPI to running cpus to either:
 Begin a cluster migration
 Enter a “quiet” state and let the reference switcher take over
 Inflight idle operations would be redundant
 Complicated protocol to preserve idleness
 Power controller prevents idle cpu wakeup temporarily
12
Reference Switcher
 Idle Policy
2. Wakeup all idle cpus
 Needs Linux to wakeup all idle cpus and make them either initiate
a cluster switch or enter the “quiet” state
 Simpler & Fast to implement. Could have a detrimental effect on
power savings as cpus in possibly deeper c-states will need to be
woken up
13
Reference Switcher
 To sum up.....
 Reference Switcher helps in providing the mechanics of performing a
cluster switch & maintaining the illusion of an SMP system
 Needs help from the OS to get even the mechanics of power
management working
 Has lower impact on policies but greater impact on mechanics.
 Works well if the DVFS plane spans the cluster. Things get interesting
when the clock and voltage domains are per-cpu
 Policy implications on power and performance costs not
benchmarked
 Needs further optimizations to keep inbound caches warm by utilizing
the CCI. This is critical to make cluster migration practical
14
Integrated Switcher
 Why migrate a cluster when a cpu will do!
 Do load calculation on a per-cpu basis
 Migrate only the cpu as per its needs (power/performance)
 No need to worry about other cpus for mechanical bits
 cpuidle and cpufreq drivers still need to be cluster aware
 Inbound caches are kept warm implicitly
 Simple and efficient implementation. A cpu switch can be
thought of as a combination of cpu hotplug and idle
 Outbound cpu needs to be hotplugged
 Inbound cpu needs to be resumed from a suspend
 Critical to keep track of cpus
 Common layer is needed for tracking cpu migration, hotplug & idle
 Export this common view to Linux OSPM framework & GIC driver
15
Integrated Switcher
 Re-uses Linux code to save/restore architectural state and
interrupt controller context
 Warm reset path needs to be cluster aware
 Lots of policy options.
 A cpu might be shutdown or hotplugged on one cluster but it might
make sense to wake it up on the other
 Amongst other metrics that cpuidle needs to worry about before
deciding the target c-state, it will have to look out for cpu migration as
well
 A cpu switches in response to a per-cpu load calculation which is
perfect when it is in its own voltage plane driven by a per-core clock
 Things get interesting when the clock and voltage domain spans
the cluster
 A hotplug operation could result in a cluster shutdown
16
Micro-architectural differences
 Cache topology differences (D-Side)
 The Reference Switcher maps one cache topology to another
 The Integrated switcher will rely on auto-detecting this information or
maintaining per cluster cache topologies if required
 Affects only set/way operations. They are expected to be called only
during power down e.g. idle or hotplug
Processor L1 D-cache L2 Unified-Cache
Cortex-A15 2-way set associative of
32KB
16-way set associative of
512KB, 1024KB, 2048KB
or 4096KB
Cortex-A7 4-way set associative of
8KB, 16KB, 32KB or
64KB
8-way set associative of
128KB, 256KB, 512KB or
1024KB
17
Micro-architectural differences
 Cache topology differences (I-Side)
 The Reference Switcher exports the Cortex-A7 view to Cortex-A15
and helps bridge the gap at the cost of redundancy
 Integrated Switcher is not responsible for this bit. Linux needs to
ensure maybe through the use of device trees that this difference is
catered for
Processor L1 I-cache
Cortex-A15 64 byte cache lines in a PIPT cache
Cortex-A7 32 byte cache lines in an aliasing
VIPT cache.
18
Micro-architectural differences
 PMU differences
 Cortex-A15 implements 6 event counters compared to 4 implemented
by Cortex-A7
 There are numerous differences in implementation defined events
 Reference switcher uses Virtualization extensions to allow use of the
PMU across both clusters
 Perf sees and uses events that it detects on the boot cluster
 Events are saved and restored across a cluster switch. Perf is
responsible for using only the events which are common across
the two clusters
 HVC api is available to use both PMUs. Each PMU's state is
preserved across a cluster switch
19
Micro-architectural differences
 PMU differences contd..
 Integrated switcher needs the perf backend to maintain seperate
event "buckets" for each cluster
 Count events available on Cortex-A15 only on it and ditto for
Cortex-A7
 Seperate counts for common events e.g. cycle counter
 Scales well for big.LITTLE MP as well
20
Micro-architectural differences
 Implementation defined register differences
 Common registers with different bit implementations e.g ACTLR,
L2CTLR
 Registers present on one and not on the other
 L2ACTLR, L2PMRR etc in Cortex-A15
 Copy TLB RAM to registers (CDBGTD) in Cortex-A7
 These registers are not used by Linux but need to be preserved if
required across a migration
21
Micro-architectural differences
 Shared vGIC
 CPU interfaces are
numbered linearly
 CPU ids are repeated
 Mapping between the two
needs to be maintained
 Reference Switcher
virtualizes accesses to the
GIC Distributor
 Integrated Switcher
maintains internal map.
Cortex-A15 Cortex-A7
CCI-400
CPU 1CPU 0 CPU 0 CPU 1
I$ I$ I$ I$D$ D$ D$ D$
L2 Cache + SCU L2 Cache + SCU
GIC-400
Distributor interface
CPU 0
Interface
CPU 1
Interface
CPU 2
Interface
CPU 3
Interface
CoreLink CCI-400 Cache Coherent Interconnect
External Interrupt X
ACTIVE CLUSTER INACTIVE CLUSTER
22
Optimizations
 Pipelining
 Bring the inbound core out of reset beforehand
 Secure firmware setup completes while context is saved
 Device, Coherency and MMU setup is costly
 Power down outbound cpu while inbound restores context
 Allows the inbound to tap into the warm outbound caches
 Especially important when the last cpu in a cluster migrates
causing an outbound cluster shutdown
 Turn on MMU & I caches asap after a reset
 CCI snoops can be turned on later
 Use DSBs only when required
 A Data Synchronization barrier spans the inner shareability domain
 Waits for outstanding transactions to complete and can cause stalls
23
Optimizations
 Enable XN bit for pages which do not contain instructions
Pre-fetching can be counter productive
 Avoid accesses to literal pools. Replaced with MOV/MOVT
for loading constants
 Use of virtual GIC interfaces can be avoided if Linux can
trigger a cluster switch
 Target Interrupts to both clusters to avoid GIC s&r overhead
 Burst accesses to Device memory are better than word
accesses
24
Thank You!
Questions.....??

More Related Content

What's hot

Superscalar Architecture_AIUB
Superscalar Architecture_AIUBSuperscalar Architecture_AIUB
Superscalar Architecture_AIUBNusrat Mary
 
RTOS MICRO CONTROLLER OPERATING SYSTEM-2
RTOS MICRO CONTROLLER OPERATING SYSTEM-2RTOS MICRO CONTROLLER OPERATING SYSTEM-2
RTOS MICRO CONTROLLER OPERATING SYSTEM-2JOLLUSUDARSHANREDDY
 
HKG15-305: Real Time processing comparing the RT patch vs Core isolation
HKG15-305: Real Time processing comparing the RT patch vs Core isolationHKG15-305: Real Time processing comparing the RT patch vs Core isolation
HKG15-305: Real Time processing comparing the RT patch vs Core isolationLinaro
 
Power Management in Embedded Systems
Power Management in Embedded Systems Power Management in Embedded Systems
Power Management in Embedded Systems mentoresd
 
Maxwell siuc hpc_description_tutorial
Maxwell siuc hpc_description_tutorialMaxwell siuc hpc_description_tutorial
Maxwell siuc hpc_description_tutorialmadhuinturi
 
Multi threaded rtos
Multi threaded rtosMulti threaded rtos
Multi threaded rtosJames Wong
 
Superscalar & superpipeline processor
Superscalar & superpipeline processorSuperscalar & superpipeline processor
Superscalar & superpipeline processorMuhammad Ishaq
 
Superscalar and VLIW architectures
Superscalar and VLIW architecturesSuperscalar and VLIW architectures
Superscalar and VLIW architecturesAmit Kumar Rathi
 
Ch5 cpu-scheduling
Ch5 cpu-schedulingCh5 cpu-scheduling
Ch5 cpu-schedulingAnkit Dubey
 
Hyper threading technology
Hyper threading technologyHyper threading technology
Hyper threading technologyNikhil Venugopal
 
RTOS on ARM cortex-M platform -draft
RTOS on ARM cortex-M platform -draftRTOS on ARM cortex-M platform -draft
RTOS on ARM cortex-M platform -draftJou Neo
 
Linux Interrupts
Linux InterruptsLinux Interrupts
Linux InterruptsKernel TLV
 
Instruction Level Parallelism and Superscalar Processors
Instruction Level Parallelism and Superscalar ProcessorsInstruction Level Parallelism and Superscalar Processors
Instruction Level Parallelism and Superscalar ProcessorsSyed Zaid Irshad
 
Superscalar processor
Superscalar processorSuperscalar processor
Superscalar processornoor ul ain
 
Synchronization linux
Synchronization linuxSynchronization linux
Synchronization linuxSusant Sahani
 

What's hot (20)

Superscalar Architecture_AIUB
Superscalar Architecture_AIUBSuperscalar Architecture_AIUB
Superscalar Architecture_AIUB
 
RTOS MICRO CONTROLLER OPERATING SYSTEM-2
RTOS MICRO CONTROLLER OPERATING SYSTEM-2RTOS MICRO CONTROLLER OPERATING SYSTEM-2
RTOS MICRO CONTROLLER OPERATING SYSTEM-2
 
Real time Linux
Real time LinuxReal time Linux
Real time Linux
 
HKG15-305: Real Time processing comparing the RT patch vs Core isolation
HKG15-305: Real Time processing comparing the RT patch vs Core isolationHKG15-305: Real Time processing comparing the RT patch vs Core isolation
HKG15-305: Real Time processing comparing the RT patch vs Core isolation
 
Power Management in Embedded Systems
Power Management in Embedded Systems Power Management in Embedded Systems
Power Management in Embedded Systems
 
Maxwell siuc hpc_description_tutorial
Maxwell siuc hpc_description_tutorialMaxwell siuc hpc_description_tutorial
Maxwell siuc hpc_description_tutorial
 
Mastering Real-time Linux
Mastering Real-time LinuxMastering Real-time Linux
Mastering Real-time Linux
 
Multi threaded rtos
Multi threaded rtosMulti threaded rtos
Multi threaded rtos
 
Superscalar & superpipeline processor
Superscalar & superpipeline processorSuperscalar & superpipeline processor
Superscalar & superpipeline processor
 
Chip morphing
Chip morphingChip morphing
Chip morphing
 
Superscalar and VLIW architectures
Superscalar and VLIW architecturesSuperscalar and VLIW architectures
Superscalar and VLIW architectures
 
Lect18
Lect18Lect18
Lect18
 
Ch5 cpu-scheduling
Ch5 cpu-schedulingCh5 cpu-scheduling
Ch5 cpu-scheduling
 
Hyper threading technology
Hyper threading technologyHyper threading technology
Hyper threading technology
 
RTOS on ARM cortex-M platform -draft
RTOS on ARM cortex-M platform -draftRTOS on ARM cortex-M platform -draft
RTOS on ARM cortex-M platform -draft
 
Ch6 cpu scheduling
Ch6   cpu schedulingCh6   cpu scheduling
Ch6 cpu scheduling
 
Linux Interrupts
Linux InterruptsLinux Interrupts
Linux Interrupts
 
Instruction Level Parallelism and Superscalar Processors
Instruction Level Parallelism and Superscalar ProcessorsInstruction Level Parallelism and Superscalar Processors
Instruction Level Parallelism and Superscalar Processors
 
Superscalar processor
Superscalar processorSuperscalar processor
Superscalar processor
 
Synchronization linux
Synchronization linuxSynchronization linux
Synchronization linux
 

Viewers also liked

Bullhorn live 2012 keynote presentation
Bullhorn live 2012 keynote presentationBullhorn live 2012 keynote presentation
Bullhorn live 2012 keynote presentationbullhornlive
 
\'Dissident\' - solo show Ubik - dossier prensa
\'Dissident\' - solo show Ubik - dossier prensa\'Dissident\' - solo show Ubik - dossier prensa
\'Dissident\' - solo show Ubik - dossier prensaSabrina_Amrani
 
Maxime Cauterman - Plan de choque de la ANAP en Francia
Maxime Cauterman - Plan de choque de la ANAP en FranciaMaxime Cauterman - Plan de choque de la ANAP en Francia
Maxime Cauterman - Plan de choque de la ANAP en FranciaANTARES CONSULTING
 
Televisione Digitale - Nuovi Media
Televisione Digitale - Nuovi MediaTelevisione Digitale - Nuovi Media
Televisione Digitale - Nuovi MediaDamiano Crognali
 
Histoires pour des enfants qui reflechissent 1. french. français
Histoires pour des enfants qui reflechissent 1. french. françaisHistoires pour des enfants qui reflechissent 1. french. français
Histoires pour des enfants qui reflechissent 1. french. françaisHarunyahyaFrench
 
"Future and Emerging Technologies (FET)", por Nicolás Ojeda, Punto Nacional d...
"Future and Emerging Technologies (FET)", por Nicolás Ojeda, Punto Nacional d..."Future and Emerging Technologies (FET)", por Nicolás Ojeda, Punto Nacional d...
"Future and Emerging Technologies (FET)", por Nicolás Ojeda, Punto Nacional d...Agencia Andaluza del Conocimiento
 
Alhova o Fenogreco
Alhova o FenogrecoAlhova o Fenogreco
Alhova o FenogrecoJulio Mata
 
UiA Slam (Øystein Øihusom & Ørjan l. Olsen)
UiA Slam (Øystein Øihusom & Ørjan l. Olsen)UiA Slam (Øystein Øihusom & Ørjan l. Olsen)
UiA Slam (Øystein Øihusom & Ørjan l. Olsen)Øystein Øihusom
 
Cabuyería-tfmviu
Cabuyería-tfmviuCabuyería-tfmviu
Cabuyería-tfmviurakola1521
 
Promoviendo la comunicación y motivación personal en mi centro educativo
Promoviendo la comunicación y motivación personal  en mi centro educativoPromoviendo la comunicación y motivación personal  en mi centro educativo
Promoviendo la comunicación y motivación personal en mi centro educativoJose Alberto Llaullipoma PUCP
 
Librosweb Listado Hasta El 30 De Septiembre 2009[1]
Librosweb Listado Hasta El 30 De Septiembre 2009[1]Librosweb Listado Hasta El 30 De Septiembre 2009[1]
Librosweb Listado Hasta El 30 De Septiembre 2009[1]sucari2009
 
Revista inmobiliaria de Bankinter
Revista inmobiliaria de BankinterRevista inmobiliaria de Bankinter
Revista inmobiliaria de BankinterBankinter_es
 
Content gov2014 armedia rm_acm_presentation v0 7
Content gov2014 armedia rm_acm_presentation v0 7Content gov2014 armedia rm_acm_presentation v0 7
Content gov2014 armedia rm_acm_presentation v0 7Armedia LLC
 
v35 Turbo Trac Marketing Materials CIM 2-2014
v35 Turbo Trac Marketing Materials CIM 2-2014v35 Turbo Trac Marketing Materials CIM 2-2014
v35 Turbo Trac Marketing Materials CIM 2-2014Allen Swenson
 
Prosperity At Risk Findings Of Hbs Survey On U.S. Competitivness
Prosperity At Risk   Findings Of Hbs Survey On U.S. CompetitivnessProsperity At Risk   Findings Of Hbs Survey On U.S. Competitivness
Prosperity At Risk Findings Of Hbs Survey On U.S. CompetitivnessColin McKillop
 
Bachelorarbeit maria plank
Bachelorarbeit maria plankBachelorarbeit maria plank
Bachelorarbeit maria plankMaria Plank
 
Industria maquiladora
Industria maquiladoraIndustria maquiladora
Industria maquiladoraandres
 

Viewers also liked (20)

Bullhorn live 2012 keynote presentation
Bullhorn live 2012 keynote presentationBullhorn live 2012 keynote presentation
Bullhorn live 2012 keynote presentation
 
\'Dissident\' - solo show Ubik - dossier prensa
\'Dissident\' - solo show Ubik - dossier prensa\'Dissident\' - solo show Ubik - dossier prensa
\'Dissident\' - solo show Ubik - dossier prensa
 
Maxime Cauterman - Plan de choque de la ANAP en Francia
Maxime Cauterman - Plan de choque de la ANAP en FranciaMaxime Cauterman - Plan de choque de la ANAP en Francia
Maxime Cauterman - Plan de choque de la ANAP en Francia
 
GameStage ENG
GameStage ENGGameStage ENG
GameStage ENG
 
Televisione Digitale - Nuovi Media
Televisione Digitale - Nuovi MediaTelevisione Digitale - Nuovi Media
Televisione Digitale - Nuovi Media
 
Histoires pour des enfants qui reflechissent 1. french. français
Histoires pour des enfants qui reflechissent 1. french. françaisHistoires pour des enfants qui reflechissent 1. french. français
Histoires pour des enfants qui reflechissent 1. french. français
 
"Future and Emerging Technologies (FET)", por Nicolás Ojeda, Punto Nacional d...
"Future and Emerging Technologies (FET)", por Nicolás Ojeda, Punto Nacional d..."Future and Emerging Technologies (FET)", por Nicolás Ojeda, Punto Nacional d...
"Future and Emerging Technologies (FET)", por Nicolás Ojeda, Punto Nacional d...
 
Alhova o Fenogreco
Alhova o FenogrecoAlhova o Fenogreco
Alhova o Fenogreco
 
UiA Slam (Øystein Øihusom & Ørjan l. Olsen)
UiA Slam (Øystein Øihusom & Ørjan l. Olsen)UiA Slam (Øystein Øihusom & Ørjan l. Olsen)
UiA Slam (Øystein Øihusom & Ørjan l. Olsen)
 
Cabuyería-tfmviu
Cabuyería-tfmviuCabuyería-tfmviu
Cabuyería-tfmviu
 
Promoviendo la comunicación y motivación personal en mi centro educativo
Promoviendo la comunicación y motivación personal  en mi centro educativoPromoviendo la comunicación y motivación personal  en mi centro educativo
Promoviendo la comunicación y motivación personal en mi centro educativo
 
Librosweb Listado Hasta El 30 De Septiembre 2009[1]
Librosweb Listado Hasta El 30 De Septiembre 2009[1]Librosweb Listado Hasta El 30 De Septiembre 2009[1]
Librosweb Listado Hasta El 30 De Septiembre 2009[1]
 
Revista inmobiliaria de Bankinter
Revista inmobiliaria de BankinterRevista inmobiliaria de Bankinter
Revista inmobiliaria de Bankinter
 
Matt 10
Matt 10Matt 10
Matt 10
 
Content gov2014 armedia rm_acm_presentation v0 7
Content gov2014 armedia rm_acm_presentation v0 7Content gov2014 armedia rm_acm_presentation v0 7
Content gov2014 armedia rm_acm_presentation v0 7
 
v35 Turbo Trac Marketing Materials CIM 2-2014
v35 Turbo Trac Marketing Materials CIM 2-2014v35 Turbo Trac Marketing Materials CIM 2-2014
v35 Turbo Trac Marketing Materials CIM 2-2014
 
Prosperity At Risk Findings Of Hbs Survey On U.S. Competitivness
Prosperity At Risk   Findings Of Hbs Survey On U.S. CompetitivnessProsperity At Risk   Findings Of Hbs Survey On U.S. Competitivness
Prosperity At Risk Findings Of Hbs Survey On U.S. Competitivness
 
Bachelorarbeit maria plank
Bachelorarbeit maria plankBachelorarbeit maria plank
Bachelorarbeit maria plank
 
Industria maquiladora
Industria maquiladoraIndustria maquiladora
Industria maquiladora
 
Creación de logotipo para marca de ropa de surf
Creación de logotipo para marca de ropa de surfCreación de logotipo para marca de ropa de surf
Creación de logotipo para marca de ropa de surf
 

Similar to Q2.12: Implications of Per CPU switching in a big.LITTLE system

Q2.12: Idle Power States Nomenclature
Q2.12: Idle Power States NomenclatureQ2.12: Idle Power States Nomenclature
Q2.12: Idle Power States NomenclatureLinaro
 
Study of various factors affecting performance of multi core processors
Study of various factors affecting performance of multi core processorsStudy of various factors affecting performance of multi core processors
Study of various factors affecting performance of multi core processorsateeq ateeq
 
Four Ways to Improve Linux Performance IEEE Webinar, R2.0
Four Ways to Improve Linux Performance IEEE Webinar, R2.0Four Ways to Improve Linux Performance IEEE Webinar, R2.0
Four Ways to Improve Linux Performance IEEE Webinar, R2.0Michael Christofferson
 
Computer Organization: Introduction to Microprocessor and Microcontroller
Computer Organization: Introduction to Microprocessor and MicrocontrollerComputer Organization: Introduction to Microprocessor and Microcontroller
Computer Organization: Introduction to Microprocessor and MicrocontrollerAmrutaMehata
 
SOC System Design Approach
SOC System Design ApproachSOC System Design Approach
SOC System Design ApproachA B Shinde
 
TRACK B: Multicores & Network On Chip Architectures/ Oren Hollander
TRACK B: Multicores & Network On Chip Architectures/ Oren HollanderTRACK B: Multicores & Network On Chip Architectures/ Oren Hollander
TRACK B: Multicores & Network On Chip Architectures/ Oren Hollanderchiportal
 
unit 1ARM INTRODUCTION.pptx
unit 1ARM INTRODUCTION.pptxunit 1ARM INTRODUCTION.pptx
unit 1ARM INTRODUCTION.pptxKandavelEee
 
Cache performance-x86-2009
Cache performance-x86-2009Cache performance-x86-2009
Cache performance-x86-2009Léia de Sousa
 
Run-time power management in cloud and containerized environments
Run-time power management in cloud and containerized environmentsRun-time power management in cloud and containerized environments
Run-time power management in cloud and containerized environmentsNECST Lab @ Politecnico di Milano
 
Multithreaded processors ppt
Multithreaded processors pptMultithreaded processors ppt
Multithreaded processors pptSiddhartha Anand
 
LCU13: Power-efficient scheduling, and the latest news from the kernel summit
LCU13: Power-efficient scheduling, and the latest news from the kernel summitLCU13: Power-efficient scheduling, and the latest news from the kernel summit
LCU13: Power-efficient scheduling, and the latest news from the kernel summitLinaro
 
LAS16-105: Walkthrough of the EAS kernel adaptation to the Android Common Kernel
LAS16-105: Walkthrough of the EAS kernel adaptation to the Android Common KernelLAS16-105: Walkthrough of the EAS kernel adaptation to the Android Common Kernel
LAS16-105: Walkthrough of the EAS kernel adaptation to the Android Common KernelLinaro
 
AFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORS
AFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORSAFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORS
AFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORScscpconf
 
Affect of parallel computing on multicore processors
Affect of parallel computing on multicore processorsAffect of parallel computing on multicore processors
Affect of parallel computing on multicore processorscsandit
 
ICT III - MPMC - Answer Key.pdf
ICT III - MPMC - Answer Key.pdfICT III - MPMC - Answer Key.pdf
ICT III - MPMC - Answer Key.pdfGowriShankar881783
 
An Introduction to the Formalised Memory Model for Linux Kernel
An Introduction to the Formalised Memory Model for Linux KernelAn Introduction to the Formalised Memory Model for Linux Kernel
An Introduction to the Formalised Memory Model for Linux KernelSeongJae Park
 

Similar to Q2.12: Implications of Per CPU switching in a big.LITTLE system (20)

Q2.12: Idle Power States Nomenclature
Q2.12: Idle Power States NomenclatureQ2.12: Idle Power States Nomenclature
Q2.12: Idle Power States Nomenclature
 
Study of various factors affecting performance of multi core processors
Study of various factors affecting performance of multi core processorsStudy of various factors affecting performance of multi core processors
Study of various factors affecting performance of multi core processors
 
Hyper thread technology
Hyper thread technologyHyper thread technology
Hyper thread technology
 
Four Ways to Improve Linux Performance IEEE Webinar, R2.0
Four Ways to Improve Linux Performance IEEE Webinar, R2.0Four Ways to Improve Linux Performance IEEE Webinar, R2.0
Four Ways to Improve Linux Performance IEEE Webinar, R2.0
 
Computer Organization: Introduction to Microprocessor and Microcontroller
Computer Organization: Introduction to Microprocessor and MicrocontrollerComputer Organization: Introduction to Microprocessor and Microcontroller
Computer Organization: Introduction to Microprocessor and Microcontroller
 
SOC System Design Approach
SOC System Design ApproachSOC System Design Approach
SOC System Design Approach
 
TRACK B: Multicores & Network On Chip Architectures/ Oren Hollander
TRACK B: Multicores & Network On Chip Architectures/ Oren HollanderTRACK B: Multicores & Network On Chip Architectures/ Oren Hollander
TRACK B: Multicores & Network On Chip Architectures/ Oren Hollander
 
unit 1ARM INTRODUCTION.pptx
unit 1ARM INTRODUCTION.pptxunit 1ARM INTRODUCTION.pptx
unit 1ARM INTRODUCTION.pptx
 
Cache performance-x86-2009
Cache performance-x86-2009Cache performance-x86-2009
Cache performance-x86-2009
 
Run-time power management in cloud and containerized environments
Run-time power management in cloud and containerized environmentsRun-time power management in cloud and containerized environments
Run-time power management in cloud and containerized environments
 
Multithreaded processors ppt
Multithreaded processors pptMultithreaded processors ppt
Multithreaded processors ppt
 
LCU13: Power-efficient scheduling, and the latest news from the kernel summit
LCU13: Power-efficient scheduling, and the latest news from the kernel summitLCU13: Power-efficient scheduling, and the latest news from the kernel summit
LCU13: Power-efficient scheduling, and the latest news from the kernel summit
 
Arm7 architecture
Arm7 architectureArm7 architecture
Arm7 architecture
 
Pangaea
PangaeaPangaea
Pangaea
 
LAS16-105: Walkthrough of the EAS kernel adaptation to the Android Common Kernel
LAS16-105: Walkthrough of the EAS kernel adaptation to the Android Common KernelLAS16-105: Walkthrough of the EAS kernel adaptation to the Android Common Kernel
LAS16-105: Walkthrough of the EAS kernel adaptation to the Android Common Kernel
 
AFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORS
AFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORSAFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORS
AFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORS
 
Affect of parallel computing on multicore processors
Affect of parallel computing on multicore processorsAffect of parallel computing on multicore processors
Affect of parallel computing on multicore processors
 
ICT III - MPMC - Answer Key.pdf
ICT III - MPMC - Answer Key.pdfICT III - MPMC - Answer Key.pdf
ICT III - MPMC - Answer Key.pdf
 
Introduction to Microcontrollers
Introduction to MicrocontrollersIntroduction to Microcontrollers
Introduction to Microcontrollers
 
An Introduction to the Formalised Memory Model for Linux Kernel
An Introduction to the Formalised Memory Model for Linux KernelAn Introduction to the Formalised Memory Model for Linux Kernel
An Introduction to the Formalised Memory Model for Linux Kernel
 

More from Linaro

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloLinaro
 
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaArm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaLinaro
 
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraHuawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraLinaro
 
Bud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaBud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaLinaro
 
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018Linaro
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018Linaro
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...Linaro
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Linaro
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Linaro
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineLinaro
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteLinaro
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopLinaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineLinaro
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allLinaro
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorLinaro
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMULinaro
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MLinaro
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation Linaro
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootLinaro
 

More from Linaro (20)

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
 
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaArm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
 
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraHuawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
 
Bud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaBud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qa
 
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening Keynote
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8M
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
 

Recently uploaded

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
 
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
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
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
 
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 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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Recently uploaded (20)

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
 
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
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
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...
 
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 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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Q2.12: Implications of Per CPU switching in a big.LITTLE system

  • 1. 1 Implications of Per CPU switching in a big.LITTLE system Achin Gupta ARM Ltd. achin.gupta@arm.com
  • 2. 2 Agenda  ARM big.LITTLE subsystem overview  big.LITTLE Execution modes overview  The Reference Switcher  Interoperability with Linux OSPM  The Integrated Switcher  Interoperability with Linux OSPM  Migration models and micro-architectural differences  Cache topology differences  PMU implementation differences  Shared Interrupt controller implications  Miscellaneous implementation defined differences  Optimizations
  • 3. 3 ARM big.LITTLE subsystem overview  Programmer’s view  High performance Cortex-A15 cluster  Energy efficient Cortex-A7 cluster  Fully cache coherent via CCI- 400  Signal pathway via shared GIC-400
  • 4. 4 big.LITTLE execution modes overview  Two broad types  Migration  MP  Migration has levels of granularity  Cluster migration  CPU migration  Relative complexity scales from Migration towards MP  Migration modes provide benefit at reduced system software complexity for symmetric topologies  Asymmetric topologies are also supported...ish  MP mode provides flexibility and optimal utilization with higher system software complexity for all topologies
  • 5. 5  Only one cluster is ever on  Except briefly during a cluster switch  End-to-end raw switching interval is ~30 Kcycles  Cluster selection driven by OS power management  DVFS algorithms mitigate load by selecting a suitable operating point  A switch from the Cortex-A7 cluster to Cortex-A15 cluster is an extension of the DVFS strategy  Load monitoring is done at the cluster level  Linux cpufreq samples load for all CPUs in the cluster  Selects an operating point for the cluster  Switches clusters at terminal points of the current cluster’s DVFS curve Cluster migration
  • 6. 6 CPU migration  Paired little and big CPU operation  Each little CPU can switch to its big counterpart  Each CPU switches independently of other CPUs  CPU selection is driven by OS power management  DVFS algorithm monitors per-CPU load  Operating point selection is done independently per-CPU  When a little CPU cannot service the incumbent load a switch to its big counterpart is performed  The little processor is switched off at this point  The big processors are used opportunistically in this manner
  • 7. 7 The Reference Switcher  Description  Uses ARM Virtualization Extensions to run an SMP OS on a big.LITTLE system  Adopted the simplest approach to use a big.LITTLE system in an OS agnostic way  Switches payload software execution synch/asynchronously between clusters in an optimized way  Masks micro-architectural differences between Cortex-A15 and Cortex-A7  Integrated with Linux DVFS susbsytem to demonstrate  Load driven cluster migration  Switching hysteresis control algorithms  Still the fastest way to use a big.LITTLE system.......or find if the system is usable
  • 8. 8 Reference Switcher  Tradeoffs  Good at implementing mechanics not policy  Would need to rely on heuristics in absence of Linux support  Hard to perform a cluster switch in HYP mode while Linux might be idling/hotplugging cpus  No way to virtualise Idle & OPP tables. Expected to be provided by the Power controller each time they need to be used  Works best with a symmetric big.LITTLE topology (same number of cores)  Asymmetric topologies can be used but require scheduler involvement  Relies on payload software to 'auto detect' features to hide micro- architectural differences  Needs intelligence to efficiently use CCI
  • 9. 9 Reference Switcher  Interoperability with Linux OSPM  Needs Linux to implement the policy and initiate a cluster migration  DVFS framework needs cluster awareness  Idle framework needs the same  Notifiers are needed to switch between OPP and Idle tables  Interoperability with idle & hotplug is a big policy dilemma  Unpredictable behaviour if in-flight cache maintainence operations are migrated  Can switch only when other cpus are in a known stable state  Migration policy difficult to implement if clock and voltage domains are per-cpu
  • 10. 10 Reference Switcher  Hotplug policy  Offline cpus should be left as they are  In-flight hotplug operations should be allowed to complete  Further hotplug operations should be disabled till the cluster migration does not complete  Notifiers should be used to implement this contd....
  • 11. 11 Reference Switcher  Idle Policy 1. Preserve idle state of as many cpus as possible  Needs help from the Power controller to keep idle cpus idle  Send an IPI to running cpus to either:  Begin a cluster migration  Enter a “quiet” state and let the reference switcher take over  Inflight idle operations would be redundant  Complicated protocol to preserve idleness  Power controller prevents idle cpu wakeup temporarily
  • 12. 12 Reference Switcher  Idle Policy 2. Wakeup all idle cpus  Needs Linux to wakeup all idle cpus and make them either initiate a cluster switch or enter the “quiet” state  Simpler & Fast to implement. Could have a detrimental effect on power savings as cpus in possibly deeper c-states will need to be woken up
  • 13. 13 Reference Switcher  To sum up.....  Reference Switcher helps in providing the mechanics of performing a cluster switch & maintaining the illusion of an SMP system  Needs help from the OS to get even the mechanics of power management working  Has lower impact on policies but greater impact on mechanics.  Works well if the DVFS plane spans the cluster. Things get interesting when the clock and voltage domains are per-cpu  Policy implications on power and performance costs not benchmarked  Needs further optimizations to keep inbound caches warm by utilizing the CCI. This is critical to make cluster migration practical
  • 14. 14 Integrated Switcher  Why migrate a cluster when a cpu will do!  Do load calculation on a per-cpu basis  Migrate only the cpu as per its needs (power/performance)  No need to worry about other cpus for mechanical bits  cpuidle and cpufreq drivers still need to be cluster aware  Inbound caches are kept warm implicitly  Simple and efficient implementation. A cpu switch can be thought of as a combination of cpu hotplug and idle  Outbound cpu needs to be hotplugged  Inbound cpu needs to be resumed from a suspend  Critical to keep track of cpus  Common layer is needed for tracking cpu migration, hotplug & idle  Export this common view to Linux OSPM framework & GIC driver
  • 15. 15 Integrated Switcher  Re-uses Linux code to save/restore architectural state and interrupt controller context  Warm reset path needs to be cluster aware  Lots of policy options.  A cpu might be shutdown or hotplugged on one cluster but it might make sense to wake it up on the other  Amongst other metrics that cpuidle needs to worry about before deciding the target c-state, it will have to look out for cpu migration as well  A cpu switches in response to a per-cpu load calculation which is perfect when it is in its own voltage plane driven by a per-core clock  Things get interesting when the clock and voltage domain spans the cluster  A hotplug operation could result in a cluster shutdown
  • 16. 16 Micro-architectural differences  Cache topology differences (D-Side)  The Reference Switcher maps one cache topology to another  The Integrated switcher will rely on auto-detecting this information or maintaining per cluster cache topologies if required  Affects only set/way operations. They are expected to be called only during power down e.g. idle or hotplug Processor L1 D-cache L2 Unified-Cache Cortex-A15 2-way set associative of 32KB 16-way set associative of 512KB, 1024KB, 2048KB or 4096KB Cortex-A7 4-way set associative of 8KB, 16KB, 32KB or 64KB 8-way set associative of 128KB, 256KB, 512KB or 1024KB
  • 17. 17 Micro-architectural differences  Cache topology differences (I-Side)  The Reference Switcher exports the Cortex-A7 view to Cortex-A15 and helps bridge the gap at the cost of redundancy  Integrated Switcher is not responsible for this bit. Linux needs to ensure maybe through the use of device trees that this difference is catered for Processor L1 I-cache Cortex-A15 64 byte cache lines in a PIPT cache Cortex-A7 32 byte cache lines in an aliasing VIPT cache.
  • 18. 18 Micro-architectural differences  PMU differences  Cortex-A15 implements 6 event counters compared to 4 implemented by Cortex-A7  There are numerous differences in implementation defined events  Reference switcher uses Virtualization extensions to allow use of the PMU across both clusters  Perf sees and uses events that it detects on the boot cluster  Events are saved and restored across a cluster switch. Perf is responsible for using only the events which are common across the two clusters  HVC api is available to use both PMUs. Each PMU's state is preserved across a cluster switch
  • 19. 19 Micro-architectural differences  PMU differences contd..  Integrated switcher needs the perf backend to maintain seperate event "buckets" for each cluster  Count events available on Cortex-A15 only on it and ditto for Cortex-A7  Seperate counts for common events e.g. cycle counter  Scales well for big.LITTLE MP as well
  • 20. 20 Micro-architectural differences  Implementation defined register differences  Common registers with different bit implementations e.g ACTLR, L2CTLR  Registers present on one and not on the other  L2ACTLR, L2PMRR etc in Cortex-A15  Copy TLB RAM to registers (CDBGTD) in Cortex-A7  These registers are not used by Linux but need to be preserved if required across a migration
  • 21. 21 Micro-architectural differences  Shared vGIC  CPU interfaces are numbered linearly  CPU ids are repeated  Mapping between the two needs to be maintained  Reference Switcher virtualizes accesses to the GIC Distributor  Integrated Switcher maintains internal map. Cortex-A15 Cortex-A7 CCI-400 CPU 1CPU 0 CPU 0 CPU 1 I$ I$ I$ I$D$ D$ D$ D$ L2 Cache + SCU L2 Cache + SCU GIC-400 Distributor interface CPU 0 Interface CPU 1 Interface CPU 2 Interface CPU 3 Interface CoreLink CCI-400 Cache Coherent Interconnect External Interrupt X ACTIVE CLUSTER INACTIVE CLUSTER
  • 22. 22 Optimizations  Pipelining  Bring the inbound core out of reset beforehand  Secure firmware setup completes while context is saved  Device, Coherency and MMU setup is costly  Power down outbound cpu while inbound restores context  Allows the inbound to tap into the warm outbound caches  Especially important when the last cpu in a cluster migrates causing an outbound cluster shutdown  Turn on MMU & I caches asap after a reset  CCI snoops can be turned on later  Use DSBs only when required  A Data Synchronization barrier spans the inner shareability domain  Waits for outstanding transactions to complete and can cause stalls
  • 23. 23 Optimizations  Enable XN bit for pages which do not contain instructions Pre-fetching can be counter productive  Avoid accesses to literal pools. Replaced with MOV/MOVT for loading constants  Use of virtual GIC interfaces can be avoided if Linux can trigger a cluster switch  Target Interrupts to both clusters to avoid GIC s&r overhead  Burst accesses to Device memory are better than word accesses