Operating systems, databases, programming languages, RISC-V ...... are the most basic and important parts of the software system, but also the most complex, how are their cutting-edge technology development? At the same time, specifically in terms of technical details, as the soul of the system, any software needs a suitable architecture, how to make the architecture more ideal, and what are the new architectural tricks currently available, is also what this forum wants to explore.
Teaclave Java: Building a Secure Shield for Java Applications
Confidential computing ensures data security by providing hardware-level system isolation, but the trusted execution environment (TEE) that protects it only supports running native programs and cannot directly run Java programs. If a Java application and the entire JVM are deployed in the TEE, there will be a problem of too large a Trusted Computing Base (TCB), which weakens the security of the TEE. We use Java static compilation technology to automatically divide Java applications into secure sensitive and non-sensitive parts, statically compile secure sensitive parts into native libraries, and then deploy them in the TEE for interaction with non-sensitive parts outside of the TEE to obtain security guarantees provided by hardware. This technology has features such as minimal modification to existing Java programs, high automation level, and small TCB. It is being open-sourced incubated in Apache community and has won an Outstanding Paper Award at ICSE 2023.
Ziyi Lin | Technical expert of Alibaba Group JVM team
The current status of open-source RISC-V cloud computing software and China Telecom's exploration
1) RISC-V adaptation and support for open source software in cloud computing, including open source operating systems, compilers, virtual machines, cloud native applications, cloud storage, cloud networking, databases and trusted computing.
2) China Telecom Research Institute has released the first RISC-V cloud computing open source software supply chain directory. The directory can be found at https://gitee.com/risc-v-cloud/rvchain. It provides a classification summary of open source cloud computing software that supports the RISC-V instruction set and continuously solicits participation from developers and suppliers of RISC-V cloud computing open source software to promote the development of the RISC-V cloud computing ecosystem.
3) China Telecom Research Institute has opened its work on adapting TeleVM - a lightweight virtual machine for RISC-V architecture - which includes BootLoader, CPU virtualization, memory virtualization and interrupt virtualization.
Enfang Cui | Head of RISC-V Research at China Telecom Research Institute Cloud Computing Technology Research Center
From the development of OpenCloudOS, observe the advancement and progression of open-source operating systems
Against the backdrop of the sweeping trend of cloud-native technology in various industries and the rapid iteration of various business architectures, containerization, microservices, and serverless computing have posed new challenges and requirements for underlying infrastructure (including core OS). Simply adapting or optimizing operating systems for cloud scenarios is no longer sufficient to meet new business needs. So how can domestic operating systems be redesigned to cater to cloud-native scenarios and demands, fully embracing cloud-native technology? This session will take OpenCloudOS as a case study to introduce it to you.
Starting from RocketMQ 5.0, we have introduced a new concept: events. What are the differences between messages and events? How does RocketMQ bring changes with this introduction? When should we use events instead of messages? Let's explore these questions together.
● Messages vs Events: Based on previous summit sharing, we will emphasize and deepen the relationship between messages and events.
● Application Scenarios Analysis: Different from previous sharing, we will focus on the core scenario "event push" for detailed explanation. We will also explain the difference between "pull" and "push". Although they do not distinguish between "messages" and "events", why is event more suitable for pushing? In what scenarios is it appropriate to use event push? What are its advantages and limitations? Why is "push" harder to implement than "pull"? (Introducing EventBridge implementation in part 3)
● EventBridge Solution: Besides introducing EB's basic framework, we will highlight how open-source EB achieves good performance in pushing, including exception handling, retry strategy, dead letter queue (DLQ), end-to-end tracing, API management etc. (related to our recently developed built-in Runtime).
● Future Plans for Open-Source EB: Including flow control, backpressure mechanism, monitoring & alerting etc.
Lin Shen | Apache RocketMQ PMC
Starting from the implementation and practice of new features in C++, discusses the development trend of the C++ ecosystem and its impact
The industrial programming languages, C++, was once praised as a dragon-slaying sword, although it was unfathomable and there were no dragons to slay. However, in recent years, with the slowdown of hardware speed increase and the continuous increase in computing power requirements, along with C++'s steady development over the years, many people who had declared C++ outdated were surprised to see it slowly becoming popular again. Last year, it even won the TIOBE Programming Language of the Year award.
In fact, both the C++ language and compiler have been continuously evolving and introducing many exciting new features such as Coroutine and Module language features as well as AutoFDO and ThinLTO compiler features. There are also many new features still in incubation stage such as SIMD, Network, Static Reflection etc., not to mention numerous small changes aimed at improving runtime efficiency and programming productivity.
However for many developers and managers working on industrial-grade C++ projects they may understand that upgrading to newer language standards or compilers can bring benefits but due to uncertainty about potential problems or risks during upgrade process they cannot make a decision on whether or not to upgrade. As a result many industrial-grade C++ projects continue using older compiler versions and language standards without being able to enjoy dividends brought by new language standards or compilers.
At the same time, the Rust language, which is known for its safety and high performance, is maturing, and the Carbon language, which is called the next C++, is on the rise. In this session, we will talk about the implementation of new C++ language features in the Clang/LLVM open source community and the large-scale application of new C++ features in the enterprise, as well as our experience in the upstream and downstream evolution of the C++ ecosystem.
Chuanqi Xu | Member of ISO C++ Standards Committee
Apache HugeGraph's Open Source Evolution of Distributed Storage and Computing
After joining the Apache community for a year, HugeGraph released its official version 1.0. This year, we continue to evolve towards the brand new version 2.0 and promote the integration of internal and open source versions. In this sharing session, we will introduce the design and implementation of distributed storage and computing parts, as well as how to better participate in open source communities. Finally, we will discuss our future plans.
Shiming Zhang | Head of Graph Database at CVTE Research
Real-time data integration architecture evolution: from ESB to Kafka to DaaS
In early system design, without considering data interoperability, traditional ERP, OA, CRM... each system is independent and has a natural hierarchy between different architectures. The databases are mostly monolithic. Today, with the exponential growth of data, these systems have fallen into a predicament where their performance cannot be scaled up and the problem of data silos will become increasingly painful for enterprises. At the same time, for some interactive apps or operational analysis scenarios, traditional big data platforms are unable to provide effective support due to their limited support for real-time data.
However, in interactive business scenarios that require higher real-time requirements (OLTP or Operational Applications), such as unified product or order queries commonly found in e-commerce industry; real-time risk control in financial industry; customer CDP in service industry etc., these scenarios are often critical tasks for enterprises. In addition, many new generation operational analytics are gradually becoming mainstream applications of data. The characteristics of operational analytics also require the latest real-time data from business systems to help customers make more timely business responses.
When combining the pain points of both non-real-time and data silos together，how can we solve them?
Common real-time integrated data architectures include: ESB and Kafka ETL. And DaaS architecture which is emerging recently will be deeply analyzed around these architectural solutions in this topic，and try to come up with a conclusion on who can "break through" better under the scenario of "real-time breaking through Data Silo". Key sharing points will include:
- Current situation and key points of Data Silos
- Business scenarios for Real-Time Data Integration
- Introduction to common Real-Time Integrated Data Architectures:
- Technical key points of Kafka ETL
- What is DaaS Architecture?
- Architecture Characteristics and Advantages of DaaS
- A Comparison between Implementation Scenarios: Kafka ETL vs DaaS
- Code volume
- Development time
- Conclusion and Suggestions
In the era of large-scale models and big data, large-scale distributed training has become a necessary condition for accelerating model training. However, with the increasing use of enterprise GPUs and the rapid growth in demand for file capacity, improving the performance and efficiency of underlying storage has become a challenge.
File systems were born in the 1980s, accompanying explosive growth in data demand and evolving from single-machine to distributed systems. At the same time, cloud computing is also driving storage development as more and more enterprises begin using it for backup and archiving. Some traditional high-performance computing scenarios that were previously conducted locally are also migrating to the cloud along with many AI applications. Therefore, file systems are also evolving towards cloud-native architectures.
JuiceFS is an open-source distributed file system designed specifically for cloud environments that integrates with object storage. Currently, JuiceFS has been applied in AI applications across multiple industries including life sciences, autonomous driving, quantitative investment etc.
This sharing session will introduce JuiceFS's design and practice in AI storage fields while sharing case studies on managing billions of small files in autonomous driving scenarios as well as high-throughput model training scenarios in quantitative finance.
Suave | JuiceData Partners
Build an all-in-one Go microservice ecosystem based on Dubbo
As the most popular cloud-native language, Go has gained high popularity in recent years, and many enterprises have also transformed their technology stacks to Go. However, as the Go language ecosystem continues to flourish, its completeness still lags behind other ecosystems. For small and medium-sized enterprises, a Go framework similar to Spring is still needed to support daily business development. They crave for ease of use and stability that comes with Dubbo's ecosystem. In response to such demands, the Dubbo-go service framework was born. From monolithic architecture to cloud-native architecture, Dubbo-go strives to decouple business code from middleware step by step and provide unified programming interfaces as much as possible. By abstracting service calls through AOP thinking, standardizing interfaces and sinking infrastructure implementation down below. While ensuring high availability and stability of network communication on the premise of integrating a batch of commonly used open-source components into a consistent programming interface for expansion and invocation，Dubbo-go does not stop at existing user usage scenarios or basic framework capabilities but chooses to pursue advantages such as high availability，multi-language，and cross-ecosystem integration in order to build a new generation microservice infrastructure that bridges the gap between X And Go while simplifying Go microservice development and providing rich service governance capabilities。
Zhengwei Deng | Apache dubbo committer、Senior Engineer
Technical innovation and practice of openKylin
The open-source operating system, openKylin, was founded in 2022 and has already gained hundreds of thousands of active users worldwide. This speech will be based on the open-source practice history of openKylin and introduce the innovative achievements of the team in areas such as kernel, desktop environment, key applications, etc. It will also share practical experience from the team in terms of open-source technology research and development, building an open-source community, and cultivating talents for open source.