Archive

Posts Tagged ‘power’

Intel Skylake-U Processors Run as Low as 7.5W TDP. A Closer Look at Configurable TDP

August 12th, 2015 2 comments

I try to mostly cover low power systems on this blog, so when it comes to x86 processors I have a cut off TDP of 10 Watts. The next generation of Intel Skylake processors have a TDP of 15 Watts, but when I read Skylake-U lineup post on FanlessTech, I discovered Intel processors also have a configurable TDP option, and in the case of Skylake-U processor their configurable TDP (cTDP) can be as low as 7.5W or 10W depending on models.

Skylake-U Processor Line (Click to Enlarge)

Skylake-U Processor Line (Click to Enlarge)

U-Processor family has Pentium and Celeron processors, but also Core i3, Core i5 and even Core i7 processors such as i7-6600U and i7-6500U clocked up to 3.4 GHz and all with a 15W TDP, but you’ll also notice a column called “cTDP Down” showing 7.5W and 10W values, which shows the great progress made by Intel with regards to low power design.

So I decided to look into configurable TDP in a little more details. First, it’s not really new, as it was first found in Ivy Bridge processors and covered by Anandtech in late 2011. However, that does not mean there’s a wealth of information about cTDP on the Internet, probably very few people intend to slow down their system on purpose to save a few watts. For an overview, Wikipedia is good though:

Configurable TDP (cTDP), also known as programmable TDP or TDP power cap, is an operating mode of later generations of Intel mobile processors (as of January 2014) and AMD processors (as of June 2012) that allows adjustments in their TDP values. By modifying the processor behavior and its performance levels, power consumption of a processor can be changed altering its TDP at the same time. That way, a processor can operate at higher or lower performance levels, depending on the available cooling capacities and desired power consumption.

Intel processors that support cTDP provide three operating modes:

  • Nominal TDP – this is the processor’s rated frequency and TDP.
  • cTDP down – when a cooler or quieter mode of operation is desired, this mode specifies a lower TDP and lower guaranteed frequency versus the nominal mode.
  • cTDP up – when extra cooling is available, this mode specifies a higher TDP and higher guaranteed frequency versus the nominal mode.

For example, some of the mobile Haswell processors support cTDP up, cTDP down, or both modes. As another example, some of the AMD Opteron processors and Kaveri APUs can be configured for lower TDP values. IBM’s POWER8 processor implements a similar power capping functionality through its embedded on-chip controller (OCC).

It’s a bit harder to find documentation on how to enable and configure it on your system though. A post on superuser.com mentions Intel Dynamic Platform & Thermal Framework Driver meaning different TDP levels are configurable from the operating system, Windows in that case.

Configurable_TDP_in_WindowsA “High TDP” value will actually run the system over its nominal TDP, which should be possible with appropriate cooling, while “Nominal TDP” will operate the processor at its specified TDP, and “Low TDP”  refers to cTDP down as shown in the Skylake-U processor table at the top of this post. The “Acoustic Limit” in this driver is also interesting as it controls the maximum fan speed, which may be useful for HTPCs.

I also searched for “configurable TDP in Linux” but I did not find anything specific, and instead came across a Phoronix article where they test cTDP on AMD A10-7800 running Linux, and set the max TDP in the UEFI BIOS utility instead of the OS.

Configure_TDP_BIOS_UEFI

The benchmark results show lower average power consumption for all tests, and in most cases lower performance too as expected, but the performance per watt is often better when using the nominal TDP rather than a lower TDP, because despite a lower average power consumption, a given task such as building the kernel takes longer, leading to higher overall power consumption.

Update: Intel Dynamic Platform & Thermal Framework Driver is also available for Chromium OS, with source code, and if you check the README.txt, it can also be tried in Linux (Ubuntu instructions provided).

Have you ever used configurable TDP on any of your systems? Please share your experience.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

ee203 Real-time Current Monitor Supports 1 μA to 1A Range, Outputs Data to Oscilloscope

August 11th, 2015 8 comments

Measuring current can be tricky, as I found out during my various attempts at measuring power consumption of TV boxes, as when the current gets too high, your measurement setup impedance may be too high (cables or multimeter), and the voltage delivered to the device under test too low for it too keep running, while accuracy may be an issue while measuring very low currents. EE Equipment ee203 Current Monitor solves some of these issues for people working on low power embedded systems as it can measure currents between 1 μA and 1A, and even output data to an oscilloscope to see real-time power consumption of the devices.
ee203_Current_MonitorKey features for ee203 current monitor:

  • ee203_oscilloscope_current_trace6 Decades of Current Range: 1 μA – 1 A (2A fuse)
  • No Range-Switching Interruptions or Delays
  • Wide System Voltage Range 1.5V – 5.5V (12V Max)
  • USB interface for calibration, control, and data logging
  • View Current Graphically in Real-Time on any Oscilloscope
  • SCOPE Output Voltage: 0 to 6V
  • Measurement Error – Min: +/- 1μA (DUT current); Max: +/- 60mV (Oscilloscope Output Voltage)
  • Bandwidth – 1000 Hz min.

The tricky part the device solves is switching between different current ranges without interruption, which means you can monitor current spikes on an oscilloscope and via a CSV fie that you can retrieve via USB. ee203 is the second version of the tools, as ee201 was launched previously, and adds a USB port, self-calibration support and more.

The chart on the right shows an MCU platform’s current profile as it jumps from 0.8 μA in STOP mode to over 11 mA in active mode, current fluctuates depending on the processor state.

ee203 use is rather simple, as you need to connect the red terminals with the existing power supply to your device/board, connect the black terminal to the ground, and the yellow terminal to an oscilloscope. You can also connect the USB port to a computer to power the unit and enable additional functionality (no details provided).

A small test board is available with a range of current sink options from 10 uA to 100 mA, and an MCU capable of running in different power modes.

ee203 monitor sells for $195.95, while the demo board goes for $9.95. Further details and purchase links can be found on EE Equipment ee203 product page.

Via Embedded.com

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Categories: Hardware Tags: electronics, power, tools

USBminiPower USB Power Supply Delivers 3 Outputs: 5V, 3.3V, and a Variable Output up to 14.3V (Crowdfunding)

April 29th, 2015 11 comments

Yesterday, I found out about a cheap 5V/3.3V USB power supply board, YwRobot MB-102, selling for $1 shipped on Ebay, but one person lamented the lack of 1.8V output, which may be required for example for modules like AsiaRF AWM002 that takes both 3.3V and 1.8V. One way is make your own power board, and get an expensive lab power supply, but I got a solution in my inbox this morning, with USBminiPower, as tiny USB power supply board with three output: 5V, 3.3V and a variable pin between 1V and 14.3V, as well as a 4 digit LED display showing the voltage and intensity just like Charger Doctor.

USBminiPowerUSBminiPower specifications:

  • MCU – Microchip PIC16 MCU (several are supported)
  • Voltage outputs – 5V (from USB port), controllable 3.3V, and controllable & adjustable 1V … 14.3V
  • Display – 4 Digit red LED to display intensity and voltage
  • Max Power – 2.45 Watts
  • Headers – ICSP header for uploading firmware, 3-pin for future expansion
  • Misc – Rocker switch to increase or decrease voltage for the adjustable pin. Button to enable/disable output.
  • Dimensions – 31x26mm

You just need to connect it to one of the USB port of your computer to use it. The variable pin voltage is controlled via the rocker switch. If the project is successfully funded the firmware source and hardware design files will be released. To modify the firmware yourself, you’ll need Pickit3 or ICD3 in-circuit debugger, and MPLabX installed on your computer.

USBminiPower_5VThe developer listed the project on Kickstarter where he aims to raise £5,000 or more. Rewards start at £6 (~$9) for a bare PCB, and up to £25 ($38) for a fully assembled board. Shipping is £1 to £5 extra depending on the reward and destination country, with delivery scheduled for June 2015 (Bare PCB) or August 2015 (Fully assembled PCB).

Thanks to Atanas for the tip.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Intel Atom Z3735F mini PC Power Consumption in Android

April 28th, 2015 6 comments

I’ve already measured power consumption running Antutu and playing a 4K video on Rockchip RK3288 and Amlogic S812 platform, as described in “Power Consumption of Amlogic S812 and Rockchip RK3288 TV Boxes“, and now that I have an Intel Bay Trail-T mini PC running Android 4.4 with Wintel W8, I was interested in comparing its power consumption to the ARM platform.

[Update: I forgot to mention measurements have all been done @ ~5V.]

Wintel W8 Power Consumption Profile (Click to Enlarge) Vertical Axis: Amps; Horizontal Axis: Sample number (every 0.5 second)

Wintel W8 Power Consumption Profile (Click to Enlarge)
Vertical Axis: Amperes; Horizontal Axis: Sample number (every 0.5 second)

The test normally consists in several steps:

  1. Boot the device
  2. Run the latest Antutu benchmark
  3. Connect a USB hard drive
  4. Play a 4K video in Kodi from the hard drive
  5. Diconnect the hard drive
  6. Power off the device

But since the current draw was a little to high at times, I got a few issues with my setup. First, I had to boot twice hence the “Power On 1” and “Power On 2” strings on the chart, then Antutu 3D graphics benchmark did not fully complete, but we still got enough data to evaluate power consumption, and for some reasons the video would not play from the USB hard drive, so I played the video from SAMBA instead. We can see that the peak amperage is about 2A (~10 Watts), and power off current is less than 0.1A. But let’s include the chart for the ARM platform for comparison sake.

Eny M8S Power Consumption Chart (Click to Enlarge)

Eny M8S (Amlogic S802) Power Consumption Chart (Click to Enlarge)
Vertical Axis: Amperes; Horizontal Axis: Sample number (every 0.5 second)

Open Hour Chameleon Power Consumption Chart (Click to Enlarge)

Open Hour Chameleon (RK3288) Power Consumption Chart (Click to Enlarge)
Vertical Axis: Amperes; Horizontal Axis: Sample number (every 0.5 second)

While Amlogic S812 averages around 800 mA, and Rockchip RK3288 is closer to 900 mA on aggregate, the Intel platform draws a bit more current at 1.05A on average. It’s only during 3D graphics tests than ARM and Intel platform are evenly matched. Idle power is also better for ARM Amlogic S812 idling at 400 mA, RK3288 at 500 mA, and Atom Z3735F at 600 mA. However, Wintel W8 design appears to be better than Open Hour Chameleon and Eny M8S when it comes to standby / power off power consumption, and for some reasons RK3288 consumes a lot of power during multi-threaded floating-point operations.

Intel Atom Z3735F vs Amlogic S812 vs Rockchip RK3288 (clikc to Enlarge)

Intel Atom Z3735F vs Amlogic S812 vs Rockchip RK3288 (Click to Enlarge)

The tests for the three platform have not completed in the same amount of time, but I’ve still superposed all three charts into one, and we can clearly see the multi-core floating-point anomaly for RK3288, and that the Intel platform appears to consume more power than others once the hard drive is connected.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

PiJuice Battery HAT Module for the Raspberry Pi Boards Comes with an Optional Solar Panel (Crowdfunding)

March 27th, 2015 3 comments

The Raspberry Pi is a low power board that can be powered a few hours or a few days with batteries, and the easiest solution is probably to use a USB power bank connected to the micro USB port of the board, but the solution is not really integrated. That’s where PiJuice comes into play. It’s a HAT compatible module that connects nicely to the latest Raspberry Pi boards with 40-pin header (A+, B+ and B2), and include a 1,400 mAh battery that can be used as UPS (Uninterrupted Power Supply), an RTC, and more.

PiJuiceKey features of PiJuice HAT:

  • 1400 mAh  Lipo battery, good enough to last up to 24 hrs in constant use. 5,000 mAh batteries are also said to be supported.
  • Full UPS (Uninterrupted Power Supply) solution
  • Integrated RTC (Real Time Clock)
  • On board intelligent on/off switch
  • Low power deep-sleep state with wake on interrupt/calendar event
  • On board intelligent micro-controller (MCU) with custom firmware
  • Programmable multi-colored RGB LED
  • Raspberry Pi HAT compatible layout, with on board EEPROM for plug-and-plug support
  • Low profile design to fit inside most R-Pi enclosures
  • Optional 6W solar panel

A power management API available in order to let the Raspberry Pi shutdown cleanly when the battery is running low. A desktop GUI will also be developed so that users can choose when to wake/sleep, customize the signals to the on-board multicolored LED and more. You could also use the module with older Raspberry Pi Model A and B, but cables are required, making the solution not quite as neat for those.

The project has four days to go on Kickstarter, and the developers have already raised over £65,000 out of the £10,000 aimed for. The early bird rewards are all gone, but you can still pledge for PiJuice board for £24 (~$35) including the battery, project guides and stickers, and you can go solar with a £60 (~$89) pledge. Shipping is £5 and £10 to most countries for respectively the basic and solar kit, with delivery scheduled for June 2015.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Power Consumption of Amlogic S812 and Rockchip RK3288 TV Boxes

February 17th, 2015 7 comments

The recent post comparing the power consumption of ODROID-C1 vs Raspberry Pi boards, as made me want to give another try at power consumption measurements. Regular reader already know I made a power measurement board and cables capable of hading different connectors (micro USB, mini USB, power barrels,  etc..), but eventually it failed to deliver enough current to the boards for any meaning testing. But since I now have a better power supply, and multi-meter, it was worth another try, especially since I could draw some pretty charts.

I decided to test the three most popular Chinese SoCs for mini PCs namely Amlogic S812 (4x Cortex A9), Rockchip RK3288 (4x Cortex A17), and Allwinner A80 (4x Cortex A15 + 4x Cortex A7) using respectively Eny M8S, Open Hour Chameleon, and A80 OptimusBoard. If you are paying attention, you must have noticed Allwinner A80 is not part of the title, that because the board got stuck in the animation logo drawing 1.1 to 1.3 A forever, so I don’t have any results to share for that platforms. Neverthess I still have some interesting charts for the two other platforms, but before sharing the results, let’s go through my setup and some of the issues I encountered.

Power Measurement Testbed

That’s what my setup looks like.

Testbed to Measure Current (Click to Enlarge)

Testbed to Measure Current (Click to Enlarge)

From left to right:

  1. 5V/8A – 12V5A Switch mode power supply (SMPS)
  2. DIY power measurement board and multimeter test leads
  3. Device under test, in this case Open Hour Chameleon
  4. UNI-T UT61E digital multi-meter
  5. Windows XP netbook with UT61E Interface Software and a USB to RS-232 dongle

Initially, I wanted to use Sigrok in Ubuntu 14.04, as it’s more convenient for me simply because I use Ubuntu on my main computer, but unfortunately there are some compatibility issues with my USB to RS232 dongle leading to the error message:

sr: es51922: Invalid function byte

I bought another different looking one on Ebay, but unfortunately it came with the exact same PID and VID, leading to the same issues, and it did not even work with the multimeter in Windows… So I had to fall back to using Windows.

The first time I had the exact same problem as with my $7 multimeter with the device rebooting as soon as 400 mA was reached. The critical issue when measuring current is the impedance of the equipment of the multimeter itself, and any board or cable used for testing. Since the multimeter is in series, even adding 1 Ohm would lead to a voltage drop of 1V at 1 ampere (ohm’s law U=RxI). The multimeter itself will make the voltage drop a bit, as I understand it measures the current using a low impedance resistor, but first I checked my cables.

  • Test lead pair #1 – ~0.15 to 0.30 Ohm but measurement fluctuates a lot even to pretty high values (That’s the pair included with UNI-T UT61E DMM)
  • Test lead pair #2 – ~0.13 to 0.15 Ohm
  • Crocodile clip cables – 0.90 Ohm

At first, I thought it would be a good idea to connect the test leads to the measurement board via crocodile clip in order to get a good connection. But I  measure the impedance of two such cables in series to be 1.80 Ohm, and shorting the measurement board with two of these, could not boot the board at all due to voltage drop (1.8 * 0.4 = 0.72V).

So I got rid of those, connecting the test leads (pair #2) directly to the measurement board, and it went better, but I noticed the screen would turn off from time to time. I also decided to calibrate my SMPS to 5V (it was 5.25), and the symptoms became more frequent, so I measured the voltage right after UNI-T multimeter with my older multimeter, and noticed voltage drops of up to 0.5V at times due to the impedance introduced by the DMM and cables, which led to reboots. So I turned the voltage adjustment screw on the power supply to output 5.4V, which should be safe enough, and everything worked much better, at least with the Amlogic S812 device.

The test procedure goes as follows:

  • Power the board, and wait for boot to complete
  • Run Antutu benchmark
  • Connect an external hard drive via a USB port
  • Run XBMC/Kodi/SPMC and play a 4K H.264 videos (Chimei video).
  • Go to standby

I gather the data with the windows software, and load the results into LibreOffice Calc to generate the power consumption charts with sample numbers on the X axis, and the values in Amperes on the Y-Axis. 2 samples are taken every second, so a 900 sample test duration is 450 seconds (7 minutes 30 seconds).

Eny M8S (Amlogic S812) Power Measurement

Eny M8S Power Consumption Chart (Click to Enlarge)

Eny M8S Power Consumption Chart (Click to Enlarge)
Vertical Axis: Amps; Horizontal Axis: Sample number (every 0.5 second)

The fully test went very smooth on the Amlogic platform, as I never had the screen turn off during testing. The part of Antutu that consumes the most is the 3D GPU benchmark at around 1.4A. We can see a jump of 0.5A when inserting the hard drive. XBMC consumes some power even in the UI, because it’s always refreshing the display, so the power consumption is somewhat similar to the 2D GPU benchmark in Antutu. Playing a 4K video consumes a little over 1A, and it’s normally not to demanding as it’s mostly handled by hardware. Standby mode power consumption is pretty high at about 500 mA with the hard drive connected, and still powered on in this mode.

Open Hour Chameleon (Rockchip RK3288) Power Measurement

Open Hour Chameleon Power Consumption Chart (Click to Enlarge)

Open Hour Chameleon Power Consumption Chart (Click to Enlarge)
Vertical Axis: Amps; Horizontal Axis: Sample number (every 0.5 second)

I had a few more problems with Open Hour Chameleon, as the HDMI signal would turn off from time to time including during multi-threaded floating point benchmark, 3D GPU benchmark, and playing a 4K video. At the end of the video playback, I completely lost video output, and even after removing the hard drive I could not access the UI, so I just press the power button on the remote and it went into standby. The value on the chart above is about 350 mA, but had I waited a few more seconds before stopping measurements it would have dropped to 100 mA.

3D GPU is not the most power hungry task on Rockchip RK3288, as the crown goes to multi-threaded floating-point benchmark consuming close to 2A. I did not play the 4K video from the hard drive, because the screen would go black so often, so instead  I played it from the network (SAMBA share), which should explain why the power consumption of this part is lower on RK3288 than on S812. Mali-T764 GPU power consumption in RK3288 also seems a bit lower compared to the one of Mali-450MP6 GPU found in Amlogic S812.

The “cut-off” current (where I lose video output) on RK3288 seemed to be around 1.3A, while I had no problem even at 1.4A on M8S, which must be because boards are different tolerances with regards to the minimum input voltage.

Since I did not play the video from the hard drive, the test are not really identical for both platforms, but for reference the average amperage on Open Hour Chameleon was 880 mA, while M8S averaged 811 mA.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Raspberry Pi, Banana Pi, and ODROID-C1 Boards Power Consumption

February 12th, 2015 9 comments

Mikronauts has recently reviewed MIPS Creator CI20, ODROID-C1, and Raspberry Pi 2 Model B. R-PI 2 review is especially interesting since this is the last one, and the reviewer goes to compare all Raspberry Pi models (A, A+, B, B+ and 2 B) with Banana Pi, Banana Pro, MIPS Creator CI20, and ODROID-C1 development boards. The benchmark results are good to know, and expected with ODROID-C1 the fastest of the bunch both in terms of CPU and storage performance, but here I’ll just share the results of his power consumptions testing.

Raspberry_PI_ODroid_Banana_Power_ConsumptionSince all platforms are powered by a 5V power supply, I’ve converted the results into watts.

Model Max (W) Avg (W) Off (W)
A 1.07 0.80 0.15
A+ 0.76 0.48 0.125
B 2.45** 2.12 0.62
B+ 1.20 1.15 0.35
2 B 2.25 1.55 0.325
Banana Pi 2 1.25 0
Banana Pro 2.3 1.62 0
Odroid-C1 2.3 1.62 0.735*

* Connecting an ON/OFF switch to ODROID C1’s power header will allow for turning off the board completely (0W).
** Updated with correct value

For battery powered applications, Raspberry Pi A+ is clearly the best choice out of the list, ODROID-C1 and Raspberry Pi 2 Model B+ have quite similar power consumption values with a slight advantage to the latest Raspberry Pi model, except for soft power off where ODROID-C1 power consumption is about double.

The downside of these measurements is that there’s no indication of the program(s) running during measurements. He only shared the following chart for the Raspberry Pi 2 Model B, which made me assume the measurements are made when the board is idled, and after power off.

Raspberry_PI_2_Power_ConsumptionHowever, looking at ODROID-C1 measurements,  the chart looks a bit different with a spike, and the measurement duration is also longer (130 seconds vs 100 seconds), but this should not affect the conclusion that much.

ODROID-C1_Power_ConsumptionThe procedure is also clearly explained with “the chart showing ODROID-C1 powering up, waiting a few seconds, opening the web browser, waiting a few seconds, and shutting down the desktop”.

Thanks to José for the links.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linaro Connect Hong Kong 2015 Schedule and Demos

January 27th, 2015 2 comments

Linaro Connect Hong Kong 2015 will take place on February 9 – 13,2015 in Hong Kong, and the organization has released the schedule for the five days events with keynotes, sessions, and demos.

Linaro_Connect_Hong_Kong_2015Each day will start with the keynote including speakers such as:

  • George Grey, Linaro CEO, who will welcome attendees to Linaro Connect, and provide an update on the latest Linaro developments
  • Jon Masters, Chief ARM Architect, Redhat, who will present Red Hat update and latest ARMv8-A demonstrations
  • Dejan Milojicic, Senior Researcher & Manager, HP Labs
  • Bob Monkman, Enterprise Segment Marketing Manager, ARM, will discuss about  the impact of ARM in next generation cloud and communication network infrastructure
  • Greg Kroah-Hartman, Linux Foundation Fellow, will introduce the Greybus Project (Linux for Project Ara modular phones)
  • Warren Rehman,  Android Partner Engineering Manager, Google

The agenda also features sessions covering Android, ARMv8-A, Automation & Validation, Digital Home, Enterprise Servers, LAVA, Linux Kernel, Networking, Power Management, Security, Toolchain, Virtualization and multiple training sessions. I’ve gone through the full schedule to make my own virtual list of sessions.

Monday 9th

  • 14:00 – 14:50 – maddog: ARMv8 Optimization (No abstract)
  • 15:00 – 15:50 – ACPI Power Management on ARM64 Servers (No abstract)
  • 16:10 – 17:00 – Standardizing Linux Kernel Power Management on ARM 32/64-bit

The 32-bit ARM kernel supports a wide variety of processors harking back to ARM v4 architecture up to the latest v7 SMP processors. This huge legacy forced kernel developers to adapt the power management code for the newest processors (eg v7 multi-cluster systems) to an infrastructure that was developed to support simpler uniprocessor (UP) ARM architectures, resulting in code fragmentation and lack of unified drivers.

The brand new ARMv8 architecture provides kernel developers a clean slate to start developing new code, a nice opportunity to learn lessons from the past and bring about a kernel power management (PM) subsystem completely generic and up to the latest standards. This talk will provide details of the undergoing effort carried out at ARM to develop a kernel PM framework for ARM v8 systems, with kernel design details of the respective DT and ACPI implementations.

Tuesday 10th

  • 10:10 – 11:00 – UMEQ (User Mode Emulation Quest)

UMEQ (user-mode emulation quest) and has been developed to eliminate the functional deficiencies of qemu in user mode (multi-threaded applications, signal handling, etc). Umeq primarily targets ARM 64-bit. The presentation will focus on the architecture principles of umeq and on its implementation.

  • 11:15 – 12:05 – Solving the year 2038 problem in Linux

The concept of ‘time’ in Linux is encoded in many different ways, but the most common one is based on the ‘time_t’ type that counts the number of seconds that have passed since Jan 1, 1970. This type is currently defined as ‘long’, which on 32-bit systems is a signed 32-bit number that will overflow on Jan 19 2038 and likely cause all systems existing today to stop working.

In our presentation, we give an introduction to range of problems that we see across user space and kernel, and we talk about the work that we are doing to address some of these issues.

  • 12:10 – 13:00 – Browser Testing Framework for LHG

The purpose of this talk is to provide the audience with an introduction to the testing framework used in Web browser performance testing as implemented by LHG (Linaro Home Group). The browser test suite is used to compare browser performance and compliance by using a series of benchmarks in key test categories. Sample browser results for both Android and RDK will be presented.

  • 14:00 – 14:50 – Training 1 – FOSS
  • 15:00 – 15:50 – Training 2 – Upstreaming 101
  • 16:10 – 17:00 – Training 3 – Upstreaming 200

Wednesday 11th

  • 10:10 – 11:00 – Art’s Quick Compiler: An unofficial overview

One of the important technical novelties introduced with the recent release of Android Lollipop is the replacement of Dalvik, the VM which was used to execute the bytecode produced from Java apps, with ART, a new Android Run-Time. One interesting aspect in this upgrade is that the use of Just-In-Time compilation was abandoned in favour of Ahead-Of-Time compilation. This delivers better performance, also leaving a good margin for future improvements. ART was designed to support multiple compilers. The compiler that shipped with Android Lollipop is called the “Quick Compiler”. This is simple, fast, and is derived from Dalvik’s JIT compiler. In 2014 our team at ARM worked in collaboration with Google to extend ART and its Quick Compiler to add support for 64-bit and for the A64 instruction set. These efforts culminated with the recent release of the Nexus 9 tablet, the first 64-bit Android product to hit the market. Despite Google’s intention of replacing the Quick Compiler with the so-called “Optimizing Compiler”, the job for the the Quick Compiler is not yet over. Indeed, the Quick Compiler will remain the only usable compiler in Android Lollipop. Therefore, all competing parties in the Android ecosystem have a huge interest in investigating and improving this component, which will very likely be one of the battlegrounds in the Android benchmark wars of 2015. This talk aims to give an unofficial overview of ART’s Quick compiler. It will first focus on the internal organisation of the compiler, adopting the point of view of a developer who is interested in understanding its limitations and strengths. The talk will then move to exploring the output produced by the compiler, discussing possible strategies for improving the generated code, while keeping in mind that this component may have a limited life-span, and that any long-term work would be better directed towards the Optimizing Compiler.

  • 11:15 – 12:05 – Secure Media using DMA-buf

Secure data path for media streams involve lots of differents software and hardware elements and is very complexe. The goal of this talk is to expose an hardware independent proposition using open-TEE and dmabuf. Feedback from all SoC experts is more than welcome.

  • 12:10 –  13:00 – OP-TEE for Beginners and Porting Review

Explains the building blocks involved in Security including TrustZone, OP-TEE, Trusted Firmware etc. Goes into detail on how Secure Boot Works.. and Why. Explains how a simple secure Trusted Application interacts with OP-TEE and works. Brief overview on how to port OP-TEE to an ARM platform. Opens discussions for Potential Challenges and Hardware limitations and how they can be overcome.

  • 14:00 – 18:00 – Hacking sessions or training (no description provided)

Thursday 12th

  • 10:10 – 11:00 – Chromium Blink on Wayland with HW accelerated video playback using Gstreamer

Linaro and STM implemented an integration layer between Chromium and Wayland/Gstreamer. The solution allows HW accelerated video playback, high performance GPU accelerated HTML5 rendering. The approach uses hole punching mechanism to compose the UI layer on the top of the video content. The Gstreamer Chromium plugin is implemented trough the Pepper API. The presentation will provide implementation details on the Wayland/Chromium/Gstreamer integration.

  • 11:15 – 12:05 – EME implementation in Chromium: Linaro Clear Key

An example of a key system from a Clear Key point of view. Linaro implemented a sample CDM plugin for Chromium capable to exercise the EME implementation of the browser. The presentation gives an insight to the EME/CDM implementation in Chromium and the guidelines to integrating various DRM systems. We will present call flows with example classes, experiences learned, and example of things to watch out for.

  • 12:10 – 13:00 – ARM v8-A NEON optimization

With FFT optimization as an example, the following topics are discussed:

  1. Performance boost using ARM v8-A NEON
  2. NEON-optimization workflow for Ne10
  3. Some tips with example of Ne10 FFT and Android libraries
  4. Performance comparison between assembly and intrinsic
  • 14:00 – 18:00 – Hacking sessions or training (no description provided)

Friday 13th

  •  10:10 – 11:00 – Toolchain Performance Analysis and Investigations

This session will present a workflow of analyzing application or benchmark performance and ways investigate how performance can be increased by improving the toolchain. The session will cover use of profiling tools, reading of compiler optimization dumps, reducing optimization problems using compiler debug counters, and submitting optimization request/bug report to compiler developers

  • 11:15 – 12:05 – Power Management interactions with OP-TEE and Trusted Firmware

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 (Power State Coordination Interface).

That’s it for the schedule, I find there are a lot of sessions about security, mainly OP-TEE, so this should become something important.

Linaro 2015 Demos

Beside keynotes, sessions, and training, there will be several demos during the event including:

  • Linaro Clear Key CDM
  • Chromium on Wayland with Gstreamer
  • Linaro Web Browser Test Framework
  • Demo of VLANd
  • l2fwd (See code on github)
  • OVS – x86 – ARM
  • ODP on Cavium platform
  • OpenJDK running on ARMv8 hardware
  • OpenStack running on ARMv8 hardware
  • Android support for clang 3.6 and gcc 5.0
  • Ceph on remote server cluster
  • UEFI on BeagleBone Black

If you want to attend Linaro Connect HK 2015, you can register online for £941.50 (~$1420 US). Live and recorded sessions should also be available for free via Linaro OnAir YouTube account.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter