ASPLOS'24 tutorial

Exploring System Research with OpenHarmony OS: A Practical Tutorial

Introduction

In the swiftly changing world of technology, mobile operating systems are advancing towards a more distributed, interconnected, and intelligent framework. This evolution demands the creation of operating systems and hardware architectures that are not only secure but also exhibit peak performance and user-friendly simplicity. OpenHarmony stands at the forefront of this revolution as a cutting-edge OS. It enables developers to craft secure, interconnected mobile ecosystems through a synergistic approach of hardware-OS co-design. This tutorial offers a comprehensive look into the development of futuristic mobile operating systems and architectural designs, using OpenHarmony as the pivotal platform.

In this tutorial, our main goal is to facilitate a practical learning journey. We’ll embark on a detailed exploration of the OpenHarmony operating system, delving into its core principles and structural design. The tutorial will encompass several key areas: firstly, constructing system security prototypes within the OpenHarmony framework, with an emphasis on integrating Trusted Execution Environments (TEE) like RISC-V Penglai. Secondly, we’ll focus on utilizing OpenHarmony’s distributed hardware abstraction capabilities to efficiently connect multiple OpenHarmony devices. Lastly, we will show how OpenHarmony enables top-tier research works like VSync (ASPLOS’21 Distinguished Paper) and Penglai (OSDI’21).

The tutorial will cover the following key topics:

  1. Understanding the evolving landscape of mobile OSes and their security requirements.
  2. Familiarizing yourself with the features and architecture of OpenHarmony.
  3. Step-by-step guidance on building system security prototypes (TEE, application authority) based on OpenHarmony.
  4. Step-by-step guidance on building an interconnected system using the distributed capability based on OpenHarmony (e.g., distributed TEE).
  5. Step-by-step guidance on verification and optimization for synchronization primitives based on OpenHarmoy with VSync/LibVSync.
  6. Demonstrating how OpenHarmony and related systems facilitate novel ideas and reliable experimentation for researchers and system designers.

This tutorial is designed for researchers, system designers, and developers interested in exploring and harnessing the potential of OpenHarmony to create next-generation mobile OS solutions.

Join us (!!!) In this tutorial to unlock new opportunities and pave the way for secure, interconnected and efficient mobile systems using OpenHarmony.

Organizers

Description of Image
Dong Du

Assistant Professor, IPADS Lab, Shanghai Jiao Tong University. Research interests include OS and architecture.

Description of Image
Jing Zhang

1st-year master's student, IPADS Lab, Shanghai Jiao Tong University, with a primary research focus on operating systems. I am dedicated to the academic research and development of the open-source project OpenHarmony.

Description of Image
Erhu Feng

4th year Ph.D student, IPADS Lab, Shanghai Jiao Tong University. Research direction is system architecture and security, published papers in OSDI, ASPLOS, ISCA, HPCA. Maintainer of Penglai RISC-V TEE (open-sourced).

Description of Image
Yubin Xia

Full Professor, IPADS Lab, Shanghai Jiao Tong University. Research interests include operating systems, computer architecture.

Description of Image
Zeyu Mi

Associate professor at School of Software, IPADS Lab, Shanghai Jiao Tong University. Research interests include AIGC (LLM) systems, OS, system virtualization, and system security. Leader of PowerInfer framework (open-sourced).

Description of Image
Qingyuan Liu

3rd-year Ph.D student, IPADS Lab, Shanghai Jiao Tong University. Advisor: Haibo Chen, Yubin Xia, and Dong Du. Research areas are serverless computing and cloud-native systems.

Description of Image
Diogo Behrens

Behrens is research engineer at HW Dresden Research Center, currently leading the System Software Concurrency team. Before joining HW in 2019, Diogo was software engineer with focus on stream data processing. He holds a PhD from TU Dresden, Germany.

Agenda

Date: Saturday, April 27th, Afternoon

Location: Hilton La Jolla Torrey Pines, San Diego, California (with ASPLOS’24)

Prerequisite

  • Prior knowledge of operating systems and basic programming concepts would be beneficial.
  • Please bring a laptop, that can allow you do some experiments :)
  • Please install some necessary apps in your laptop:
    1. VNC client: we need to connect up to 2 VNC servers, realVNC is recommended
    2. 7z: we use 7z to decompress pre-compiled images. Download in official website is enough
    3. DevEco Studio IDE: If you want to experience the entire process of compiling an OpenHarmony application, please refer to the slides for Exercise 1 and install DevEco Studio before the tutorial
  • Devices: we will provide simulator for OpenHarmony, and cloud servers that you can connect for most experiments. We will also bring some dev-boards that allow you to try the OS on real devices.

Contents and Timeline

The planed topics and timeline are the following:

Time Topic Speaker Slides Code
1:40pm Part 1: Introduction to OpenHarmony (20min) Yubin Xia slides  
2:00pm Exercise 1: How to build OpenHarmony & Toolchains for OpenHarmony
(20min)
All slides code
2:20pm Part 2: Distributed functionality of OpenHarmony (20min) Dong Du slides  
2:50pm Coffee Break (20min~30min) \ \ \
3:20pm Exercise 2: Distributed Capability of OpenHarmony (20min) Jing Zhang &
Qingyuan Liu
slides code
3:40pm Part 3 & Exercise3: Concurrency Research based on OpenHarmony (40min) Diogo Behrens slides code
4:20pm Part 4 & Exercise: Security Research based on OpenHarmony (40min) Erhu Feng slides code1
code2
4:55pm Research Opportunities & Outlook (Conclusion & Remark ) Yubin Xia    
5:00pm Q/A All    

Credits

We thank the following people/organizations for their huge supports for the 1st OpenHarmony Research Tutorial (in no particular order).

  • OpenHarmony TSC.
  • Jiageng Yu (于佳耕, ISCAS) and Yang Tai (邰阳, ISCAS) help on the OpenHarmony Simulator (based on their PolyOS project) that is used for demos/experiments.
  • Ming Fu gives suggestions on the content of this tutorial.
  • Yutao Liu gives suggestions on the content of this tutorial.
  • Guo Liu (刘果)
  • and Others