SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
1
Power State Coordination
Interface
Update and what next
2
Multiple OS coexisting in one device
 Semico and Trusted OS vendors will supply secure code
 You might have a hypervisor
 Rich OS running at kernel privilege (eg Linux or windows)
 Applications at user level
Apps
Apps
Apps
Apps
Guest OS
Apps
Apps
Apps
Apps
Guest OS
Hypervisor
Secure
AppsSecure
Apps
Secure OS
Secure Monitor
EL0
EL1
EL2
EL3
Non-Secure Secure
32-bit &
64-bit
Apps
Guest OS
64-bit
Hypervisor
Monitor
Apps
Apps
Apps
Apps
Guest OS
Apps
Apps
Apps
Apps
Guest OS
Hypervisor
Secure
AppsSecure
Apps
Secure OS
Secure Monitor
PL0
PL1
PL2
Non-Secure
ARMv7 ARMv8
Secure
3
Power Management Requires Coordination
 Need OSs at different privilege
layers to collaborate on power
 OSs need to know when to
save/restore their state
 OSs need to manage
peripherals they own when
entering a power state
RichOS
Hypervisor
Secure world
Hotplug
Secondary boot
Idle
Powercontroller
optional
bigLITTLE migration
4
Conduit to next layer of privilege
 To talk across OSs you need instructions that can get you up
to next level of privilege
 SMC provides such an interface
 SMC can also be trapped at hypervisor level
 A virtualised guest can use the same interface
 If EL3 is not implemented HVC can be used as conduit to
support PSCI compliant guests
5
Power State Coordination Interface
 System APIs are required by
 Idle Management
 Hot plug
 Secondary boot
 CPU Migration
 Can be captured in a few APIs. Principle APIs are:
 CPU_SUSPEND
 CPU_OFF
 CPU_ON
6
CPU_SUSPEND
 Parameters:
 State type:
 Tells if you
need to save
context
 Affinity Level:
 You can power
down up to:
 just this cpu
 just this cluster
 whole system
 Platform specific
state ID
 Entry point address:
 Resume here
please
7
CPU_ON
 Parameters:
 Target CPU:
 MPIDR of target CPU
 Entry point address:
 Resume here please
 Can only fail if
 Thermal/reliability issues
 FW has a the CPU ON
pending
 FW sees CPU as still
being ON
8
CPU_OFF
 Called by CPU turning off. Takes
no parameters
 Can fail if secure world cannot
turn off CPU because a trusted
OS is resident there
 MIGRATE moves Trusted OS
 MIGRATE_STATUS allows
determination of Trusted OS
presence. Returns:
 There is no trusted OS, trusted OS
does not require migration
 Trusted OS is UP, does not support
migration and its on CPUX (you can’t
turn X off)
 Trusted OS is UP, supports
migration and its on CPU X. Don’t
turn off CPU X (unless it’s last one)
9
PSCI Discovery
Presence or absence of PSCI
should be discoverable
FW tables can present:
 Version
 Method
SMC, HVC
 Call offsets
psci {
compatible = "arm,psci-1.0",
"arm,psci";
method = "smc";
cpu_suspend = <0x84000000>;
cpu_off = <0x84000001>;
cpu_on = <0x84000002>;
...
};
10
PSCI-next
 New version of the spec in the works.
 Spec to appear beginning of Q2
 Key deltas:
 Clarified reset state and starting point for
CPU_ON/CPU_SUSPEND
 Clarifications of responsibilities for callers and
implementers
 Clarifications on CPU_ON/OFF races
11
PSCI-next
 Key deltas continued:
 MIGRATE_STATUS: use at boot time to understand migration and
hot-plug related requirements of a Trusted OS, where it is, and if it is
 AFFINITY_STATUS: tells you if a CPU is on or off, or if a cluster has
CPUs on or off
 Considering RESET
12
PSCI-next
 PSCI on it’s own doesn’t buy that much
 PSCI is a step towards standardising power management
 We are now looking at :
 Idle management
 Many core boot
 Hot plug
13
PSCI-next Idle Management
 What could you represent in FDT (per state):
 Book keeping stuff
 Latency information
 Save/Restore requirements
 Cache management requirements
 Affinity level coordination (AKA last man standing requirements)
 Wake up sources
 State cookie or flags
 Method of state entry
14
PSCI-next Idle Management
 What could you represent in FDT (per state):
 Book keeping stuff
 Name of state
 Description
 Approximate power consumption
 Latency information
 Save/Restore requirements
 Cache management requirements
 Affinity level coordination (AKA last man standing requirements)
 Wake up sources
 State cookie or flags
 Method of state entry
15
PSCI-next Idle Management
 What could you represent in FDT (per state):
 Book keeping stuff
 Latency information
 Entry/exit latencies (do we need both? Aggregate is probably fine)
 Break even time for state (AKA target residency)
 Save/Restore requirements
 Cache management requirements
 Affinity level coordination (AKA last man standing requirements)
 Wake up sources
 State cookie or flags
 Method of state entry
16
PSCI-next Idle Management
 What could you represent in FDT (per state):
 Book keeping stuff
 Latency information
 Save/Restore requirements
 Does state loose context?
 CPU?
 GIC?
 Arch Timer?
 Cache management requirements
 Affinity level coordination (AKA last man standing requirements)
 Wake up sources
 State cookie or flags
 Method of state entry
17
PSCI-next Idle Management
 What could you represent in FDT (per state):
 Book keeping stuff
 Latency information
 Save/Restore requirements
 Cache management requirements
 Do I need to cache clean? How far (L1 or L1/L2)?
 Affinity level coordination (AKA last man standing requirements)
 Wake up sources
 State cookie or flags
 Method of state entry
18
PSCI-next Idle Management
 What could you represent in FDT (per state):
 Book keeping stuff
 Latency information
 Save/Restore requirements
 Cache management requirements
 Affinity level coordination (AKA last man standing
requirements)
 Does the state require a set of cores to power down together?
 If so does the OS need to coordinate entry into state?
 That is implement something like coupled idle? And last core asks
for state or
 Or does the method of entry abstract this? And all cores ask for
state
 ...
19
PSCI-next Idle Management
 What could you represent in FDT (per state):
 Book keeping stuff
 Latency information
 Save/Restore requirements
 Cache management requirements
 Affinity level coordination (AKA last man standing requirements)
 Wake up sources
 At least one wake up source must be enabled
 State cookie or flags
 Method of state entry
20
PSCI-next Idle Management
 What could you represent in FDT (per state):
 Book keeping stuff
 Latency information
 Save/Restore requirements
 Cache management requirements
 Affinity level coordination (AKA last man standing requirements)
 Wake up sources
 Method of state entry:
 something that in an abstract way says how you enter power states
{...
method = “psci” // implies you support PSCI and that there is a PCSCI
entry in FDT
};
 In principle could have other methods
 State cookie or flags : for PSCI it could be parameter for call
21
PSCI-next Idle Management
 PSCI does not require:
 Cache management to be expressed:
 Implementation does it for you
 Affinity level coordination is platform coordinated
 No need for coupled C-states at OS level
22
ACPI and PSCI for Idle Management
 ACPI due to it’s history has a number of areas where it
doesn’t particularly well with ARM
 Work is still required to make ACPI a good fit for ARM
 Examples are:
 Expressing save/restore requirements
 Expressing cache management requirements
 Can do coupled states, but it’s not very easy
 Not as rich in latency expression: (no target residency)
 But ACPI does has some flexibility in description of C-states
that can accommodate PSCI
 Following are ideas on how idle ACPI management can be
hooked to PSCI
23
Ideas for ACPI and PSCI in Idle
 In ACPI Each C-state is associated with a register at an
“address” in an “address space”
 One address space is Function Fixed Hardware (FFH)
 “interpret address in a way defined by the CPU vendor”
 For Intel FFH means MWAIT. With ARM we can use PSCI
 Address broken into :
 Flags to indicate context to save restore
 PSCI parameter for PSCI call
Field Size (bytes) Core state
Address Space ID 1 0x7f (FFH)
Access Size 1 4 (64 bit)
Address Flags: 32-63
PSCI param:0-31
24
Ideas for ACPI and PSCI in Idle
 Example _CST table
 Example : simple SMP system with core and cluster gating
 ACPI idle driver needs to say #ifdef ARM
If state == C1 WFI
Else if register address is FFH:
save state as appropriate(state_address_upper_32)
PSCI_CALL(state_address_lower_32)
Description Location Address
C1 WFI N/A N/A
C2 Core OFF OFF 0x10:0x10000 (AFF0 power
down)
C3 Cluster Off OFF 0x10:0x101000 (AFF1,
power down)
25
PSCI
 Provides the method of abstracting key power management
requests across exception/privilege levels
 Provides a generic way of handling hot plug and secondary
core boot
 Provides support for Migration (good for big.LITTLE)
 Can be tied to FDT and ACPI, to help provide generic idle
management
26
Questions
?? ?

Mais conteúdo relacionado

Mais procurados

Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_Linaro
 
Windows power management basic knowledge
Windows power management basic knowledgeWindows power management basic knowledge
Windows power management basic knowledgeYonghong(Dave) Feng
 
Message Signaled Interrupts
Message Signaled InterruptsMessage Signaled Interrupts
Message Signaled InterruptsAnshuman Biswal
 
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Linaro
 
HKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
HKG15-505: Power Management interactions with OP-TEE and Trusted FirmwareHKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
HKG15-505: Power Management interactions with OP-TEE and Trusted FirmwareLinaro
 
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware – from Enterprise to EmbeddedLAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware – from Enterprise to EmbeddedLinaro
 
U Boot or Universal Bootloader
U Boot or Universal BootloaderU Boot or Universal Bootloader
U Boot or Universal BootloaderSatpal Parmar
 
U-Boot presentation 2013
U-Boot presentation  2013U-Boot presentation  2013
U-Boot presentation 2013Wave Digitech
 
Lcu14 107- op-tee on ar mv8
Lcu14 107- op-tee on ar mv8Lcu14 107- op-tee on ar mv8
Lcu14 107- op-tee on ar mv8Linaro
 
I2C Subsystem In Linux-2.6.24
I2C Subsystem In Linux-2.6.24I2C Subsystem In Linux-2.6.24
I2C Subsystem In Linux-2.6.24Varun Mahajan
 
Linux Memory Management
Linux Memory ManagementLinux Memory Management
Linux Memory ManagementNi Zo-Ma
 
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3Linaro
 
qCUDA-ARM : Virtualization for Embedded GPU Architectures
 qCUDA-ARM : Virtualization for Embedded GPU Architectures  qCUDA-ARM : Virtualization for Embedded GPU Architectures
qCUDA-ARM : Virtualization for Embedded GPU Architectures 柏瑀 黃
 
qemu + gdb + sample_code: Run sample code in QEMU OS and observe Linux Kernel...
qemu + gdb + sample_code: Run sample code in QEMU OS and observe Linux Kernel...qemu + gdb + sample_code: Run sample code in QEMU OS and observe Linux Kernel...
qemu + gdb + sample_code: Run sample code in QEMU OS and observe Linux Kernel...Adrian Huang
 
BUD17-400: Secure Data Path with OPTEE
BUD17-400: Secure Data Path with OPTEE BUD17-400: Secure Data Path with OPTEE
BUD17-400: Secure Data Path with OPTEE Linaro
 
Introduction to armv8 aarch64
Introduction to armv8 aarch64Introduction to armv8 aarch64
Introduction to armv8 aarch64Yi-Hsiu Hsu
 

Mais procurados (20)

Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_
 
Windows power management basic knowledge
Windows power management basic knowledgeWindows power management basic knowledge
Windows power management basic knowledge
 
Message Signaled Interrupts
Message Signaled InterruptsMessage Signaled Interrupts
Message Signaled Interrupts
 
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
 
HKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
HKG15-505: Power Management interactions with OP-TEE and Trusted FirmwareHKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
HKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
 
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware – from Enterprise to EmbeddedLAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
 
U Boot or Universal Bootloader
U Boot or Universal BootloaderU Boot or Universal Bootloader
U Boot or Universal Bootloader
 
U-Boot presentation 2013
U-Boot presentation  2013U-Boot presentation  2013
U-Boot presentation 2013
 
Qemu Introduction
Qemu IntroductionQemu Introduction
Qemu Introduction
 
Lcu14 107- op-tee on ar mv8
Lcu14 107- op-tee on ar mv8Lcu14 107- op-tee on ar mv8
Lcu14 107- op-tee on ar mv8
 
I2C Subsystem In Linux-2.6.24
I2C Subsystem In Linux-2.6.24I2C Subsystem In Linux-2.6.24
I2C Subsystem In Linux-2.6.24
 
Linux Memory Management
Linux Memory ManagementLinux Memory Management
Linux Memory Management
 
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3
 
qCUDA-ARM : Virtualization for Embedded GPU Architectures
 qCUDA-ARM : Virtualization for Embedded GPU Architectures  qCUDA-ARM : Virtualization for Embedded GPU Architectures
qCUDA-ARM : Virtualization for Embedded GPU Architectures
 
Linux : PSCI
Linux : PSCILinux : PSCI
Linux : PSCI
 
qemu + gdb + sample_code: Run sample code in QEMU OS and observe Linux Kernel...
qemu + gdb + sample_code: Run sample code in QEMU OS and observe Linux Kernel...qemu + gdb + sample_code: Run sample code in QEMU OS and observe Linux Kernel...
qemu + gdb + sample_code: Run sample code in QEMU OS and observe Linux Kernel...
 
BUD17-400: Secure Data Path with OPTEE
BUD17-400: Secure Data Path with OPTEE BUD17-400: Secure Data Path with OPTEE
BUD17-400: Secure Data Path with OPTEE
 
Linux Kernel Live Patching
Linux Kernel Live PatchingLinux Kernel Live Patching
Linux Kernel Live Patching
 
U-Boot - An universal bootloader
U-Boot - An universal bootloader U-Boot - An universal bootloader
U-Boot - An universal bootloader
 
Introduction to armv8 aarch64
Introduction to armv8 aarch64Introduction to armv8 aarch64
Introduction to armv8 aarch64
 

Destaque

Q2.12: Idle Power States Nomenclature
Q2.12: Idle Power States NomenclatureQ2.12: Idle Power States Nomenclature
Q2.12: Idle Power States NomenclatureLinaro
 
Power management
Power managementPower management
Power managementScott Shu
 
Linaro Connect 2016 (BKK16) - Introduction to LISA
Linaro Connect 2016 (BKK16) - Introduction to LISALinaro Connect 2016 (BKK16) - Introduction to LISA
Linaro Connect 2016 (BKK16) - Introduction to LISAPatrick Bellasi
 
Linux Power Management Slideshare
Linux Power Management SlideshareLinux Power Management Slideshare
Linux Power Management SlidesharePatrick Bellasi
 
Embedded Systems Power Management
Embedded Systems Power ManagementEmbedded Systems Power Management
Embedded Systems Power ManagementPatrick Bellasi
 
Android power management
Android power managementAndroid power management
Android power managementJerrin George
 
BUD17-416: Benchmark and profiling in OP-TEE
BUD17-416: Benchmark and profiling in OP-TEE BUD17-416: Benchmark and profiling in OP-TEE
BUD17-416: Benchmark and profiling in OP-TEE Linaro
 
BUD17-510: Power management in Linux together with secure firmware
BUD17-510: Power management in Linux together with secure firmwareBUD17-510: Power management in Linux together with secure firmware
BUD17-510: Power management in Linux together with secure firmwareLinaro
 
Linux Profiling at Netflix
Linux Profiling at NetflixLinux Profiling at Netflix
Linux Profiling at NetflixBrendan Gregg
 
SFO15-302: Energy Aware Scheduling: Progress Update
SFO15-302: Energy Aware Scheduling: Progress UpdateSFO15-302: Energy Aware Scheduling: Progress Update
SFO15-302: Energy Aware Scheduling: Progress UpdateLinaro
 
The Theory and Implementation of DVFS on Linux
The Theory and Implementation of DVFS on LinuxThe Theory and Implementation of DVFS on Linux
The Theory and Implementation of DVFS on LinuxPicker Weng
 

Destaque (12)

Q2.12: Idle Power States Nomenclature
Q2.12: Idle Power States NomenclatureQ2.12: Idle Power States Nomenclature
Q2.12: Idle Power States Nomenclature
 
Power management
Power managementPower management
Power management
 
Linaro Connect 2016 (BKK16) - Introduction to LISA
Linaro Connect 2016 (BKK16) - Introduction to LISALinaro Connect 2016 (BKK16) - Introduction to LISA
Linaro Connect 2016 (BKK16) - Introduction to LISA
 
Linux Power Management Slideshare
Linux Power Management SlideshareLinux Power Management Slideshare
Linux Power Management Slideshare
 
Embedded Systems Power Management
Embedded Systems Power ManagementEmbedded Systems Power Management
Embedded Systems Power Management
 
Android power management
Android power managementAndroid power management
Android power management
 
BUD17-416: Benchmark and profiling in OP-TEE
BUD17-416: Benchmark and profiling in OP-TEE BUD17-416: Benchmark and profiling in OP-TEE
BUD17-416: Benchmark and profiling in OP-TEE
 
BUD17-510: Power management in Linux together with secure firmware
BUD17-510: Power management in Linux together with secure firmwareBUD17-510: Power management in Linux together with secure firmware
BUD17-510: Power management in Linux together with secure firmware
 
Power Management from Linux Kernel to Android
Power Management from Linux Kernel to AndroidPower Management from Linux Kernel to Android
Power Management from Linux Kernel to Android
 
Linux Profiling at Netflix
Linux Profiling at NetflixLinux Profiling at Netflix
Linux Profiling at Netflix
 
SFO15-302: Energy Aware Scheduling: Progress Update
SFO15-302: Energy Aware Scheduling: Progress UpdateSFO15-302: Energy Aware Scheduling: Progress Update
SFO15-302: Energy Aware Scheduling: Progress Update
 
The Theory and Implementation of DVFS on Linux
The Theory and Implementation of DVFS on LinuxThe Theory and Implementation of DVFS on Linux
The Theory and Implementation of DVFS on Linux
 

Semelhante a LCA13: Power State Coordination Interface

Information Gathering 2
Information Gathering 2Information Gathering 2
Information Gathering 2Aero Plane
 
ACPI In Windows Vista
ACPI In Windows VistaACPI In Windows Vista
ACPI In Windows Vistaspot2
 
Q2.12: Power Management Across OSs
Q2.12: Power Management Across OSsQ2.12: Power Management Across OSs
Q2.12: Power Management Across OSsLinaro
 
LCU13: ACPI power state mapping
LCU13: ACPI power state mappingLCU13: ACPI power state mapping
LCU13: ACPI power state mappingLinaro
 
Slideshare - PCIe
Slideshare - PCIeSlideshare - PCIe
Slideshare - PCIeJin Wu
 
Project ACRN expose and pass through platform hidden PCIe devices to SOS
Project ACRN expose and pass through platform hidden PCIe devices to SOSProject ACRN expose and pass through platform hidden PCIe devices to SOS
Project ACRN expose and pass through platform hidden PCIe devices to SOSProject ACRN
 
Nvidia tegra K1 Presentation
Nvidia tegra K1 PresentationNvidia tegra K1 Presentation
Nvidia tegra K1 PresentationANURAG SEKHSARIA
 
SCSI Protocol
SCSI ProtocolSCSI Protocol
SCSI ProtocolRakesh T
 
intel_x86_pm.pptx
intel_x86_pm.pptxintel_x86_pm.pptx
intel_x86_pm.pptxAtul Vaish
 
AMD_11th_Intl_SoC_Conf_UCI_Irvine
AMD_11th_Intl_SoC_Conf_UCI_IrvineAMD_11th_Intl_SoC_Conf_UCI_Irvine
AMD_11th_Intl_SoC_Conf_UCI_IrvinePankaj Singh
 
Real Machine Cloud Computing Che Rung Lee.pptx
Real Machine Cloud Computing Che Rung Lee.pptxReal Machine Cloud Computing Che Rung Lee.pptx
Real Machine Cloud Computing Che Rung Lee.pptxDanyMoko
 
4bit pc report[cse 08-section-b2_group-02]
4bit pc report[cse 08-section-b2_group-02]4bit pc report[cse 08-section-b2_group-02]
4bit pc report[cse 08-section-b2_group-02]shibbirtanvin
 
4bit PC report
4bit PC report4bit PC report
4bit PC reporttanvin
 
directCell - Cell/B.E. tightly coupled via PCI Express
directCell - Cell/B.E. tightly coupled via PCI ExpressdirectCell - Cell/B.E. tightly coupled via PCI Express
directCell - Cell/B.E. tightly coupled via PCI ExpressHeiko Joerg Schick
 
Important cisco-chow-commands
Important cisco-chow-commandsImportant cisco-chow-commands
Important cisco-chow-commandsssusere31b5c
 
Chapter7_InputOutputStorageSystems.pptx
Chapter7_InputOutputStorageSystems.pptxChapter7_InputOutputStorageSystems.pptx
Chapter7_InputOutputStorageSystems.pptxJanethMedina31
 

Semelhante a LCA13: Power State Coordination Interface (20)

Information Gathering 2
Information Gathering 2Information Gathering 2
Information Gathering 2
 
ACPI In Windows Vista
ACPI In Windows VistaACPI In Windows Vista
ACPI In Windows Vista
 
Q2.12: Power Management Across OSs
Q2.12: Power Management Across OSsQ2.12: Power Management Across OSs
Q2.12: Power Management Across OSs
 
LCU13: ACPI power state mapping
LCU13: ACPI power state mappingLCU13: ACPI power state mapping
LCU13: ACPI power state mapping
 
Slideshare - PCIe
Slideshare - PCIeSlideshare - PCIe
Slideshare - PCIe
 
Project ACRN expose and pass through platform hidden PCIe devices to SOS
Project ACRN expose and pass through platform hidden PCIe devices to SOSProject ACRN expose and pass through platform hidden PCIe devices to SOS
Project ACRN expose and pass through platform hidden PCIe devices to SOS
 
Nvidia tegra K1 Presentation
Nvidia tegra K1 PresentationNvidia tegra K1 Presentation
Nvidia tegra K1 Presentation
 
SCSI Protocol
SCSI ProtocolSCSI Protocol
SCSI Protocol
 
intel_x86_pm.pptx
intel_x86_pm.pptxintel_x86_pm.pptx
intel_x86_pm.pptx
 
AMD_11th_Intl_SoC_Conf_UCI_Irvine
AMD_11th_Intl_SoC_Conf_UCI_IrvineAMD_11th_Intl_SoC_Conf_UCI_Irvine
AMD_11th_Intl_SoC_Conf_UCI_Irvine
 
Real Machine Cloud Computing Che Rung Lee.pptx
Real Machine Cloud Computing Che Rung Lee.pptxReal Machine Cloud Computing Che Rung Lee.pptx
Real Machine Cloud Computing Che Rung Lee.pptx
 
4bit pc report[cse 08-section-b2_group-02]
4bit pc report[cse 08-section-b2_group-02]4bit pc report[cse 08-section-b2_group-02]
4bit pc report[cse 08-section-b2_group-02]
 
4bit PC report
4bit PC report4bit PC report
4bit PC report
 
directCell - Cell/B.E. tightly coupled via PCI Express
directCell - Cell/B.E. tightly coupled via PCI ExpressdirectCell - Cell/B.E. tightly coupled via PCI Express
directCell - Cell/B.E. tightly coupled via PCI Express
 
viva q&a for mp lab
viva q&a for mp labviva q&a for mp lab
viva q&a for mp lab
 
Important cisco-chow-commands
Important cisco-chow-commandsImportant cisco-chow-commands
Important cisco-chow-commands
 
Juniper Trouble Shooting
Juniper Trouble ShootingJuniper Trouble Shooting
Juniper Trouble Shooting
 
Chapter7_InputOutputStorageSystems.pptx
Chapter7_InputOutputStorageSystems.pptxChapter7_InputOutputStorageSystems.pptx
Chapter7_InputOutputStorageSystems.pptx
 
Introduction to APC
Introduction to APCIntroduction to APC
Introduction to APC
 
Bc0040
Bc0040Bc0040
Bc0040
 

Mais de 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
 

Mais de 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
 

Último

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
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
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 

Último (20)

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
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
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

LCA13: Power State Coordination Interface

  • 2. 2 Multiple OS coexisting in one device  Semico and Trusted OS vendors will supply secure code  You might have a hypervisor  Rich OS running at kernel privilege (eg Linux or windows)  Applications at user level Apps Apps Apps Apps Guest OS Apps Apps Apps Apps Guest OS Hypervisor Secure AppsSecure Apps Secure OS Secure Monitor EL0 EL1 EL2 EL3 Non-Secure Secure 32-bit & 64-bit Apps Guest OS 64-bit Hypervisor Monitor Apps Apps Apps Apps Guest OS Apps Apps Apps Apps Guest OS Hypervisor Secure AppsSecure Apps Secure OS Secure Monitor PL0 PL1 PL2 Non-Secure ARMv7 ARMv8 Secure
  • 3. 3 Power Management Requires Coordination  Need OSs at different privilege layers to collaborate on power  OSs need to know when to save/restore their state  OSs need to manage peripherals they own when entering a power state RichOS Hypervisor Secure world Hotplug Secondary boot Idle Powercontroller optional bigLITTLE migration
  • 4. 4 Conduit to next layer of privilege  To talk across OSs you need instructions that can get you up to next level of privilege  SMC provides such an interface  SMC can also be trapped at hypervisor level  A virtualised guest can use the same interface  If EL3 is not implemented HVC can be used as conduit to support PSCI compliant guests
  • 5. 5 Power State Coordination Interface  System APIs are required by  Idle Management  Hot plug  Secondary boot  CPU Migration  Can be captured in a few APIs. Principle APIs are:  CPU_SUSPEND  CPU_OFF  CPU_ON
  • 6. 6 CPU_SUSPEND  Parameters:  State type:  Tells if you need to save context  Affinity Level:  You can power down up to:  just this cpu  just this cluster  whole system  Platform specific state ID  Entry point address:  Resume here please
  • 7. 7 CPU_ON  Parameters:  Target CPU:  MPIDR of target CPU  Entry point address:  Resume here please  Can only fail if  Thermal/reliability issues  FW has a the CPU ON pending  FW sees CPU as still being ON
  • 8. 8 CPU_OFF  Called by CPU turning off. Takes no parameters  Can fail if secure world cannot turn off CPU because a trusted OS is resident there  MIGRATE moves Trusted OS  MIGRATE_STATUS allows determination of Trusted OS presence. Returns:  There is no trusted OS, trusted OS does not require migration  Trusted OS is UP, does not support migration and its on CPUX (you can’t turn X off)  Trusted OS is UP, supports migration and its on CPU X. Don’t turn off CPU X (unless it’s last one)
  • 9. 9 PSCI Discovery Presence or absence of PSCI should be discoverable FW tables can present:  Version  Method SMC, HVC  Call offsets psci { compatible = "arm,psci-1.0", "arm,psci"; method = "smc"; cpu_suspend = <0x84000000>; cpu_off = <0x84000001>; cpu_on = <0x84000002>; ... };
  • 10. 10 PSCI-next  New version of the spec in the works.  Spec to appear beginning of Q2  Key deltas:  Clarified reset state and starting point for CPU_ON/CPU_SUSPEND  Clarifications of responsibilities for callers and implementers  Clarifications on CPU_ON/OFF races
  • 11. 11 PSCI-next  Key deltas continued:  MIGRATE_STATUS: use at boot time to understand migration and hot-plug related requirements of a Trusted OS, where it is, and if it is  AFFINITY_STATUS: tells you if a CPU is on or off, or if a cluster has CPUs on or off  Considering RESET
  • 12. 12 PSCI-next  PSCI on it’s own doesn’t buy that much  PSCI is a step towards standardising power management  We are now looking at :  Idle management  Many core boot  Hot plug
  • 13. 13 PSCI-next Idle Management  What could you represent in FDT (per state):  Book keeping stuff  Latency information  Save/Restore requirements  Cache management requirements  Affinity level coordination (AKA last man standing requirements)  Wake up sources  State cookie or flags  Method of state entry
  • 14. 14 PSCI-next Idle Management  What could you represent in FDT (per state):  Book keeping stuff  Name of state  Description  Approximate power consumption  Latency information  Save/Restore requirements  Cache management requirements  Affinity level coordination (AKA last man standing requirements)  Wake up sources  State cookie or flags  Method of state entry
  • 15. 15 PSCI-next Idle Management  What could you represent in FDT (per state):  Book keeping stuff  Latency information  Entry/exit latencies (do we need both? Aggregate is probably fine)  Break even time for state (AKA target residency)  Save/Restore requirements  Cache management requirements  Affinity level coordination (AKA last man standing requirements)  Wake up sources  State cookie or flags  Method of state entry
  • 16. 16 PSCI-next Idle Management  What could you represent in FDT (per state):  Book keeping stuff  Latency information  Save/Restore requirements  Does state loose context?  CPU?  GIC?  Arch Timer?  Cache management requirements  Affinity level coordination (AKA last man standing requirements)  Wake up sources  State cookie or flags  Method of state entry
  • 17. 17 PSCI-next Idle Management  What could you represent in FDT (per state):  Book keeping stuff  Latency information  Save/Restore requirements  Cache management requirements  Do I need to cache clean? How far (L1 or L1/L2)?  Affinity level coordination (AKA last man standing requirements)  Wake up sources  State cookie or flags  Method of state entry
  • 18. 18 PSCI-next Idle Management  What could you represent in FDT (per state):  Book keeping stuff  Latency information  Save/Restore requirements  Cache management requirements  Affinity level coordination (AKA last man standing requirements)  Does the state require a set of cores to power down together?  If so does the OS need to coordinate entry into state?  That is implement something like coupled idle? And last core asks for state or  Or does the method of entry abstract this? And all cores ask for state  ...
  • 19. 19 PSCI-next Idle Management  What could you represent in FDT (per state):  Book keeping stuff  Latency information  Save/Restore requirements  Cache management requirements  Affinity level coordination (AKA last man standing requirements)  Wake up sources  At least one wake up source must be enabled  State cookie or flags  Method of state entry
  • 20. 20 PSCI-next Idle Management  What could you represent in FDT (per state):  Book keeping stuff  Latency information  Save/Restore requirements  Cache management requirements  Affinity level coordination (AKA last man standing requirements)  Wake up sources  Method of state entry:  something that in an abstract way says how you enter power states {... method = “psci” // implies you support PSCI and that there is a PCSCI entry in FDT };  In principle could have other methods  State cookie or flags : for PSCI it could be parameter for call
  • 21. 21 PSCI-next Idle Management  PSCI does not require:  Cache management to be expressed:  Implementation does it for you  Affinity level coordination is platform coordinated  No need for coupled C-states at OS level
  • 22. 22 ACPI and PSCI for Idle Management  ACPI due to it’s history has a number of areas where it doesn’t particularly well with ARM  Work is still required to make ACPI a good fit for ARM  Examples are:  Expressing save/restore requirements  Expressing cache management requirements  Can do coupled states, but it’s not very easy  Not as rich in latency expression: (no target residency)  But ACPI does has some flexibility in description of C-states that can accommodate PSCI  Following are ideas on how idle ACPI management can be hooked to PSCI
  • 23. 23 Ideas for ACPI and PSCI in Idle  In ACPI Each C-state is associated with a register at an “address” in an “address space”  One address space is Function Fixed Hardware (FFH)  “interpret address in a way defined by the CPU vendor”  For Intel FFH means MWAIT. With ARM we can use PSCI  Address broken into :  Flags to indicate context to save restore  PSCI parameter for PSCI call Field Size (bytes) Core state Address Space ID 1 0x7f (FFH) Access Size 1 4 (64 bit) Address Flags: 32-63 PSCI param:0-31
  • 24. 24 Ideas for ACPI and PSCI in Idle  Example _CST table  Example : simple SMP system with core and cluster gating  ACPI idle driver needs to say #ifdef ARM If state == C1 WFI Else if register address is FFH: save state as appropriate(state_address_upper_32) PSCI_CALL(state_address_lower_32) Description Location Address C1 WFI N/A N/A C2 Core OFF OFF 0x10:0x10000 (AFF0 power down) C3 Cluster Off OFF 0x10:0x101000 (AFF1, power down)
  • 25. 25 PSCI  Provides the method of abstracting key power management requests across exception/privilege levels  Provides a generic way of handling hot plug and secondary core boot  Provides support for Migration (good for big.LITTLE)  Can be tied to FDT and ACPI, to help provide generic idle management