A Look at a Small NanoPi NEO4 Build Farm

NANOPI NEO4 Build Farm

FriendlyElec NanoPi NEO4 is currently the cheapest and smallest SBC powered by Rockchip RK3399 hexa-core processor which packs two Cortex A72 “fast” 64-bit cores, and four Cortex-A53 “efficiency” cores, so it should be an obvious candidate if you plan on building an Arm build farm costs to its low cost, small form factor, and relatively good performance. As part of his work on HAProxy load balancer, Willy Tarreau often has to run time-consuming builds for Arm targets, and to speed up the builds he’s put together several Arm based build farms powered by low cost development boards / SBCs. Up to now he had a build farm powered by five MIQI boards featuring Rockchip RK3288 processor with four Cortex-A17 “fast” 32-bit processor, and controlled with a ClearFog Pro networking board. He’s now decided to build another similar build farm but with NanoPi NEO4 boards instead. Willy goes through the hardware setup, and software into much details in a blog post, …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Facebook BOLT Speeds Up Large x86 & ARM64 Binaries by up to 15%

Facebook BOLT

Compilers like GCC OR LLVM normally do a good job at optimizing your code when processing your source code into assembly, and then binary format, but there’s still room for improvement – at least for larger binaries -, and Facebook has just released BOLT (Binary Optimization and Layout Tool) that has been found to reduce CPU execution time by 2 percent to 15 percent. The tool is mostly useful for binaries built from a large code base, with binary size over 10MB which are often too large to fit in instruction cache. The hardware normally spends lots of processing time getting an instruction stream from memory to the CPU, sometimes up to 30% of execution time, and BOLT optimizes placement of instructions in memory – as illustrated below – in order to address this issue also known as “instruction starvation”. BOLT works with applications built by any compiler, including the popular GCC and Clang compilers. The tool relies on Linux …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Optimizing JPEG Transformations on Qualcomm Centriq Arm Servers with NEON Instructions

Arm servers are already deployed in some datacenters, but they are pretty new compared to their Intel counterparts, so at this stage software may not always be optimized as well on Arm as on Intel. Vlad Krasnow working for Cloudflare found  one of those unoptimized cases when testing out Jpegtran – a utility performing lossless transformation of JPEG files – on one of their Xeon Silver 4116 Server: and comparing it to one based on Qualcomm Centriq 2400 Arm SoC: Nearly four times slower on a single core. Not so good, as the company aims for at least 50% of the performance since the Arm processor has double the number of cores. Vlad did some optimization on The Intel processor using SSE instructions before, so he decided to look into optimization the Arm code with NEON instructions instead. First step was to check which functions may slowdown the process the most using perf: encode_mcu_AC_refine and encode_mcu_AC_first are the main culprits. …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Embedded Systems Conference 2018 Schedule – IoT, Security, Artificial Intelligence, and More

The Embedded Systems Conference takes place each year in Boston, US in April or May. This year, the event will occur on April 18-19, and the organizers have published the schedule with 7 tracks: Advanced Technologies, Center Stage (free), Embedded Hardware Design & Verification, Embedded Software Design & Verification, IoT and Connected Devices, Keynotes (free) and Special Event (free). Even if you can’t attend, it’s always useful to have a look at the schedule to learn about potential industry developments. So I’ve made my own virtual schedule with some of the sessions I found relevant to this blog. Wednesday, April 18 8:00 – 10:00 – An Introduction to RTOS by Jean Labrosse (Software Architect, Silicon Labs) This tutorial will help you understand what RTOSs are and how they work so that you can make better use of their features. The class will explain what an RTOS is and why you should use one. We’ll explain what tasks are, why you …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Android P Developer Preview Released with Indoor Positioning, Display Notch Support, HDR VP9 Video, and More

Google has just announced the release of the first developer preview for Android P mobile operating system, as the company is looking for feedback from developers who can use the official Android emulator, as well as images for Pixel, Pixel XL, Pixel 2, and Pixel 2XL devices for testing Google will take into account comments from developers before finalizing the APIs and features. That won’t be the only preview however, as the company plans to release other developer previews planned before the stable release at the end of the year, and Google aims to reveal more at Google I/O 2018 next week. Some of the interesting changes and new features found in Android P so far: Indoor positioning with Wi-Fi RTT (Round Trip Time) also known as 802.11mc WiFi protocol Display cutout support for some of the new phones with a notch Improved messaging notifications, for example highlighting who is messaging and how you can reply. The conversations, photos and …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Embedded Linux Conference & IoT Summit 2018 Schedule

The Embedded Linux Conference 2018 and the OpenIoT Summit 2018 will jointly take place next month, on March 12 – 14, 2018 in Portland, Oregon, USA. The former is a “vendor-neutral technical conference for companies and developers using Linux in embedded products”, while the latter is a “technical conference for the developers and architects working on industrial IoT”. The Linux Foundation has already published the schedule, and it’s always useful to learn what will be discussed about even for people who won’t attend. With that in mind, here’s my own virtual schedule with some of the talks I find interesting / relevant to this blog. Monday, March 12 10:50 – 11:40 – Progress in the Embedded GPU Ecosystem by Robert Foss, Collabora Ltd. Ten years ago no one would have expected the embedded GPU ecosystem in Linux to be what it is now. Today, a large number of GPUs have Open Source support and for those that aren’t supported yet, …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Google Introduces Android 8.1 Go Edition for Low End Smartphones

With Android 8.1 preview release, we already knew Google was working on optimizations for Android Go for devices with 512MB to 1GB memory, and a new Neural Networks API to accelerate on-device machine intelligence. Android 8.1 will be released tomorrow, and Google has now officially introduced Android Oreo Go Edition that will be part of the release tomorrow. Optimizations cover three main components Operating System – Performance and storage improvements with data management features and security benefits built-in. The company now claims the operating system will take much less space, and actually double free space on a typical 8GB eMMC flash. Google Apps – New set of Google apps designed to be lighter and relevant to people who are coming online for the first time. App size will be reduced by around 50% on Android Go. Google Play Store – A tuned version of the Google Play Store that works with any apps, but also highlights the apps designed to …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Embedded Linux Conference & Open Source Summit Europe 2017 Schedule

The Embedded Linux Conference & IoT summit 2017 took place in the US earlier this year in February, but there will soon be a similar event with the Embedded Linux Conference *& Open Source Summit Europe 2017 to take up in Europe on October 23 – 25 in Prague, Czech Republic, and the Linux Foundation has just published the schedule. It’s always useful to find out what is being discussed during such events, even if you are not going to attend, so I went through the different sessions, and compose my own virtual schedule with some of the ones I find the most interesting. Monday, October 23 11:15 – 11:55 – An Introduction to SPI-NOR Subsystem – Vignesh Raghavendra, Texas Instruments India Modern day embedded systems have dedicated SPI controllers to support NOR flashes. They have many hardware level features to increase the ease and efficiency of accessing SPI NOR flashes and also support different SPI bus widths and speeds. …

Support CNX Software – Donate via PayPal or become a Patron on Patreon