Key Features
openEuler 23.03 uses the Linux kernel 6.1 to explore technologies for the long-term support version in the future and to facilitate developers to adapt hardware, innovate basic technologies and upper-layer applications. openEuler 23.03 supports mainstream processor architectures and hardware, such as x86, Kunpeng, and Raspberry Pi.
openEuler 23.03 Is Built Based on Linux Kernel 6.1
- Burstable CFS bandwidth controller: The CFS bandwidth controller is introduced by using cgroups to allow burst CPU-bound workloads to borrow future quotas, improving overall latency and batch processing performance.
- Cgroup support for SCHED_IDLE: All tasks in the cgroup can be added to the SCHED_IDLE type of the task scheduler so that these tasks run only when no other tasks are waiting to run.
- Optimized scheduling: Wakeup latency and NUMA imbalance are improved. select_idle_cpu() is optimized to reduce the time spent searching for idle CPUs on overloaded systems.
- Optimized memory tiering:To improve the memory management subsystem, a new algorithm is introduced to help identify which pages in the NUMA nodes are hot so that the system can promote/demote hot/cold pages to the appropriate NUMA nodes. Additionally, layered information is exposed to user space, allowing users to configure it.
- BPF CO-RE (Compile Once-Run Everywhere) feature: Solves the portability problem of BPF. After being compiled, the compiled program can correctly run on kernels of different versions.
- Improved XFS scalability: By removing spin locks and global synchronization points, the scalability of XFS logs is improved. In addition, the lock-free lookup performance of the buffer cache is enhanced.
- Optimized io_uring: Buffered asynchronous writing improves XFS performance by three times.
- Optimized Pressure Stall Information (PSI): PSI provides a detailed view of the current resource usage in the system. Per-cgroup PSI, IRQ/SoftIRQ PSI, and some optimizations have been added.
Kmesh
Based on the programmable kernel, Kmesh moves service management down to the OS level to implement a high-performance service mesh data plane, accelerating cross-service communication by five times.
- Interconnection with mesh control planes that support XDS protocol, such as Istio.
- Traffic orchestration
- Load balancing: provides policies such as polling.
- Routes: supports layer-7 routes.
- Gray release: supports percentage-based gray scale selection of backend services.
kconfigDetector
kconfigDetector provides checks and helped locating for common kernel configuration items with type errors, value errors, dependency errors, and matching errors, simplify kernel configuration item verification and fault locating.
- Kernel configuration file error value checking: kconfigDetector can quickly find errors such as type errors, unsatisfied dependencies, dependency risks, missing configuration items, unsatisfied ranges, and value alerts.
- Kernel configuration items dependency query: A kernel configuration space model is built for quickly querying all direct and indirect dependent parent and child configuration items.
NFS Multipathing
NFS multipathing means that multiple links are established between the client and the server under a single mount point to support I/O transmission over multiple links, improving the performance of a single mount point. In addition, the link status is periodically checked to ensure fast I/O failover upon a link fault.
- NFSv3 supports the Round Robin link selection algorithm to balance the performance of multiple links.
- NFSv3 and NFSv4 support fast link failover, improving NFS reliability.
- Provides an interface for registering link path selection algorithms and allows NFS server developers to customize path selection algorithms.
- Supports periodic link availability detection.
- Allows the link status to be viewed.
OmniVirt
OmniVirt is a developer tool set incubated by the technical operation team and infrastructure team of the openEuler community. It integrates virtualization technologies (such as LXD, HyperV, and Virtualization Framework) in mainstream desktop operating systems (OSs). It utilizes VMs and container images officially released by the openEuler community to provide developers with unified development resource (such as VMs and containers) provisioning and management experience on Windows, macOS, and Linux, improving the convenience and stability of using the openEuler development environment on mainstream desktop OSs, as well as developer experience.
openGemini Ported to openEuler
openGemini is a cloud-native distributed time-series database (TSDB) designed for IoT and O&M monitoring scenarios. It is committed to providing users with cloud-native, high-performance, highly scalable, low-cost, and analysis-integrated storage experiences, helping users reduce system maintenance costs and improve production efficiency.
openGemini uses a layered architecture with massive parallel processing (MPP) and a variety of innovative optimization technologies, such as vectorization, stream computing, multi-level data downsampling, LSM optimization, AI4DB, and data compression, to address the challenges of observability, AIOps, IoT and other fields in terms of performance and storage costs for databases with ultra-large scale timelines and massive time series data, creating an integrated platform for IoT, O&M monitoring and data storage analysis.
Enhanced DSoftBus
DSoftBus has integrated the distributed soft bus of OpenHarmony and HiChain point-to-point authentication module to implement interconnection between openEuler embedded devices and interconnection between openEuler embedded and OpenHarmony devices.
In openEuler 23.03, Bluetooth Low Energy (BLE) discovery capability and file and stream transfer interfaces are added, and the nstack and FillP protocols are supported, significantly improving transfer efficiency over unstable networks.
Directory Split for Read-only Image Data Management of iSulad
- Because image data is read-only, the image data is classified and managed to achieve the separation of image data and container data.
- The storage of container data and image data is decoupled for flexible data management, allowing for distributed deployment and sharing of image data.
Compiler Plugin Framework
The compiler plugin framework provides a plugin development interface for multi-level intermediate representation (MLIR) to achieve one-time development and multi-compiler landing, avoiding the repeated development of compilation tools. As a plugin development platform, the compiler plugin framework provides support and maintenance for common capabilities such as tool compatibility and integrity verification, helping users improve the development efficiency of optimization features in the form of plugins.
- Provides plugin development capabilities based on MLIR and supports conversion of compiler IRs such as GIMPLE.
- Supports 19 types of GIMPLEs.
- Provides common capabilities such as compatibility verification and binary file integrity check.
- Allows plugins such as the security compilation option verification, operation validity verification to run monitoring verification functions.
- Allows plugin clients to be loaded as GCC plugins, which implement plugin functions without modifying the GCC compiler.
- Can be enabled for Link Time Optimization (LTO).
Enhanced secGear
secGear is the unified confidential computing programming framework committed to being compatible with mainstream TEEs in the industry, shielding TEE and SDK differences, providing developers with a unified and simple development interface, realizing cross-architecture source code sharing, allowing developers to focus on business, reducing the cost of developing and maintaining confidential computing applications, connecting various TEE application ecosystems, and helping to build the confidential computing ecosystem.
Common features of secure channels are added in openEuler 23.03. The secure channel SDK includes the client, server host, and server enclave, which are integrated by the client, client CA, and client TA, respectively.
- Supports client-server (REE-TEE) secure channel negotiation. After the negotiation, both sides use the same key for encryption and decryption.
- The client can perform encryption and decryption.
- The server TA can perform encryption and decryption.
radiaTest Community Test Platform
radiaTest is a management platform launched by the openEuler community for carrying out the entire process of testing activities. The core of the platform is a web data middle platform, which helps the community to operate version tests efficiently in a traceable manner. radiaTest has plugin services that support resource management and automated testing functions, and supports interconnecting with multiple test engines.
In openEuler 23.03, the authentication problem is solved and capabilities are completed.
- The login authenticating logic is reconstructed to enable various organizations or communities to adopt diversified authentication methods, for example, using openEuler community unified authentication instead of Gitee authentication to log in to the openEuler organization.
- Version baseline case test progress display is added to the quality dashboard, allowing you to monitor the execution status of test cases from the perspective of versions.
- The IT-enabled test design provides an easy-to-use entry for organization or community test policy management.
- The issue form submission function is optimized. The statistics of issue data related to test tasks are supported.