As I checked my Twitter timeline in Thunderbird this morning, I started to see a lot of tweets about #VMworld2018 and “ESXi on 64-bit Arm”. What is that? VMWare has just announced and showcased several technology innovations at VMworld 2018, including Virtualization on 64-bit ARM for Edge, and the company demonstrated ESXi on 64-bit ARM running on a windmill farm at the Edge. It may be useful to readers (and this writer) to look up what ESXi is and does exactly. As explained on VMWare website: VMware ESXi is a purpose-built bare-metal hypervisor that installs directly onto a physical server. With direct access to and control of underlying resources, ESXi is more efficient than hosted architectures and can effectively partition hardware to increase consolidation ratios and cut costs for our customers. So basically it’s an hypervisor that stays a close as possible to the hardware to keep performance optimal, and […]
MicroWebSrv Lightweight HTTP Web Server Supports HTML/Python Language Templating
There are many languages that can be used to create a web page: HTML, HTML5, JavaScript, PHP, etc… But Python? Apparently yes, as MicroWebSrv lightweight web server – mostly designed for ESP32 platforms running MicroPython such as Pycom boards – supports inserting Python code inside “HTML” files with the extension .pyhtml. The code can be found in Github, and is only comprised of three files. microWebSrv.py – The Web server microWebSocket.py – The optional support of WebSockets microWebTemplate.py – The optional templating language for .pyhtml rendered pages Beside HTML/Python files, the web server can handle GET, POST, … requests, an embedded full REST API, routing handlers, WebSockets, etc… That’s what a mixed HTML + Python .pyhtml file may look like:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
<html> <head> <title>TEST PYHTML</title> </head> <body> <h1>BEGIN</h1> {{ py }} def _testFunction(x) : return "IN TEST FUNCTION %s" % x {{ end }} <div style="background-color: black; color: white;"> {{ for toto in range(3) }} This is an HTML test...<br /> TOTO = {{ toto + 1 }} !<br /> {{ for toto2 in range(3) }} TOTO2 = {{ _testFunction(toto2) }} {{ end }} Ok good.<br /> {{ end }} </div> {{ _testFunction(100) }}<br /> <br /> {{ if 2+5 < 3 }} IN IF (1) {{ elif 10+15 != 25 }} IN ELIF (2) {{ elif 10+15 == 25 }} IN ELIF (3) {{ else }} IN ELSE (4) {{ end }} </body> </html> |
You can use double curly braces {{ and }} to insert MicroPython code, if statements, for loops, or includes. I’m not sure if this makes really sense for all […]
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:
1 2 3 4 5 |
vlad@xeon:~$ time ./jpegtran -outfile /dev/null -progressive -optimise -copy none test.jpg real 0m2.305s user 0m2.059s sys 0m0.252s |
and comparing it to one based on Qualcomm Centriq 2400 Arm SoC:
1 2 3 4 5 |
vlad@arm:~$ time ./jpegtran -outfile /dev/null -progressive -optimise -copy none test.jpg real 0m8.654s user 0m8.433s sys 0m0.225s |
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 […]
Advantech and SocioNext Collaborate for 8K 60Hz Real-Time HEVC Video Encoding, Streaming, and Decoding Solutions
The first live event to be broadcasted in 8K resolution should be the Tokyo Olympic Games in 2020, but but broadcasters will use large and expensive infrastructure equipment to achieve this feat. However, the cost of this solution will be prohibitive for most other situations, so Advantech and SocioNext have collaborated to provide more affordable solutions for live 8Kp60 HEVC video encoding and decoding. One of those solution is Advantech VEGA-3304 that is said to be the first 8Kp60 HEVC acquisition encoder, and comes with 16 x SDI-3G inputs Key features: 1-ch 8Kp60, 4-ch 4Kp60 or 16-ch 1080Kp60 HEVC real-time encoding in Main 8, Main 10 4:2:2 modes Video acquisition over built-in 16-ch 3G-SDI inputs HDR support Double width, ¾ length PCI Express x16, compatible with server GPU slots The PCIe card supports Linux and Windows, and simple-to-use API and example code for FFmpeg and GStreamer multimedia are provided. It can […]
Qualcomm Centriq 2400 Servers to Deliver Cloud based Mobile Gaming
Qualcomm Centriq 2400 Arm SoC launched at the end of last year, and with its 48 custom 64-bit Arm “Falkor” cores is optimized for datacenter workloads. But what everybody wants to know is whether it will run Crysis Angry Birds. And the answer is a resounding yes!, as Rovio’s subsidiary HATCH collaborated with Qualcomm to implement cloud gaming for mobile using Centriq 2400 based servers. The solution has the advantage of not requiring any additional downloads or installations after installing HATCH since everything is stored in the cloud, which also mean you’ll always get the latest version of the games. The game logic runs on the server, while the mobile phone takes user input in real-time, and the server can deliver 60 fps gaming for half the bandwidth required by HD video streaming. The company is now showcasing their solution at Mobile World Congress 2018 with an an early preview […]
Arm Kigen Puts SIM Card Functionality Right into IoT SoCs
Most cellular devices rely on SIM cards, and while with micro and nano SIM, the card has become smaller the electronics and connection remains the same. More recently, we’ve started to see boards featuring eSIM (embedded SIM), a chip soldered directly to the board that’s remotely provisioned by a local mobile network operator, so no more card needed, and the chip should not be tied to a single operator, so you can change plan whenever you want. But soon we won’t be able to find out if a board supports cellular connectivity by looking for a SIM card slot or eSIM chip – although the antenna(s) will still be there, and give a pretty obvious clue – , as Arm has now unveiled Kigen that integrates SIM identity directly into SoCs for the Internet of Things. This will enable what the company (the industry?) call integrated SIMs (iSIM) combining an […]
Ampere SoC Designed for Cloud Computing Comes with 32 ARMv8 Cores @ 3.3 GHz, Supports up to 1TB RAM
Ampere is a brand new company that has just launched to “address memory performance, cost, space and power constraints for emerging hyperscale cloud applications and next-generation data centers”, and whose founders include Renee James (CEO), former president of Intel, among other “semiconductor and cloud computing experts”. Their upcoming 64-bit Arm server processors aim to achieve those goals via thirty two custom Armv8-A cores operating at up to 3.3 GHz, support for up to 1TB of RAM, and a 125 Watts power envelop, or around 4 Watts per core. Ampere SoC specifications listed by the company: Processor Subsystem 32x Armv8 64-bit CPU cores up to 3.3 GHz with Turbo 32 KB L1 I-cache, 32 KB L1 D-cache per core Shared 256 KB L2 cache per 2 cores System Memory 32 MB globally shared L3 cache 8x 72-bit DDR4-2667 channels Advanced ECC and DDR4 RAS features Up to 16 DIMMs, 1 TB/socket […]
How to Use Khadas VIM2 Board with VTV Expansion DTV Board as a Live TV Streaming Server
Khadas VIM2 is the first and only Amlogic S912 based hobbyist development board on the market, which makes it interesting by itself, but the company also added some interesting features such as an SPI flash for network boot, Wake-on-LAN support, and more. Last month the company sent me a sample of the Khadas VIM2 Basic (2GB RAM/16GB flash) together with VTV Extension DTV Board featuring a DVB-T2/C and DVB-S2 tuner. I’ve already checkout the hardware and shown how to assemble the kit, so for the second part of the review it seemed like a good idea to use the board as a Live TV streaming server broadcasting satellite, cable or terrestrial TV to devices connected to the local network. At first I wanted to use Linux operating system, because I could have run other Linux server services, but SuperDVB, the company that makes and supports the tuner board, only have […]