The motivation of hypervisor based CPUFreq is to enable the one of the main PM use-cases (Dynamic voltage and frequency scaling) in virtualized system powered by Xen hypervisor. Rationale behind this activity is that CPU virtualization is done by hypervisor and the guest OS doesn't actually know anything about physical CPUs because it is running on virtual CPUs.
In this talk Oleksandr will briefly describe the possible approach of generic CPUFreq in Xen on ARM, the advantages and disadvantages of having DVFS support on ARM boards powered by Xen hypervisor and share results of his CPUFreq PoC which implies power consumption measurements with and without CPUFreq enabled on R-Car Gen3 based board as an example.
HKG15-107: ACPI Power Management on ARM64 Servers (v2)Linaro
HKG15-107: ACPI Power Management on ARM64 Servers
---------------------------------------------------
Speaker: Ashwin Chaugule
Date: February 9, 2015
---------------------------------------------------
★ Session Summary ★
Status of CPPC with runtime PM and discussion on idle PM with ACPI
--------------------------------------------------
★ Resources ★
Pathable: https://hkg15.pathable.com/meetings/250767
Video: https://www.youtube.com/watch?v=eDDgYIkUHLI
Etherpad: http://pad.linaro.org/p/hkg15-107
---------------------------------------------------
★ Event Details ★
Linaro Connect Hong Kong 2015 - #HKG15
February 9-13th, 2015
Regal Airport Hotel Hong Kong Airport
---------------------------------------------------
http://www.linaro.org
http://connect.linaro.org
This slide provides a basic understanding of hypervisor support in ARM v8 and above processors. And these slides (intent to) give some guidelines to automotive engineers to compare and choose right solution!
LCU13: Deep Dive into ARM Trusted Firmware
Resource: LCU13
Name: Deep Dive into ARM Trusted Firmware
Date: 31-10-2013
Speaker: Dan Handley / Charles Garcia-Tobin
HKG15-505: Power Management interactions with OP-TEE and Trusted FirmwareLinaro
HKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
---------------------------------------------------
Speaker: Jorge Ramirez-Ortiz
Date: February 13, 2015
---------------------------------------------------
★ Session Summary ★
[Note: this is a joint Security/Power Management session) Understand what use cases related to Power Management have to interact with Trusted Firmware via Secure calls. Walk through some key use cases like CPU Suspend and explain how PM Linux drivers interacts with Trusted Firmware / PSCI
--------------------------------------------------
★ Resources ★
Pathable: https://hkg15.pathable.com/meetings/250855
Video: https://www.youtube.com/watch?v=hQ2ITjHZY4s
Etherpad: http://pad.linaro.org/p/hkg15-505
---------------------------------------------------
★ Event Details ★
Linaro Connect Hong Kong 2015 - #HKG15
February 9-13th, 2015
Regal Airport Hotel Hong Kong Airport
---------------------------------------------------
http://www.linaro.org
http://connect.linaro.org
SFO15-TR9: PSCI, ACPI (and UEFI to boot)
Speaker: Bill Fletcher
Date: September 24, 2015
★ Session Description ★
An introductory session of a system-level overview at Power State Coordination
- Focus on ARMv8
- Goes top-down from ACPI
- A demo based on the current code in qemu
- The specifications are very dynamic - what’s onging for ACPI and PSCI
★ Resources ★
Video: https://www.youtube.com/watch?v=vXzPdpaZVto
Presentation: http://www.slideshare.net/linaroorg/sfo15tr9-psci-acpi-and-uefi-to-boot
Etherpad: pad.linaro.org/p/sfo15-tr9
Pathable: https://sfo15.pathable.com/meetings/303087
★ Event Details ★
Linaro Connect San Francisco 2015 - #SFO15
September 21-25, 2015
Hyatt Regency Hotel
http://www.linaro.org
http://connect.linaro.org
HKG15-107: ACPI Power Management on ARM64 Servers (v2)Linaro
HKG15-107: ACPI Power Management on ARM64 Servers
---------------------------------------------------
Speaker: Ashwin Chaugule
Date: February 9, 2015
---------------------------------------------------
★ Session Summary ★
Status of CPPC with runtime PM and discussion on idle PM with ACPI
--------------------------------------------------
★ Resources ★
Pathable: https://hkg15.pathable.com/meetings/250767
Video: https://www.youtube.com/watch?v=eDDgYIkUHLI
Etherpad: http://pad.linaro.org/p/hkg15-107
---------------------------------------------------
★ Event Details ★
Linaro Connect Hong Kong 2015 - #HKG15
February 9-13th, 2015
Regal Airport Hotel Hong Kong Airport
---------------------------------------------------
http://www.linaro.org
http://connect.linaro.org
This slide provides a basic understanding of hypervisor support in ARM v8 and above processors. And these slides (intent to) give some guidelines to automotive engineers to compare and choose right solution!
LCU13: Deep Dive into ARM Trusted Firmware
Resource: LCU13
Name: Deep Dive into ARM Trusted Firmware
Date: 31-10-2013
Speaker: Dan Handley / Charles Garcia-Tobin
HKG15-505: Power Management interactions with OP-TEE and Trusted FirmwareLinaro
HKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
---------------------------------------------------
Speaker: Jorge Ramirez-Ortiz
Date: February 13, 2015
---------------------------------------------------
★ Session Summary ★
[Note: this is a joint Security/Power Management session) Understand what use cases related to Power Management have to interact with Trusted Firmware via Secure calls. Walk through some key use cases like CPU Suspend and explain how PM Linux drivers interacts with Trusted Firmware / PSCI
--------------------------------------------------
★ Resources ★
Pathable: https://hkg15.pathable.com/meetings/250855
Video: https://www.youtube.com/watch?v=hQ2ITjHZY4s
Etherpad: http://pad.linaro.org/p/hkg15-505
---------------------------------------------------
★ Event Details ★
Linaro Connect Hong Kong 2015 - #HKG15
February 9-13th, 2015
Regal Airport Hotel Hong Kong Airport
---------------------------------------------------
http://www.linaro.org
http://connect.linaro.org
SFO15-TR9: PSCI, ACPI (and UEFI to boot)
Speaker: Bill Fletcher
Date: September 24, 2015
★ Session Description ★
An introductory session of a system-level overview at Power State Coordination
- Focus on ARMv8
- Goes top-down from ACPI
- A demo based on the current code in qemu
- The specifications are very dynamic - what’s onging for ACPI and PSCI
★ Resources ★
Video: https://www.youtube.com/watch?v=vXzPdpaZVto
Presentation: http://www.slideshare.net/linaroorg/sfo15tr9-psci-acpi-and-uefi-to-boot
Etherpad: pad.linaro.org/p/sfo15-tr9
Pathable: https://sfo15.pathable.com/meetings/303087
★ Event Details ★
Linaro Connect San Francisco 2015 - #SFO15
September 21-25, 2015
Hyatt Regency Hotel
http://www.linaro.org
http://connect.linaro.org
Part 02 Linux Kernel Module ProgrammingTushar B Kute
Presentation on "Linux Kernel Module Programming".
Presented at Army Institute of Technology, Pune for FDP on "Basics of Linux Kernel Programming". by Tushar B Kute (http://tusharkute.com).
LAS16-402: ARM Trusted Firmware – from Enterprise to EmbeddedLinaro
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
Speakers:
Date: September 29, 2016
★ Session Description ★
ARM Trusted Firmware has established itself as a key part of the ARMv8-A software stack. Broadening its applicability across all segments, from embedded to enterprise, is challenging. This session discusses the latest developments, including extension into the 32-bit space.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-402
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-402/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
LCU14-107: OP-TEE on ARMv8
---------------------------------------------------
Speaker: Jens Wiklander
Date: September 15, 2014
---------------------------------------------------
★ Session Summary ★
SWG is porting OP-TEE to ARMv8 using Fixed Virtual Platform. Initially OP-TEE is running secure world in aarch32 mode, but with the normal world code running in aarch64 mode. Since ARMv8 uses ARM Trusted Firmware we have patched it with an OP-TEE dispatcher to be able to communicate between secure and normal world.
---------------------------------------------------
★ Resources ★
Zerista: http://lcu14.zerista.com/event/member/137710
Google Event: https://plus.google.com/u/0/events/c0ef114n77bhgbns9vb85g9n6ak
Presentation: http://www.slideshare.net/linaroorg/lcu14-107-optee-on-ar-mv8
Video: https://www.youtube.com/watch?v=JViplz-ah9M&list=UUIVqQKxCyQLJS6xvSmfndLA
Etherpad: http://pad.linaro.org/p/lcu14-107
---------------------------------------------------
★ Event Details ★
Linaro Connect USA - #LCU14
September 15-19th, 2014
Hyatt Regency San Francisco Airport
---------------------------------------------------
http://www.linaro.org
http://connect.linaro.org
The Linux Kernel Implementation of Pipes and FIFOsDivye Kapoor
A walkthrough of the code structure used in the linux kernel to implement pipes and FIFOs.
This was presented to a Senior level class at the Indian Institute of Technology, Roorkee.
The U-Boot is an "Universal Bootloader" ("Das U-Boot") is a monitor program that is under GPL. This production quality boot-loader is used as default boot loader by several board vendors. It is easily portable and easy to port and to debug by supporting PPC, ARM, MIPS, x86,m68k, NIOS, Microblaze architectures. Here is a presentation that introduces U-Boot.
Embitude's Linux SPI Drivers Training Slides. Contains the details of AM335X specific low level programming, SPI components such as SPI Master Driver, SPI Client Driver, Device Tree for SPI
LCU14 302- How to port OP-TEE to another platformLinaro
LCU14 302- How to port OP-TEE to another platform
---------------------------------------------------
Speaker: Joakim Bech, Jens Wiklander and Pascal Brand
Date: September 17, 2014
---------------------------------------------------
★ Session Summary ★
OP-TEE (Open Portable Trusted Execution Environment) is the source code for the TEE in Linux using the ARM Trustzone technology. This component meets the Global Platform TEE System Architecture specification. Most of the code is generic. However, a number of platform specific characteristics are addressed, such as memory layout or board specific hardware IP. In this session, you can learn the steps to follow to port OP-TEE for your armv7 platform, as the ones that have been defined when porting OP-TEE to A80 (SWG-77). OP-TEE to the Allwinner A80 platform
---------------------------------------------------
★ Resources ★
Zerista: http://lcu14.zerista.com/event/member/137748
Google Event: https://plus.google.com/u/0/events/cnd044lmnid6jcoj1a9svlhmkj0
Video: https://www.youtube.com/watch?v=QgaGJow7hws&list=UUIVqQKxCyQLJS6xvSmfndLA
Etherpad: http://pad.linaro.org/p/lcu14-302
---------------------------------------------------
★ Event Details ★
Linaro Connect USA - #LCU14
September 15-19th, 2014
Hyatt Regency San Francisco Airport
---------------------------------------------------
http://www.linaro.org
http://connect.linaro.org
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2022/08/open-standards-powering-the-future-of-embedded-vision-a-presentation-from-the-khronos-group/
Neil Trevett, President of the Khronos Group and Vice President of Developer Ecosystems at NVIDIA, presents the “Open Standards: Powering the Future of Embedded Vision” tutorial at the May 2022 Embedded Vision Summit.
Open standards play an important role in enabling interoperability for efficient deployment of vision-based systems. In this session, Trevett shares an update on the family of Khronos Group standards for programming and deploying accelerated inferencing and embedded vision, including OpenCL, Vulkan Safety Critical, OpenVX, SYCL and NNEF.
Trevett discusses the evolving roadmap for these standards and provides insights to help you understand which standards are relevant to your projects. In addition, he introduces the new Khronos Embedded Camera API initiative. Trevett outlines the technical direction of the Embedded Camera API working group to create an open standard to streamline the integration and control of sophisticated embedded camera systems, and highlights how attendees can participate in this important industry initiative.
For the full video of this presentation, please visit:
http://www.embedded-vision.com/platinum-members/embedded-vision-alliance/embedded-vision-training/videos/pages/dec-2015-member-meeting-khronos
For more information about embedded vision, please visit:
http://www.embedded-vision.com
Neil Trevett, President of Khronos and Vice President at NVIDIA, delivers the presentation, "Update on Khronos Open Standard APIs for Vision Processing," at the December 2015 Embedded Vision Alliance Member Meeting. Trevett provides an update on recent developments in multiple Khronos standards useful for vision applications.
Part 02 Linux Kernel Module ProgrammingTushar B Kute
Presentation on "Linux Kernel Module Programming".
Presented at Army Institute of Technology, Pune for FDP on "Basics of Linux Kernel Programming". by Tushar B Kute (http://tusharkute.com).
LAS16-402: ARM Trusted Firmware – from Enterprise to EmbeddedLinaro
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
Speakers:
Date: September 29, 2016
★ Session Description ★
ARM Trusted Firmware has established itself as a key part of the ARMv8-A software stack. Broadening its applicability across all segments, from embedded to enterprise, is challenging. This session discusses the latest developments, including extension into the 32-bit space.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-402
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-402/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
LCU14-107: OP-TEE on ARMv8
---------------------------------------------------
Speaker: Jens Wiklander
Date: September 15, 2014
---------------------------------------------------
★ Session Summary ★
SWG is porting OP-TEE to ARMv8 using Fixed Virtual Platform. Initially OP-TEE is running secure world in aarch32 mode, but with the normal world code running in aarch64 mode. Since ARMv8 uses ARM Trusted Firmware we have patched it with an OP-TEE dispatcher to be able to communicate between secure and normal world.
---------------------------------------------------
★ Resources ★
Zerista: http://lcu14.zerista.com/event/member/137710
Google Event: https://plus.google.com/u/0/events/c0ef114n77bhgbns9vb85g9n6ak
Presentation: http://www.slideshare.net/linaroorg/lcu14-107-optee-on-ar-mv8
Video: https://www.youtube.com/watch?v=JViplz-ah9M&list=UUIVqQKxCyQLJS6xvSmfndLA
Etherpad: http://pad.linaro.org/p/lcu14-107
---------------------------------------------------
★ Event Details ★
Linaro Connect USA - #LCU14
September 15-19th, 2014
Hyatt Regency San Francisco Airport
---------------------------------------------------
http://www.linaro.org
http://connect.linaro.org
The Linux Kernel Implementation of Pipes and FIFOsDivye Kapoor
A walkthrough of the code structure used in the linux kernel to implement pipes and FIFOs.
This was presented to a Senior level class at the Indian Institute of Technology, Roorkee.
The U-Boot is an "Universal Bootloader" ("Das U-Boot") is a monitor program that is under GPL. This production quality boot-loader is used as default boot loader by several board vendors. It is easily portable and easy to port and to debug by supporting PPC, ARM, MIPS, x86,m68k, NIOS, Microblaze architectures. Here is a presentation that introduces U-Boot.
Embitude's Linux SPI Drivers Training Slides. Contains the details of AM335X specific low level programming, SPI components such as SPI Master Driver, SPI Client Driver, Device Tree for SPI
LCU14 302- How to port OP-TEE to another platformLinaro
LCU14 302- How to port OP-TEE to another platform
---------------------------------------------------
Speaker: Joakim Bech, Jens Wiklander and Pascal Brand
Date: September 17, 2014
---------------------------------------------------
★ Session Summary ★
OP-TEE (Open Portable Trusted Execution Environment) is the source code for the TEE in Linux using the ARM Trustzone technology. This component meets the Global Platform TEE System Architecture specification. Most of the code is generic. However, a number of platform specific characteristics are addressed, such as memory layout or board specific hardware IP. In this session, you can learn the steps to follow to port OP-TEE for your armv7 platform, as the ones that have been defined when porting OP-TEE to A80 (SWG-77). OP-TEE to the Allwinner A80 platform
---------------------------------------------------
★ Resources ★
Zerista: http://lcu14.zerista.com/event/member/137748
Google Event: https://plus.google.com/u/0/events/cnd044lmnid6jcoj1a9svlhmkj0
Video: https://www.youtube.com/watch?v=QgaGJow7hws&list=UUIVqQKxCyQLJS6xvSmfndLA
Etherpad: http://pad.linaro.org/p/lcu14-302
---------------------------------------------------
★ Event Details ★
Linaro Connect USA - #LCU14
September 15-19th, 2014
Hyatt Regency San Francisco Airport
---------------------------------------------------
http://www.linaro.org
http://connect.linaro.org
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2022/08/open-standards-powering-the-future-of-embedded-vision-a-presentation-from-the-khronos-group/
Neil Trevett, President of the Khronos Group and Vice President of Developer Ecosystems at NVIDIA, presents the “Open Standards: Powering the Future of Embedded Vision” tutorial at the May 2022 Embedded Vision Summit.
Open standards play an important role in enabling interoperability for efficient deployment of vision-based systems. In this session, Trevett shares an update on the family of Khronos Group standards for programming and deploying accelerated inferencing and embedded vision, including OpenCL, Vulkan Safety Critical, OpenVX, SYCL and NNEF.
Trevett discusses the evolving roadmap for these standards and provides insights to help you understand which standards are relevant to your projects. In addition, he introduces the new Khronos Embedded Camera API initiative. Trevett outlines the technical direction of the Embedded Camera API working group to create an open standard to streamline the integration and control of sophisticated embedded camera systems, and highlights how attendees can participate in this important industry initiative.
For the full video of this presentation, please visit:
http://www.embedded-vision.com/platinum-members/embedded-vision-alliance/embedded-vision-training/videos/pages/dec-2015-member-meeting-khronos
For more information about embedded vision, please visit:
http://www.embedded-vision.com
Neil Trevett, President of Khronos and Vice President at NVIDIA, delivers the presentation, "Update on Khronos Open Standard APIs for Vision Processing," at the December 2015 Embedded Vision Alliance Member Meeting. Trevett provides an update on recent developments in multiple Khronos standards useful for vision applications.
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...The Linux Foundation
For many years, the Xen community has been delivering a solid virtualization platform for the enterprise. In support of the Xen community innovation effort, Oracle has been translating our enterprise experience with mission-critical workloads and large-scale infrastructure deployments into upstream contributions for the Linux and Xen efforts. In this session, you'll hear from a key Oracle expert, and community member, about Oracle contributions that focus on large-scale Xen deployments, networking, PV drivers, new PVH architecture, performance enhancements, dynamic memory usage with ‘tmem', and much more. This is your chance to get an under the hood view and see why the Xen architecture is the ideal choice for the enterprise.
For the full video of this presentation, please visit:
https://www.embedded-vision.com/platinum-members/embedded-vision-alliance/embedded-vision-training/videos/pages/may-2018-embedded-vision-summit-trevett
For more information about embedded vision, please visit:
http://www.embedded-vision.com
Neil Trevett, President of the Khronos Group and Vice President at NVIDIA, presents the "APIs for Accelerating Vision and Inferencing: Options and Trade-offs" tutorial at the May 2018 Embedded Vision Summit.
The landscape of SDKs, APIs and file formats for accelerating inferencing and vision applications continues to rapidly evolve. Low-level compute APIs, such as OpenCL, Vulkan and CUDA are being used to accelerate inferencing engines such as OpenVX, CoreML, NNAPI and TensorRT. Inferencing engines are being fed via neural network file formats such as NNEF and ONNX. Some of these APIs, like OpenCV, are vision-specific, while others, like OpenCL, are general-purpose. Some engines, like CoreML and TensorRT, are supplier-specific, while others, such as OpenVX, are open standards that any supplier can adopt. Which ones should you use for your project?
In this presentation, Trevett presents the current landscape of APIs, file formats and SDKs for inferencing and vision acceleration, explaining where each one fits in the development flow. Trevett also highlights where these APIs overlap and where they complement each other, and previews some of the latest developments in these APIs.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2021/08/khronos-group-standards-powering-the-future-of-embedded-vision-a-presentation-from-the-khronos-group/
Neil Trevett, Vice President of Developer Ecosystems at NVIDIA and President of the Khronos Group, presents the “Khronos Group Standards: Powering the Future of Embedded Vision” tutorial at the May 2021 Embedded Vision Summit.
Open standards play an important role in enabling interoperability for faster, easier deployment of vision-based systems. With advances in machine learning, the number of accelerators, processors, libraries and compilers in the market is rapidly increasing. Proprietary APIs and formats create a complex industry landscape that can hinder overall market growth.
The Khronos Group’s open standards for accelerating parallel programming play a major role in deploying inferencing and embedded vision applications and include SYCL, OpenVX, NNEF, Vulkan, SPIR, and OpenCL. Trevett provides an up-to-the-minute overview and update on the Khronos embedded vision ecosystem, highlighting the capabilities and benefits of each API, giving viewers insight into which standards may be relevant to their own embedded vision projects, and discussing the future directions of these key industry initiatives.
XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...The Linux Foundation
With the grown interest in virtualization from big players around the world there are more and more companies choose ARM SoCs as their target platform for running server environments. It is also known that majority of such SoCs come with broad coprocessors available on the die, e.g. GPU, DSP, security etc. But at the moment the only way to speed up guests with these is either using a para-virtualized approach or making that HW dedicated to a specific guest.
Shared coprocessor framework for Xen aims to allow all guest OSes to benefit from this companion HW with ease while running unmodified software and/or firmware on guest side. You don’t need to worry about setting up IO ranges, interrupts, scheduling etc.: it is all covered, making support of new shared HW way faster.
As an example of the shared coprocessor framework usage a virtualized GPU will be shown.
For the full video of this presentation, please visit:
http://www.embedded-vision.com/platinum-members/embedded-vision-alliance/embedded-vision-training/videos/pages/dec-2016-member-meeting-khronos
For more information about embedded vision, please visit:
http://www.embedded-vision.com
Peter McGuinness, representing the Khronos Group, delivers the presentation "New Standards for Embedded Vision and Neural Networks" at the December 2016 Embedded Vision Alliance Member Meeting. McGuinness discusses new standardization work for embedded neural network and vision software.
For the full video of this presentation, please visit:
https://www.embedded-vision.com/platinum-members/xilinx/embedded-vision-training/videos/pages/may-2017-embedded-vision-summit-ni
For more information about embedded vision, please visit:
http://www.embedded-vision.com
Nick Ni, Senior Product Manager for SDSoC and Embedded Vision at Xilinx, presents the "OpenCV on Zynq: Accelerating 4k60 Dense Optical Flow and Stereo Vision" tutorial at the May 2017 Embedded Vision Summit.
OpenCV libraries are widely used for algorithm prototyping by many leading technology companies and computer vision researchers. FPGAs can achieve unparalleled compute efficiency on complex algorithms like dense optical flow and stereo vision in only a few watts of power. However, unlocking these capabilities traditionally required hardware design expertise and use of languages like Verilog and VHDL. In this talk, Xilinx presents a new approach that enables designers to unleash the power of FPGAs using hardware-tuned OpenCV libraries, a familiar C/C++ development environment, and readily available hardware development platforms.
For the full video of this presentation, please visit:
https://www.embedded-vision.com/platinum-members/embedded-vision-alliance/embedded-vision-training/videos/pages/may-2017-embedded-vision-summit-trevett
For more information about embedded vision, please visit:
http://www.embedded-vision.com
Neil Trevett, President of the Khronos Group and Vice President at NVIDIA, presents the "Vision Acceleration API Landscape: Options and Trade-offs" tutorial at the May 2017 Embedded Vision Summit.
The landscape of APIs for accelerating vision and neural network software using specialized processors continues to rapidly evolve. Many industry-standard APIs, such as OpenCL and OpenVX, are being upgraded to increasingly focus on deep learning, and the industry is rapidly adopting the new generation of low-level, explicit GPU APIs, such as Vulkan, that tightly integrate graphics and compute. Some of these APIs, like OpenVX and OpenCV, are vision-specific, while others, like OpenCL and Vulkan, are general-purpose. Some, like CUDA and TensorRT, are vendor-specific, while others are open standards that any supplier can adopt. Which ones should you use for your project? Trevett's presentation sorts out the options and helps you make an optimum selection for your particular design situation.
For the full video of this presentation, please visit:
https://www.embedded-vision.com/platinum-members/cadence/embedded-vision-training/videos/pages/may-2019-embedded-vision-summit-brill
For more information about embedded vision, please visit:
http://www.embedded-vision.com
Frank Brill, Design Engineering Director at Cadence, presents the "Portable Performance via the OpenVX Computer Vision Library: Case Studies" tutorial at the May 2019 Embedded Vision Summit.
OpenVX is a state-of-the-art open API standard for accelerating applications using computer vision and machine learning. The API and its conformance tests enable applications to leverage highly specialized features of hardware platforms while still retaining portability of application code across a wide range of architectures. This talk uses concrete examples on real implementations to demonstrate the performance portability of OpenVX.
Example applications written using OpenVX are described that run on platforms developed by Cadence Design Systems, Texas Instruments, Advanced Micro Devices and Axis Communications. Benchmarks demonstrate performance gains that would otherwise only be achievable via hardware-specific code optimizations. The talk also provides an update on the new features of the latest version of the OpenVX API, including support for a cross-platform neural network inferencing engine standard using a combination of OpenVX and Khronos’ Neural Network Exchange Format (NNEF).
For the full video of this presentation, please visit:
http://www.embedded-vision.com/platinum-members/embedded-vision-alliance/embedded-vision-training/videos/pages/may-2016-embedded-vision-summit-khronos
For more information about embedded vision, please visit:
http://www.embedded-vision.com
Neil Trevett, President of the Khronos Group, presents the "Vision API Maze: Options and Trade-offs" tutorial at the May 2016 Embedded Vision Summit.
It’s been a busy year in the world of hardware acceleration APIs. Many industry-standard APIs, such as OpenCL and OpenVX, have been upgraded, and the industry has begun to adopt the new generation of low-level, explicit GPU APIs, such as Vulkan, that tightly integrate graphics and compute. Some of these APIs, like OpenVX and OpenCV, are vision-specific, while others, like OpenCL and Vulkan, are general-purpose. Some, like CUDA and Renderscript, are supplier-specific, while others are open standards that any supplier can adopt. Which ones should you use for your project?
In this presentation, Neil Trevett, President of the Khronos Group standards organization, updates the landscape of APIs for vision software development, explaining where each one fits in the development flow. Neil also highlights where these APIs overlap and where they complement each other, and previews some of the latest developments in these APIs.
Mr.Mohan Babu, HPC @AMD presented on the spack basics and HPC containers. He covered the basics of spack, its concepts and creation and the containers in HPC.
Static partitioning is used to split an embedded system into multiple domains, each of them having access only to a portion of the hardware on the SoC. It is key to enable mixed-criticality scenarios, where a critical application, often based on a small RTOS, runs alongside a larger non-critical app, typically based on Linux. The two domains cannot interfere with each other.
This talk will explain how to use Xen for static partitioning. It will introduce dom0-less, a new Xen feature written for the purpose. Dom0-less allows multiple VMs to start at boot time directly from the Xen hypervisor, decreasing boot times drastically. It makes it very easy to partition the system without virtualization overhead. Dom0 becomes unnecessary.
This presentation will go into details on how to setup a Xen dom0-less system. It will show configuration examples and explain device assignment. The talk will discuss its implications for latency-sensitive and safety-critical environments.
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...The Linux Foundation
TrenchBoot is a cross-community OSS integration project for hardware-rooted, late launch integrity of open and proprietary systems. It provides a general purpose, open-source DRTM kernel for measured system launch and attestation of device integrity to trust-centric access infrastructure. TrenchBoot closes the UEFI Measurement Gap and reduces the need to trust system firmware. This talk will introduce TrenchBoot architecture and a recent collaboration with Oracle to launch the Linux kernel directly with Intel TXT or AMD SVM Secure Launch. It will propose mechanisms for integrating the Xen hypervisor into a TrenchBoot system launch. DRTM-enabled capabilities for client, server and embedded platforms will be presented for consideration by the Xen community.
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...The Linux Foundation
Artem will briefly cover what has been done since the first talk on Xen in Automotive domain back in 2013, what is going on now and what is still missing for broad adaptation of Xen in vehicles. The following topics will be covered:
Embedded/automotive features of Xen
Collaboration with AGL and GENIVI organizations for standardization
Efforts on Functional Safety compliance
Artem will also go over typical automotive use scenarios for Xen which may not be the same as generic computing use of hypervisor.
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...The Linux Foundation
In this keynote talk, we will give an overview of the state of the Xen Project, trends that impact the project, see whether challenges that surfaced last year have been addressed and how we did it, and highlight new challenges and solutions for the coming year.
In recent years unikernels have shown immense performance potential (e.g., boot times of only a few ms, image sizes of only hundreds of KBs).The fundamental drawback of unikernels is that they require that applications be manually ported to the underlying minimalistic OS, needing both expert work and often considerable amount of time.
The Unikraft project provides a unikernel code base and build system that significantly simplifies the building of unikernels. In addition to support for a number CPU architectures, languages and frameworks, Unikraft provides debugging and tracing features that are generally sorely missing from unikernel projects. In this talk we will talk about these features, show a set of preliminary performance numbers, and provide a roadmap for the project's future.
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...The Linux Foundation
The idea of making Xen secret-free has been floating since Spectre and Meltdown came into light. In this talk we will discuss what is being done and what needs to be done next.
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxThe Linux Foundation
This talk will introduce Dom0-less: a new way of using Xen to build mixed-criticality solutions. Dom0-less is a Xen feature that adds a novel approach to static partitioning based on virtualization. It allows multiple domains to start at boot time directly from the Xen hypervisor, decreasing boot times dramatically. Xen userspace tools, such as xl and libvirt, become optional.
Dom0-less extends the existing device tree based Xen boot protocol to cover information required by additional domains. Binaries, such as kernels and ramdisks, are loaded by the bootloader (u-boot) and advertised to Xen via new device tree bindings.
The audience will learn how to use Dom0-less to partition the system. Uboot and device tree configuration details will be explained to enable the audience to get the most out of this feature. The talk will include a status update and details on future plans.
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...The Linux Foundation
As the number of contributions grow, reviewer bandwidth becomes a bottleneck; and maintainers are always asking for more help. However, ultimately maintainers must at least Ack every patch that goes in; so if you're not a maintainer, how can you contribute? Why should anyone care about your opinion?
This talk will try to lay out some advice and guidelines for non-maintainers, for how they can do code review in a way which will effectively reduce the load on maintainers when they do come to review a patch.
This talk is a follow-up to our Summit 2017 presentation in which we covered our plans for Intel VMFUNC and #VE, as well as related use-cases. This year, we will provide a report on what we have accomplished in Xen 4.12, and what remains to be addressed. We will also give a brief status update of VMI on AMD hardware. The session will end with some real-world numbers of the Hypervisor Introspection solution running on Citrix Hypervisor 8.0 with #VE enabled.
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...The Linux Foundation
Safety certification is one of the essential requirements for software to be used in highly regulated industries. Besides technical and compliance issues (such as ISO 26262 vs IEC 611508) transitioning an existing project to become more easily safety certifiable requires significant changes to development practices within an open source project.
In this session, we will lay out some challenges of making safety certification achievable in open source and the Xen Project. We will outline the process the Xen Project has followed thus far and highlight lessons learned along the way. The talk will primarily focus on necessary process, tooling changes and community challenges that can prevent progress. We will be offering an in-depth review of how Xen Project is approaching this challenging goal and try to derive lessons for other projects and contributors.
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...The Linux Foundation
Safety certification is one of the essential requirements for software to be used in highly regulated industries. The Xen Project, a secure and stable hypervisor that is used in many different markets, has been exploring the feasibility of building safety certified products on top of Xen for a year, looking at key aspects of its code base and development practices.
In this session, we will lay out the motivation and challenges of making safety certification achievable in open source and the Xen Project. We will outline the process the project has followed thus far and highlight lessons learned along the way. The talk will cover technical enablers, necessary process and tooling changes and community challenges offering an in-depth review of how Xen Project is approaching this exciting and and challenging goal.
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixThe Linux Foundation
2018 saw fundamental shifts in security boundaries which were previously taken for granted. A lot of work has been done in the past 2 years, and largely in secret under embargo, but there is plenty more work to be done to strengthen the existing mitigations and to try to recover some performance without reopening security holes.
This talk will look at speculative execution sidechannels, the work which has already been done to mitigate the security holes, and future work which hopes to bring some improvements.
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdThe Linux Foundation
The Arm architecture provides a set of guidelines that any software should abide by when accessing the memory with MMU off and update page-tables. Failing to do so may result in getting TLB conflicts or breaking coherency.
In a previous talk ("Keeping coherency on Arm"), we focused on updating safely the stage-2 (aka P2M) page-tables. This talk will focus on the boot code and Xen memory management.
During this session, we will introduce some of the guidelines and when they should be used. We will also discuss how Xen boot sequence needs to be reworked to avoid breaking the guidelines.
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...The Linux Foundation
For many years the QEMU codebase has contained PV backends for Xen guests, giving them paravirtual access to storage, network, keyboard, mouse, etc. however these backends have not been configurable as QEMU devices as their implementation did not fully adhere to the QEMU Object Model (QOM).
Particularly the PV storage backend not using proper QOM devices, or qdevs, meant that the QEMU block layer needed to maintain legacy code that was cluttering up the source. This was causing push-back from the maintainers who did not want to accept any patches relating to that Xen backend until it was 'qdevified'.
In this talk, I'll explain the modifications I made to QEMU to achieve 'qdevification' of the PV storage backend, how compatibility with the libxl toolstack was maintained, and what the next steps in both QEMU and libxl development should be.
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DThe Linux Foundation
PCI is a local computer bus for attaching hardware devices in a computer, and is the main peripheral bus on modern x86 systems. As such, having a proper way to emulate it is crucial for Xen to be able to expose both fully emulated devices or passthrough devices to guests.
This talk will focus on the current status of PCI emulation in Xen, how and where it is used, what are its main limitations and future plans to improve it in order to be more robust and modular.
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsThe Linux Foundation
Volodymyr will speak about TEE mediators. This is a new feature in Xen which allows multiple virtual machines to interact with Trusted Execution Environment available on platform. He developed mediator for one of TEEs, namely OP-TEE.
He will give background information on why TEE is needed at all and share some implementation details.
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...The Linux Foundation
Xen is a very powerful hypervisor with a talented and diverse developers community. Despite the fact it's almost everywhere (from the Cloud to the embedded world), it can be difficult to set up and manage as a system administrator. General purpose distros have Xen packages, but that's just a start in your Xen journey: you need some tooling and knowledge to have a working and scalable platform.
XCP-ng was built to overcome those issues: by bringing Xen to the masses with a fully turnkey distro with Xen as its core. It's the logical sequel to the XCP project, with a community focus from the start. We'll see how it happened, what we did, and what's next. Finally, we'll see the impact of XCP-ng on the Xen Project.
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...The Linux Foundation
Doug has long advocated for more CI/CD (Continuous Integration / Continuous Delivery) processes to be adopted by the Xen Project from the use of Travis CI and now GitLab CI. This talk aims to propose ideas for building upon the existing process and transforming the development process to provide users a higher quality with each release by the Xen Project.
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...The Linux Foundation
High level toolstacks for server and cloud virtualization are very mature with large communities using and supporting them. Client virtualization is a much more niche community with unique requirements when compared to those found in the server space. In this talk, we’ll introduce a client virtualization toolstack for Xen (redctl) that we are using in Redfield, a new open-source client virtualization distribution that builds upon the work done by the greater virtualization and Linux communities. We will present a case for maturing libxl’s Go bindings and discuss what advantages Go has to offer for high level toolstacks, including in the server space.
Today Xen is scheduling guest virtual cpus on all available physical cpus independently from each other. Recent security issues on modern processors (e.g. L1TF) require to turn off hyperthreading for best security in order to avoid leaking information from one hyperthread to the other. One way to avoid having to turn off hyperthreading is to only ever schedule virtual cpus of the same guest on one physical core at the same time. This is called core scheduling.
This presentation shows results from the effort to implement core scheduling in the Xen hypervisor. The basic modifications in Xen are presented and performance numbers with core scheduling active are shown.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
1. Approach for CPUFreq
in Xen on ARM
Oleksandr Tyshchenko, Lead Software Engineer
EPAM Systems Inc.
2. 2018
DEVELOPER AND
DESIGN SUMMITIntroduction
2
We are a team of developers at EPAM Systems Inc.,
based in Kyiv, Ukraine
We are focused on:
• Xen on ARM
• Renesas R-Car Gen3 platform support and maintenance in Xen
• Real-Time use-cases
• Automotive use-cases
• Para-virtual drivers and backends: sound, display, GPU
• SoC’s HW virtualization
• TEE integration
• Power management
• Android HALs
• FuSa ISO 61508/26262 certification
• We are members of GENIVI and AGL and pushing for Xen usage
there
• Yocto based build system for multi-domain distributions
We are upstreaming to Xen Project, Linux Kernel and many
OSS projects:
see us at https://github.com/xen-troops
DEVELOPER AND
DESIGN SUMMIT
3. 2018
Agenda
1 W H AT I S I T A B O U T ?
2
3
4
5
C U R R E N T S TAT U S
P O S S I B L E A P P R O A C H E S
C P U F r e q P O C
B E N C H M A R K I N G R E S U LT S
DEVELOPER AND
DESIGN SUMMIT
6 I M P R O V E M E N T ( G U E S T I N P U T )
4. 2018
DEVELOPER AND
DESIGN SUMMITWhat benefit is expected
from CPUFreq?
4
Xen becomes more popular in embedded world these days
and the demand for CPUFreq comes from this world.
There are two orthogonal key things the CPUFreq
can help with:
• Performance
Use of higher frequencies where required
− Get better performance on “heavy” use cases
− Speed up boot process
• Power savings
Use of lower frequencies where possible
− Save power on “light” use cases (improve the autonomy
of battery powered devices)
− Prevent possible CPU overheating which may reduce its life
DEVELOPER AND
DESIGN SUMMIT
5. 2018
DEVELOPER AND
DESIGN SUMMITWhy Xen needs to be involved?
5
CPUFreq feature works quite good in Linux these days (a lot of
ARCHs are supported, including ARM).
So why don’t just pass through CPUFreq related stuff
to Hardware domain and let things work as they work
in bare Linux?
CPU virtualization is done by Xen.
Abstract guest doesn’t know anything about pCPUs because
it runs on vCPUs. It is not aware of:
• How many pCPUs the entire system has
• What is the CPU topology
• What is the actual CPU load
• How vCPUs it owns correspond to pCPUs
Obviously we can’t create a working solution without
modifying Xen as only it is the single system component
which has required information.
DEVELOPER AND
DESIGN SUMMIT
6. 2018
DEVELOPER AND
DESIGN SUMMIT
There are two possible modes
1. Domain 0 based CPUFReq
2. Hypervisor based CPUFReq
The “Hypervisor based CPUFReq” is more interesting and
appropriate to be used on ARM based embedded platforms
because the “Domain 0 based CPUFReq” implies:
• Keeping the number of vCPUs in Domain 0 equal to
the number of pCPUs and doing a vCPU pinning
(which is not always welcome)
• Having CPUFreq infrastructure, including HW drivers, in
Domain 0 (may conflict with “Thin Domain 0”
or “non-Linux Domain 0” requirements)
Current status
Xen on x86 already has CPUFreq support out
of the box. But, ARM support is missing so far.
DEVELOPER AND
DESIGN SUMMIT
7. 2018
DEVELOPER AND
DESIGN SUMMIT
It has all required components
• Core
• Governor
• Scaling driver
It supports two scaling drivers for x86
• ACPI Processor P-States Driver
• AMD Architectural P-state
It requires Domain 0 to be involved,
but not to pass requests to HW, just to
• Parse ACPI table and upload information to Xen
• Control CPUFreq parameters in run-time, collect statistic
It is ACPI specific...
Hypervisor based CPUFreq DEVELOPER AND
DESIGN SUMMIT
Picture from https://wiki.xenproject.org/wiki/Xen_power_management
8. 2018
DEVELOPER AND
DESIGN SUMMIT
There was an attempt from Oleksandr Dmytryshyn
to create support for ARM.
Which included activity for making ACPI specific “Hypervisor
based CPUFreq” more generic.
He proposed split model, where frontend driver in Xen
interacts with the backend driver in Linux hardware domain
in order to scale pCPUs.
Linux patches (RFC V5)
https://lists.xen.org/archives/html/xen-devel/2014-11/msg00944.html
Xen patches (RCF V5)
https://lists.xen.org/archives/html/xen-devel/2014-11/msg00940.html
* The pros and cons of this approach will be considered
in “Possible approaches” section.
ARM support is missing so far DEVELOPER AND
DESIGN SUMMIT
9. 2018
DEVELOPER AND
DESIGN SUMMIT
The main problem is “frequency changing interface” in virtualized system.
CPUFreq core just makes a decision and issues platform dependent call which contains
the frequency for the CPU to run with.
Who should be in charge of physically setting new frequency?
• Xen
• Hardware domain
• Dedicated IP core (PM coprocessor)
The list of required components which are usually involved in Dynamic Voltage
and Frequency Scaling (DVFS) is quite big.
Also it may vary across different ARM platforms. For “Renesas R-Car Gen3” platforms they are:
• Generic clock, regulator, thermal frameworks
• Platform clock, PMIC, AVS, THS drivers
• I2C support, etc
• Definitely I missed something
The possible approaches we are about to consider differ exactly in frequency changing interface.
Possible approaches of CPUFreq on ARM
10. 2018
DEVELOPER AND
DESIGN SUMMIT
Hardware domain scales pCPUs
Oleksandr Dmytryshyn proposed split model, where “hwdom-cpufreq” frontend driver in Xen interacts
with the “xen-cpufreq” backend driver in Linux hardware domain in order to scale pCPUs.
But this solution hasn’t been accepted by Xen community yet. Status of this enabling work is freezed
(there haven’t been any activities on this topic since 2014).
“Xen + hwdom” solution
P R O S
• The beauty of this approach is that we don’t need to port
a lot of DVFS specific things to Xen. The CPUFreq scaling
driver in Xen which doesn’t pass requests to HW but asks
hwdom about that is going to be a generic solution which
can be easily reusable by many ARM platforms.
C O N S
• The way how the “xen-cpufreq” backend driver and glue
layer were implemented won’t be acceptable by the Linux
community. Redesign is definitely needed.
• Complex communication interface between Xen and
hwdom: event channel, hypercalls, syscalls, custom DT
bindings in order to provide pCPU info to hwdom, etc. Still
unanswered major questions from Xen community
regarding synchronization.
• Isn’t a completely safe solution. Letting guest manage
device PM is one thing, but letting it manage one or more
pCPU is a big risk. Guest operating with HW may crash,
even the hardware domain. Malicious domain may power
down the whole system!
11. 2018
DEVELOPER AND
DESIGN SUMMIT
Xen scales pCPUs
This implies that all DVFS specific things should be located in Xen. Obviously it is not supposed to be a copy of huge Linux frameworks,
in Xen it is supposed to be much simpler than in Linux, but it is quite clear that we will have to port all required support for the
CPUFreq scaling drivers in Xen to be able to actually realise certain OPPs.
* OPP - operation performance point is a tuple of frequency and minimum voltage.
P R O S
• Although non-generic, but safe and more architecturally
cleaner solution than “Xen+hwdom” one. Having all in Xen
we don’t depend neither on potentially malicious
domain’s behavior nor on buggy drivers running.
C O N S
• We are going to end up having a lot of code in Xen, since
we will have to keep as many CPUFreq scaling driver
implementations as many ARM platforms we will want to
support in Xen.
• Enormous developing effort is expected to get this
support in (the scope of required components looks huge)
and maintain it. What is more, it may be not even feasible
to implement this on some ARM platforms (separate CPU
clock, synchronization issues).
“All-in-Xen” solution
12. 2018
DEVELOPER AND
DESIGN SUMMIT
It is yet another approach based on generic and popular at the moment
ARM SСMI(SCPI) protocol.
What SCMI protocol is?
The System Control and Management Interface (SCMI) protocol follows
the recent trend in industry to provide embedded microcontrollers in
systems to abstract various power and other system management tasks.
The protocol is supposed to be used between this embedded
microcontroller, which is the System Control Processor(SCP) in terms of
protocol and the Application Processors(AP). The mailbox feature
provides a mechanism for inter-processor communication (IPC).
Typically SCP provides a lot of services and one of these services is a
performance management which is the ability to control the
performance of a domain which is composed of compute engines such as
AP and other accelerators. This does include DVFS for core/cluster, what
we actually need for CPUFreq.
The specification is officially published, the protocol itself and
SCMI based drivers are already upstreamed to Linux.
ARM SCMI protocol
http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/DEN0056A_S
ystem_Control_and_Management_Interface.pdf
ARM SCPI protocol
http://infocenter.arm.com/help/topic/com.arm.doc.dui0922g/scp_message
_interface_v1_2_DUI0922G_en.pdf
“Xen+SCP” solution (1/4) DEVELOPER AND
DESIGN SUMMIT
13. 2018
DEVELOPER AND
DESIGN SUMMIT
DEVELOPER AND
DESIGN SUMMIT
SCP scales pCPUs
The generic idea of this approach is that there is a firmware, which being
a server runs on “dedicated IP core”, provides an SCPI services. On the
other side there is a CPUFreq scaling driver in Xen, which being a client,
consumes these services (DVFS).
Xen driver neither changes frequency/voltage by itself nor cooperates with
Linux hwdom in order to do such job. It just signals OPP change request to
SCP directly using SCMI protocol. What Xen driver also needs is to query all
supported by platform’s OPPs when it starts.
Requirements
• Some integrated into a SoC mailbox IP is required for IPC
(simple doorbell for triggering action and shared memory
region for commands)
• This approach implies that corresponding firmware which
acts as SCP is already present
The possible issue here is in presence of that “dedicated IP core”
• It may be absent on target platform at all
• It may perform other than PM tasks
But is the lack of “dedicated IP core” a blocker?
“Xen+SCP” solution (2/4)
14. 2018
DEVELOPER AND
DESIGN SUMMIT
DEVELOPER AND
DESIGN SUMMIT
No, the lack of “dedicated IP core” isn’t a blocker.
Andre Przywara’s “SMC triggered mailbox” approach with his
PoC code for Allwinner demonstrates that.
The idea is to teach firmware which runs on the very same AP cores as
the Xen runs, but in the EL3 exception level to perform SCP functions
and use Secure Monitor Call (SMC) calls for communications. Such
solution is going to be a good compromise for all ARM platforms that do
have firmware running in the EL3 exception level (for example ARM TF)
and don’t have candidate for being SCP. Even a dedicated mailbox IP is
not needed for this purpose.
The “SMC triggered mailbox” driver emulates a mailbox which signals
transmitted data via SMC instruction. The mailbox receiver is
implemented in firmware and synchronously returns data when it
returns execution to the non-secure world again. This would allow us
both to trigger a request and transfer execution to the firmware code in
a safe and architected way (like PSCI requests).
SMC triggered mailbox
http://linux-sunxi.narkive.com/qYWJqjXU/patch-v2-0-3-mailbox-arm-
introduce-smc-triggered-mailbox
SMC/HVC
http://infocenter.arm.com/help/topic/com.arm.doc.den0028b/ARM_DEN0
028B_SMC_Calling_Convention.pdf
“Xen+SCP” solution (3/4)
15. 2018
DEVELOPER AND
DESIGN SUMMIT“Xen+SCP” solution (4/4)
P R O S
• It is a secure and architecturally clear solution. There is no
reason not to trust firmware in embedded microcontroller
or firmware running in trusted SW layer (like ARM TF).
• It is going to be a generic solution which can be easily
reused by many ARM platforms.
The platform-dependent component will be just the
mailbox driver for implementing the minimum
set of functions. So what we will have to add for support
new platform is a simple mailbox driver.
• Easy to implement Xen side comparing to the previous
approaches. Once the common part was implemented, it
would be easy to add support for a new platform, upon a
condition that it already has the proper firmware.
• No new ABI, hypercalls, syscalls, DT bindings, etc like in
“Xen+hwdom” approach. No complex communication
interface.
• Only this approach allows to have guest inputs regarding
the frequency change here in Xen with minimal
modifications in code.
C O N S
• The corresponding firmware which provides the SCPI
services must be present. It can be either a firmware
which runs on “dedicated IP core” or a firmware which
runs on the very same AP cores as the Xen runs, but in the
EL3 exception level (ARM TF).
• It may be needed to emulate all SCPI commands in Xen (to
be an SCP for guests). SCPI protocol in Linux may be used
for other than DVFS things, but also for device runtime
PM, clock management, so we can’t drop this ability just
because we want to run “CPUFreq enabled” Xen. This is
SCPI limitation only, which seems isn’t able to manage
parallel connections to SCP from different SW layers
correctly, unlike SCMI.
16. What we want is a generic, secure and architecturally clean solution.
I thought (and still think) that “Xen+SCP” solution is more appropriate for
this target across all considered solutions. And CPUFreq PoC implements
exactly this solution with some limitations though.
However, if you have yet another solution we can consider it as well.
Conclusion
17. 2018
CPUFreq PoC (1/14)
A R M S C P I
I built this PoC on top of SCPI protocol.
But, why not SCMI protocol?
• When I was doing a research the upstream
Linux support for SCMI was missed, but
SCPI support had been already
upstreamed, there were enough good
examples how to use it
• The range of capabilities the SCPI had was
enough for implementing this PoC
The situation has been changing since that
time and we will probably move to SCMI
for the final solution. Or Xen may support
both protocols, it is discussable…
“ S M C T R I G G E R E D
M A I L B O X ”
I borrowed the idea of “SMC triggered
mailbox” driver which emulates a mailbox
which signals transmitted data via SMC
instruction and firmware running in the
EL3 exception level (ARM TF).
The reason was in the lack of free
“dedicated IP core” for providing SCPI
services on the “Renesas R-Car Gen3”
platform I worked with. And the idea of
using ARM TF as an SCPI server and SMC
calls for communication looked
reasonable to me.
M O D I F I E D F I R M W A R E
( A R M T F )
In my case it was feasible to modify ARM
TF as official BSP release I used had both
firmware and software. In classic
embedded scenario where both firmware
and software are provided by the same
entity, it is going to be feasible as well.
Using Andre Przywara’s PoC for Allwinner
as an example I managed to prepare
something working for R-Car Gen3.
1 2 3
Main points
18. 2018
DEVELOPER AND
DESIGN SUMMIT
The CPUFreq feature works out of the box if we
run bare Linux from vendor’s BSP.
The BSP release for Renesas R-Car Gen3 platform comes
with CPUFreq support enabled in Linux, it uses “dt-
cpufreq” driver. The OPPs, clocks and cpu-supply
properties are described in the platform DT file and this
driver extracts this information.
Example of original pCPU node
CPUFreq PoC (2/14) DEVELOPER AND
DESIGN SUMMIT
a57_0: cpu@0 {
compatible = "arm,cortex-a57", "arm,armv8";
reg = <0x0>;
device_type = "cpu";
power-domains = <&sysc R8A7795_PD_CA57_CPU0>;
next-level-cache = <&L2_CA57>;
enable-method = "psci";
cpu-idle-states = <&CPU_SLEEP_0>;
#cooling-cells = <2>;
dynamic-power-coefficient = <854>;
cooling-min-level = <0>;
cooling-max-level = <2>;
clocks =<&cpg CPG_CORE R8A7795_CLK_Z>;
operating-points-v2 = <&cluster0_opp_tb0>,
<&cluster0_opp_tb1>, <&cluster0_opp_tb2>,
<&cluster0_opp_tb3>, <&cluster0_opp_tb4>,
<&cluster0_opp_tb5>, <&cluster0_opp_tb6>,
<&cluster0_opp_tb7>;
cpu-supply = <&vdd_dvfs>;
};
19. 2018
DEVELOPER AND
DESIGN SUMMITCPUFreq PoC (3/14) DEVELOPER AND
DESIGN SUMMIT
But, If we run that Linux as Domain 0
(Hardware domain) on top of Xen we get
CPUFreq feature broken.
When creating DT for the domain Xen inserts only dummy
CPU nodes. And the number of these inserted CPU nodes
is equal to the number of vCPUs assigned to this domain.
All CPU properties which original DT has, such as OPP,
clock, regulator, etc are not passed to the guest’s DT.
Example of guest vCPU node
cpu@0 {
device_type = "cpu";
compatible = "arm,armv8";
enable-method = "psci";
reg = <0x0>;
};
21. 2018
DEVELOPER AND
DESIGN SUMMITCPUFreq PoC (5/14) DEVELOPER AND
DESIGN SUMMIT
Changes in Linux guest
• Disable CPUFreq feature in Linux defconfig
• Remove from DT, platform files all “involved in CPU
scaling” components such as clocks, DVFS I2C bus, etc.
Leaving such components available to guest
could negatively affect CPU scaling from other
SW layers (Xen, ARM TF). Linux guest may
decide it is unused, thus can be disabled...
22. 2018
DEVELOPER AND
DESIGN SUMMITCPUFreq PoC (6/14) DEVELOPER AND
DESIGN SUMMIT
Changes in ARM TF
• Modify firmware to be able to act as SCPI server and
provide DVFS services (just an emulator for that
moment to be able to develop Xen side).
Normally we write drivers for the existing
firmware, not vise versa...
23. 2018
DEVELOPER AND
DESIGN SUMMITCPUFreq PoC (7/14) DEVELOPER AND
DESIGN SUMMIT
Changes in DT
• Add SCPI node with all required properties such as
shmem, mboxes, and so on
• Enable hypervisor based CPUFreq and set an initial
governor from DT command line
Changes in Xen
• Rebase Oleksandr Dmytryshyn’s patch series which
makes ACPI specific CPUFreq stuff more generic
• Port bunch of DT helpers and macros from Linux
• Create a few misc patches for ARM subsystem
(some preparations for SCPI based CPUFreq).
There is a special binding which is intended to define
the interface the firmware implementing SCPI.
The DT parsing code in Xen needs to be compatible with
the existing DTs describing the SCPI implementation.
24. 2018
DEVELOPER AND
DESIGN SUMMITCPUFreq PoC (8/14) DEVELOPER AND
DESIGN SUMMIT
Changes in Xen
• Port the whole SCPI protocol from Linux
• Port mailbox framework from Linux (as protocol relies
on mailbox feature to exist)
• Add modifications to the directly ported code
(Xen is not allowed to sleep, so there will be no
mutexes, completions, etc)
There is definitely a way for optimization...
25. 2018
DEVELOPER AND
DESIGN SUMMITCPUFreq PoC (9/14) DEVELOPER AND
DESIGN SUMMIT
Changes in Xen
• Port “SMC triggered mailbox” driver
and modify it a bit.
“SMC triggered mailbox” is a completely
“synchronous” mailbox because of SMC nature.
But, “asynchronous” mailboxes can be used as well. The
one limitation is that mailbox HW must have RX-done
interrupt. The possible candidates are
• ARM MHU
• Rockchip mailbox
• Whatever
26. 2018
DEVELOPER AND
DESIGN SUMMITCPUFreq PoC (10/14) DEVELOPER AND
DESIGN SUMMIT
Changes in Xen
• Develop CPUFreq interface component
Interface component performs following steps
• Initialize everything needed for CPUFreq scaling
driver to be functional inside Xen (SCPI protocol,
mailbox, etc)
• Register future CPUFreq scaling driver
• Populate CPUs
• Get DVFS info which is the OPP list and the latency
information for all online DVFS capable CPUs using
SCPI protocol
• Convert these capabilities into performance states,
rearrange it, as performance states must start from
higher values
• Upload the resulting PM data to CPUFreq framework
Hardware domain doesn’t need to be involved
(ACPI parser case on x86), since we already have
everything in hand here in Xen.
27. 2018
DEVELOPER AND
DESIGN SUMMITCPUFreq PoC (11/14) DEVELOPER AND
DESIGN SUMMIT
Changes in Xen
• Develop CPUFreq scaling driver which
acts as SCPI client
Driver main responsibility is to signal OPP
change request directly to SCP.
Driver uses only three SCPI ops (three commands are
sent to SCP)
• dvfs_get_info
• dvfs_set_idx
• dvfs_get_idx
Also driver needs to maintain cpufreq_table and care
about matching the CPU frequency to OPP index and vise
versa.
Driver as well as interface components were
developed in a platform agnostic way.
28. 2018
DEVELOPER AND
DESIGN SUMMITCPUFreq PoC (12/14) DEVELOPER AND
DESIGN SUMMIT
Changes in ARM TF (final)
• Add ability to physically set CPU OPP
That’s all.
29. 2018
DEVELOPER AND
DESIGN SUMMITCPUFreq PoC (13/14) DEVELOPER AND
DESIGN SUMMIT
The proposed solution “Xen + SCP” (SCPI based
CPUFreq) is not limited by only using ARM TF
providing SCPI services.
If the ARM platform you are working with has a
“dedicated IP core” already providing SCPI services then
even better, the only one thing you need to do is an
appropriate mailbox driver for the real mailbox HW to be
able to communicate with SCP on your platform. And this
mailbox driver is the only one platform dependent
component.
So, focus on your mailbox driver only.
Important note
Xen toolstack wasn’t modified. In order to minimize
changes in common code and retain current ABI
the SCPI based CPUFreq was made in a way to be
absolutely OK with ACPI specific P-states.
So, “xenpm” tool works out of the box on ARM.
30. 2018
DEVELOPER AND
DESIGN SUMMITCPUFreq PoC (14/14) DEVELOPER AND
DESIGN SUMMIT
Status
This PoC works, it is stable enough, there is no crashes, freezes and other weird things. It is possible to control CPUFreq parameters via “xenpm”
tool, this feature isn’t broken. I sent RFC patch series which initially implements “Xen+SCP” solution to the Xen ML in autumn 2017.
Patch series consists of about 30 patches. Patch series looks quite huge at the first glance, it pulls a lot of verbatim code from Linux, but I believe
that the number of lines of code it adds can be significantly reduced.
Example of Xen boot log
(XEN) scpi
(XEN) scpi
(XEN) cpu0
(XEN) cpu0
(XEN) cpu0
(XEN) cpu0
(XEN) cpu0
(XEN) cpu1
(XEN) cpu2
(XEN) cpu3
(XEN) cpu0
(XEN) cpu4
(XEN) cpu4
(XEN) cpu5
(XEN) cpu5
(XEN) cpu6
(XEN) cpu6
(XEN) cpu7
(XEN) cpu7
(XEN) initialized SCPI based CPUFreq
Example of xenpm output
root@generic-armv8-xt-dom0:~# xenpm get-cpufreq-para 0
cpu id
affected_cpus
cpuinfo frequency
scaling_driver
scaling_avail_gov
current_governor
ondemand specific
sampling_rate
up_threshold
scaling_avail_freq
scaling frequency
turbo mode
: 0
: 0 1 2 3
: max [1700000] min [500000] cur [500000]
: scpi-cpufreq
: userspace performance powersave ondemand
: ondemand
:
: max [150000000] min [150000] cur [300000]
: 80
: 1700000 1600000 1500000 1000000 *500000
: max [1700000] min [500000] cur [500000]
: enabled
: /mailbox@0: ARM SMC mailbox enabled with 2 chans.
: /scpi: SCP Protocol 1.2 Firmware 1.0.0 version
: is DVFS capable, belongs to pd0
: Turbo freq detected: 1700000
: Turbo Mode detected and enabled
: Turbo freq detected: 1600000
: set Px states
: set Px states
: set Px states
: set Px states
: uploaded cpufreq data
: failed to get clock node
: isn't DVFS capable, skip it
: failed to get clock node
: isn't DVFS capable, skip it
: failed to get clock node
: isn't DVFS capable, skip it
: failed to get clock node
: isn't DVFS capable, skip it
31. 2018
DEVELOPER AND
DESIGN SUMMIT
DEVELOPER AND
DESIGN SUMMIT
Renesas Salvator-X board with R-Car Gen3 H3 ES2.0 SoC
• Four Cortex-A57 cores (DVFS capable)
• Four Cortex-A53 cores
• Cortex R7 core
• IMG PowerVR Series6XT GPU
• 4 GB RAM
“Demo system” powered by Xen hypervisor was shown
at CES 2018
• Xen hypervisor + CPUFreq patches
• Thin domain 0 (generic ARMV8 Linux)
• Cluster domain D (AGL + R-Car BSP)
• Cloud services domain F (generic ARMV8 Linux)
• IVI domain A (R-Car Android Auto)
Important note
The different frequencies for each CPU core are not allowed.
Only one frequency for all CPU cores inside a cluster.
Benchmarking results
Setup used for benchmarking
33. 2018
DEVELOPER AND
DESIGN SUMMIT
Power consumption measurement (A57’s cluster only)
1. With DVFS
CPUFReq settings: Ondemand governor,
Turbo mode enabled, CPU OPPs:
• 500 MHz (low)
• 1000 MHz (low)
• 1500 MHz (nom)
• 1600 MHz (high)
• 1700 MHz (high)
2. Without DVFS
CPUFreq settings: Userspace governor, single CPU OPP –
1500 MHz (nom). Which is equivalent to what we
actually have on bare system.
Use cases (most are typical for Android)
• Android home screen with static picture on display
• Audio playback in Android using built-in Media player
• Audio playback in Linux using AGL player
• Provided by Kitchen Sink demo app “3D Cubes test”
• Video playback using Youtube (SW decoding)
• Navigation using Google Maps
What to measure? DEVELOPER AND
DESIGN SUMMIT
34. 2018
How to measure?
M E A S U R E M E N T T O O L
Fluke 87 Multimeter
(with AVG option)
M E A S U R E M E N T S T E P S
• Measure Voltage between 2 heads
of shunt resistor
• Calculate Current
• Measure Voltage between first head
of shunt resistor and ground
• Calculate Power
M E A S U R E M E N T S C H E M E
DEVELOPER AND
DESIGN SUMMIT
35. 2018
DEVELOPER AND
DESIGN SUMMIT
U S E C A S E ( P D V F S / P N O M - 1 ) * 1 0 0 % R E M A R K S
Home screen
(background tasks)
- 10,8 Low OPPs
Audio playback
(built-in Media player)
- 12,2 ---//---
Audio playback
(AGL player)
- 13,6 ---//---
3D Cubes test
(Kitchen sink)
- 11,9 ---//---
SW Video playback (youtube) - 9,8 ---//---
Navigation
(google maps)
+ 27,3 High (turbo) OPPs
Power consumption (A57’s cluster)
Interesting fact: Audio playback consumes minimal CPU resources
36. 2018
DEVELOPER AND
DESIGN SUMMIT
Usage OPP turbo (1.7 GHz) during booting reduces average boot time by 8%
comparing to OPP nom (1.5 GHz).
Expect more profit on M3 SoC which has higher OPP turbo (1.8 GHz).
Boot time
Low boot time is quite important in many areas...
37. 2018
DEVELOPER AND
DESIGN SUMMIT
It was proposed by ARM guys in Xen ML.
It is supposed to affect the whole CPUFreq subsystem in Xen.
Currently the decision about frequency change is made by
Xen exclusively.
Xen scheduling vCPUs doesn’t know much about guest
internals
• All Xen sees are: trap on MMIO, hypercall, WFI
• Linux guest can track the actual utilization of a vCPU, by
keeping statistics of runnable processes and monitoring
their time slice usage. But Xen doesn’t see this
information
Therefore Xen needs additional input from guests to make a
decision on the proper frequency pCPU should run with.
The idea is that guests could provide some input by signalling
OPP change request up to the Xen. And Xen could then
decide to act on it or not.
Improvement (guest input) DEVELOPER AND
DESIGN SUMMIT
38. 2018
DEVELOPER AND
DESIGN SUMMIT
1. Tell Xen about PM strategies to use for certain guests
(via tools in Domain 0)
Different guests should be treated differently
• For RT guests - constant frequency
• For entertainment - varying frequency, based on guest input
May involve CPU pinning for certain class of guests.
2. Allow some guests (according to policy) to signal OPP
change requests to Xen
Xen takes those into account, though it may decide to not
act immediately on it.
3. Have some way of actually realising certain OPPs
Via an SCPI/SCMI client in Xen or in another way.
Combined approach of CPUFreq
in Xen
DEVELOPER AND
DESIGN SUMMIT
39. 2018
DEVELOPER AND
DESIGN SUMMITTwo possible options with guest input
The first option has clear and straight logic. And it’s implementation would be simpler.
XEN DOESN’T HAVE CPUFREQ LOGIC AT ALL
• It doesn’t measure pCPU utilization
• It collects OPP change requests from all allowed guests
• It makes a decision based on these requests and some
policies
− Tell Xen (via tools in Domain 0) about static vCPU
frequency settings which guest OPP change requests
may or may not override
• It sends final OPP change request to SCP
XEN HAS CPUFREQ LOGIC
• It measures pCPU utilization
• In addition it can collect OPP change requests from all
allowed guests
• It makes a decision based on both: its own point of view
and received guest requests
− Is new governor needed for handling this?
We may reuse the idea of x86’s APERF/MPERF: guest
OPP change requests may be considered
as SW performance counters
• It sends final OPP change request to SCP
1 2
40. 2018
DEVELOPER AND
DESIGN SUMMIT
Andre Przywara’s “SMC triggered mailbox” solution
Use SMC mailbox for providing virtual SCPI services to
guest in a generic, non-SoC specific way.
(SMC mailbox binging allows using “HVC” calls to trigger
services, so Xen could pick guest DVFS requests up and
acts upon them).
How it is supposed to work
• Xen creates virtual SCPI DT nodes for guest, and use
SMC mailbox with method “HVC”
• Xen “HVC” handler then redirects guest DVFS
requests to CPUFreq code
Goals
• No extra PV protocol
• Platform agnostic for guests, while making
all guest request ending up in Xen
• Simple and clear flow
How will guest signal OPP change
request to Xen?
DEVELOPER AND
DESIGN SUMMIT
41. 2018
DEVELOPER AND
DESIGN SUMMIT
My email:
Oleksandr_Tyshchenko@epam.com
My patch series for Xen:
https://github.com/otyshchenko1/xen.git
branch: cpufreq-devel-next
My patch series for ARM TF:
https://github.com/otyshchenko1/arm-trusted-firmware-1.git
branch: scp-devel-next
Useful links DEVELOPER AND
DESIGN SUMMIT