Oracle's GraalVM 20.1 Runtime with significant improvements

- "Significantly improved performance" for some benchmarks on JDK 11 due to synchronization fixes, helping some workloads as much as 50% better performance. - Their Java mitigations for the Intel Jump Conditional Code (JCC) Erratum is now only enabled for Intel CPUs needing the workaround and not all CPUs. - For GraalVM's JavaScript support the ECMAScript 2020 features are now enabled by default. The NPM package runner (NPX) is also now part of GraalVM distributions. - GraalVM Enterprise can now run C++ code in managed mode as part of GraalVM's LLVM runtime. - Performance improvements for Python along with other language compatibility enhancements.

Looks like the JVM becomes obsolete and a new battle between GraalVM & WASM arises.

Java, .NET, Kotlin, JDK, WASM

Microsoft to support GPU acceleration, Linux GUI apps on WSL2

Microsoft is promising to dramatically improve its Windows Subsystem for Linux (WSL) with GUI app support and GPU hardware acceleration. The software giant is adding a full Linux kernel to Windows 10 with WSL version 2 later this month, and it’s now planning to support Linux GUI apps that will run alongside regular Windows apps. This will be enabled without Windows users having to use X11 forwarding, and it’s mainly designed for developers to run Linux integrated development environments (IDE) alongside regular Windows apps.

The problem with the WSL voodoo is that it is 99% compatible. However the 1% has serious implications. Now people can easily been swallowed into the Microsoft ecosystem executing simple workloads and as soon as they try something serious, they quickly recognize it does not work and have to revert to Windows-native ways of doing something. One crucial example: you cannot delete a file that is used by a process on Windows; on Unix you can. Hence applications like Gradle do not work when being used by a Windows & Linux process at the same time.

Linux, Microsoft, Windows, WSL

A small step for Lenovo but a big step for Linux

This Summer, Lenovo will unleash a trio of new ThinkPad laptops powered by Fedora 32. It will be a substantial boost for Linux visibility, and Lenovo’s vocal endorsement is a step in the right direction for establishing desktop Linux as a viable alternative to Windows for creators, developers, and everyone in between. But you probably already knew all this. What you don’t know is the steps Lenovo and Fedora — and by extension Red Hat — are taking to truly treat Linux as a first-class citizen when these systems launch.

Probably one of the most significant steps in the past few years for making Linux accessible to a much broader user base. If this gains momentum, Linux might have potential to a 10% user base within the next two years, growing 10x.

Linux, macOS, Notebook, Dell

Power saving improvements for latency-sensitive tasks on Linux

IBM engineers have been working on improvements to the Linux kernel's power savings while running latency-sensitive tasks but still delivering comparable performance. Their own numbers for a patched kernel are showing significant power saving benefits as much as ~20%. The new patch series builds off earlier work published by IBM on providing a per-task "latency_nice" knob for scheduler hints. Latency_nice can be used for indicating latency requirements of a given task so the scheduler can make better decisions. With that latency_nice work published over recent months, among the use-cases talked about there was for better turbo/boost frequency decisions based upon grouping of tasks with similar latency requirements. Additionally, hypothetically having the scheduler not assign low-latency tasks to a CPU encountering AVX-512 based workloads where generally the core frequencies become quite limited.

Let's hope, the improvements will actually materialize in one of the next kernel releases soon!

Linux, macOS, Notebook

Valve's SteamVR has ended macOS support to focus on Windows and Linux.

And let’s not forget that the writing is on the wall for macOS as a general purpose operating system anyway, since Apple will most likely use the move to ARM processors in Macs to further lock down macOS, making it more like iOS. While macOS might be more popular than Linux in absolute numbers, the cold and harsh truth is that the Linux userbase simply has a far larger group of skilled developers, programmers, and tinkerers willing to put the effort into making non-native games work on Linux and to improve support for things like VR devices. These are exactly the kind of people Apple seems to have a deep-rooted disdain for. Expect more of these kinds of announcements over the coming years, as game companies (and other developers) have to decide whether or not to support an isolated and locked down platform like macOS on ARM – a platform without first-party OpenGL or Vulkan support, with a steward actively pushing you to use a proprietary API that you can’t use anywhere else.

Apparently it became too risky for Valve to bet on a very specific and Apple-exclusive set of APIs for game development. Despite Apple users being a consumption friendly base, their spending need to justify the extra efforts to maintain an exclusive development branch that cannot be reused on Linux or Windows.

Gaming, Linux, macOS, Vulkan, OpenGL

High-end Lenovo notebooks with pre-installed Fedora Linux

Today, I’m excited to share some big news with you—Fedora Workstation will be available on Lenovo ThinkPad laptops! Yes, I know, many of us already run a Fedora operating system on a Lenovo system, but this is different. You’ll soon be able to get Fedora pre-installed by selecting it as you customize your purchase. This is a pilot of Lenovo’s Linux Community Series – Fedora Edition, beginning with ThinkPad P1 Gen2, ThinkPad P53, and ThinkPad X1 Gen8 laptops, possibly expanding to other models in the future. The Lenovo team has been working with folks at Red Hat who work on Fedora desktop technologies to make sure that the upcoming Fedora 32 Workstation is ready to go on their laptops. The best part about this is that we’re not bending our rules for them. Lenovo is following our existing trademark guidelines and respects our open source principles. That’s right—these laptops ship with software exclusively from the official Fedora repos! When they ship, you’ll see Fedora 32 Workstation. (Models which can benefit from the NVIDIA binary driver can install it in the normal way after the fact, by opting in to proprietary software sources.)

Let's hope it will not remain a niche offering or become an one-off shot from Lenovo and Fedora. The nerdy Linux community proofed several times that it does not understand the market or the vast majority of business users who - in their vast majority - want a macOS experience and not a do-it-yourself tinker gadget nightmare.

Being a dedicated Linux user myself, I see the Linux community, in their vast majority just does not consist of pragmatic business users but dogma-driven idiomatic oddballs. Yes, not everybody... I know, please let me alone with the problems of generalization. I am talking about hard statistics here and a lot of personal life experience.

Fedora, Linux, Ubuntu, Mac, macOS

The WebGPU capability might bring ML/AI to the browser

WebGPU is an emerging API that provides access to the graphics and computing capabilities of hardware on the web. It’s designed from the ground up within the W3C GPU for the Web group by all major browser vendors, as well as Intel and a few others, guided by the following principles:[...] We are excited to bring WebGPU support to Firefox because it will allow richer and more complex graphics applications to run portably in the Web. It will also make the web platform more accessible to teams who mostly target modern native platforms today, thanks to the use of modern concepts and first-class WASM (WebAssembly) support.

WebGPU aims to work on top of modern graphics APIs: Vulkan, D3D12, and Metal. The constructs exposed to the users reflect the basic primitives of these low-level APIs. Let’s walk through the main constructs of WebGPU and explain them in the context of WebGL – the only baseline we have today on the Web.

Java is struggling to support GPUs for years already. It looks more and more that WASM will become the bytecode of a new IT era.

HTML5, Vulkan, OpenCL, AI/ML

Java 14 performance is improving a lot, GC times go down

Over the last 6 years, since JDK 8 was released, the Java platform has evolved a lot. I will not go into details, but one thing is certain, the overall performance has improved a lot. One big change we made in JDK 9 was to make G1 the default garbage collector. Parallel GC, the old default, focused on raw throughput and this change shifted the platform towards a more balanced model where latency is as important as throughput. G1 is designed to avoid the long occasional full collections that eventually occur with a stop-the-world collector, like Parallel GC. To achieve this G1 does parts of the collection work concurrently with the Java application. This comes with a slight throughput cost and it becomes extra visible in benchmarks only measuring throughput. If people observed a performance drop when migrating from Java 8 to a later version of Java, this was the main reason, i.e. a shift in the GC approach to be more latency and throughput balanced. Applications that want maximum throughput can switch back to Parallel GC (by using JVM option -XX:+UseParallelGC) and take advantage of all other performance improvements JDK 14 comes with.

Probably the biggest disadvantage of Java vs C/C++ is not the performance penalty (of GC) as an average Java app would outperform an average C/C++ app, anytime as Java makes it easier to write performant code than C/C++. However the garbage collector of Java causes interruptions that are unacceptable for some scenarios. With this improvements, the GC times have been reduced so much that the biggest disadvantage is not its biggest disadvantage anymore.

Java 14, Java 15, Performance, Benchmark

Web tech displaces and pervades native tech

Google is replacing some Android apps for Chromebooks with Progressive Web Apps (PWAs). A PWA is essentially a webpage that looks and feels like a traditional app. This will certainly be good news for many Chromebook owners. In some cases, PWAs are faster and more functional than their Android counterparts. PWAs also take up less storage and require less juice to run. It’s also no secret that some Android apps on Chrome OS are terrible. Google has struggled for years to optimize Android apps to work on tablet-sized screens. And while the viable selection has certainly improved since the Pixelbook days, there are still a number of programs notorious for not playing nice. Even though PWAs have been available for a while, it’s likely that some users didn’t know how to get them or why they were a better alternative. Some users also just prefer getting all of their apps with the same process. (I certainly do.)

A step that is long due. Also I do not know why Google is going slower in bringing even more web tech to Android & Chrome OS devices. For Kotlin fans: This won't mean Kotlin would lose influence but rather that KotlinJS could gain more traction.

PWA, Web, WASM, WebAssembly

Microsoft buys a real-time OS

Microsoft’s 2019 acquisition of Express Logic brought its ThreadX real-time operating system into the Azure fold. Now branded as Azure RTOS, it’s an industrial-grade, real-time operating system for devices that fit somewhere between Arduino and Raspberry Pi, needing more than firmware but less than a full Azure Sphere-like Linux. The OS adds to Microsoft’s edge compute capabilities, already running on more than two billion devices. At the heart of Azure RTOS is the ThreadX picokernel. It’s designed to scale across a range of hardware, with a customizable deployment image that only bundles the services needed by your code. Those services are implemented as a C library, simplifying building and delivering runtime code. The kernel is distributed as C source code, so it’s possible (though not recommended) to modify it to deal with specific hardware or application requirements. Services run side by side as threads—they don’t layer—allowing ThreadX to be optimized for speed and for switching between services. Performance is essential, as real-time operating systems need to respond quickly to event-driven inputs as they often operate in safety-critical roles.

Microsoft acquires yet another company for its product. This time it is Express Logic that is behind its ThreadX picokernel. For corporations its all about their product portfolio. At the C-level technology, banking and manufacturing, they all look the same from 10 km above.

Windows, RTOS, Azure