(This article is a compilation of the author’s speech at Peking University on December 12, 2022, first converting the conference recording into a draft using iFlytek’s voice recognition, then polishing it with GPT-4, correcting errors in voice recognition, and finally manually adding some new thoughts)

Wireless networks are a very broad field, corresponding to Huawei’s two major product lines, one is wireless, and the other is consumer BG. Wireless mainly refers to the familiar 5G and Wi-Fi, while consumer BG includes various smart terminals including mobile phones.

At the beginning of the last chapter on wide area networks, we mentioned that the current transmission protocols do not fully utilize the bandwidth of wireless networks and wide area networks, resulting in many applications actually unable to experience the hundreds of Mbps high bandwidth claimed by 5G and Wi-Fi. This is what we often call the “last mile” problem. As the performance of wireless networks becomes closer and closer to wired networks, some optimizations originally applicable to data centers will apply to wireless networks. Previously, when we talked about distributed systems, we thought of data centers, but now there are so many terminal devices and smart home devices at home, which also form a distributed system. In the future, a family may be a mini data center.

Wireless Performance Approaching Wired

Performance Optimization of Wireless Networks

Why is the spectrum utilization rate of 5G higher than that of Wi-Fi? It’s because 5G is centralized time slot allocation, while Wi-Fi is carrier sense multiple access (CSMA) mode of preemption. If no one sends a packet, it will send it. If it conflicts with others, it will resend it after a while. The theoretical spectrum utilization rate of the preemptive mode will not be very high. You may remember the ALOHA protocol learned in the computer network textbook, its maximum channel utilization rate is only 18%; even if the time is divided into fixed-length slots, the maximum channel utilization rate is only 37%. But we can’t modify the Wi-Fi protocol in the short term, so we can only try to reduce unnecessary conflicts as much as possible.

We found that the TCP protocol by default returns an ACK packet for every 23 data packets, on the one hand to confirm that the data packet has been received, and on the other hand to do congestion control and flow control. In some scenarios of communication within the data center, we hope to change the return of an ACK for every 23 packets to return an ACK for each packet in order to do more fine-grained congestion control. But in the scenario of wireless networks, because our main problem is low spectrum utilization, we hope to reduce the number of ACKs. In the TACK research work, we improve the spectrum utilization by reducing the number of ACKs and letting each ACK carry more information.

TACK provides two types of ACKs, one is “instant ACK” to speed up the response to events such as packet loss; the other is “periodic ACK”, which is triggered every once in a while, not every time two or three packets are received. In this way, it will not slow down the feedback speed of congestion control information, reduce the number of ACKs, and reduce unnecessary channel conflicts.

Another key technology is Link Turbo, which uses both 5G and Wi-Fi physical channels at the same time. Increasing bandwidth is secondary, the more important thing is to improve reliability. For example, it’s hard for users to tolerate when our WeChat messages can’t be sent for a long time, or when the video conference is stuck in the middle. Using 5G or Wi-Fi alone, sometimes the 5G signal is good and the Wi-Fi signal is poor, and sometimes it’s the other way around. In addition, there are often scenarios where the signal seems strong, but the actual packet loss rate is high, such as connecting to a public Wi-Fi that can’t access the internet.

The solution to these problems is to use both 5G and Wi-Fi to send data at the same time. Here 5G is a general term for the operator’s cellular network, including 4G. The simplest way is to send each data packet twice through 5G and Wi-Fi, but this obviously wastes twice the bandwidth, and also wastes more 5G traffic when the Wi-Fi signal is good. Therefore, Link Turbo continuously measures the performance of each wireless channel and decides how to distribute data among various wireless channels, and whether to use the method of FEC coding to redundantly send data.

There is an important problem with letting traffic go through Wi-Fi and 5G at the same time, that is, how does the server know that the packets coming from these two paths are from the same connection? From the server’s point of view, the public IP of the same mobile phone’s Wi-Fi and 5G is almost certainly different. In the last chapter, QUIC has a Session ID, which can support connection migration, but it is not thorough enough and cannot support packets arriving from two source IPs at the same time. To solve the problem of splitting a connection into multiple sub-connections, a key technology is MP-TCP (Multi-Path TCP).

The ideal situation is as shown in the left figure, where the gateway of the server or data center supports the MP-TCP protocol, so that multiple sub-connections split by the mobile terminal can be aggregated at the server or gateway. However, the fact is that although MP-TCP has been standardized for a long time and has entered the Linux kernel, many servers and cloud vendors’ gateways have not enabled it. Therefore, this deployment form is only effective for specific applications that support MP-TCP on the server side.

How can applications use MP-TCP to solve the “last mile” problem of wireless networks when the server or cloud gateway does not support MP-TCP? The proxy in the right figure is a possible deployment form. The application or terminal operating system sets up a proxy server deployed by the operator at the edge or city data center, aggregates and terminates MP-TCP on the proxy, and then connects to the real server through the standard TCP protocol. This solution is applicable to any application, but the bandwidth and other costs of the proxy server are relatively high.

As you may already know, the bandwidth of wireless networks is now very high, reaching or even exceeding many wired networks. For example, the theoretical rate of Wi-Fi 6 can reach more than 1 Gbps. The average downlink speed of 5G measured by speed testing tools reaches 335 Mbps, which is 10 times the average downlink speed of 4G; the average uplink bandwidth of 5G is not as high as the downlink, but it has also reached 70 Mbps, this uplink and downlink asymmetry is inherent in 5G eMBB. In contrast, although the home broadband in big cities is often hundreds of Mbps or even up to Gbps, the average downlink bandwidth nationwide is only 94 Mbps. That is to say, the average speed of 5G has exceeded home broadband. The biggest obstacle to transmitting large amounts of data using 5G is the cost of traffic, which has not yet fallen to the same order of magnitude as wired networks.

As our pipelines get bigger and bigger, fully utilizing the pipeline may not necessarily be the most critical. What’s more important is to achieve “quasi-deterministic” delay and bandwidth to improve service quality. This is the same as the idea of traffic scheduling in data centers, whether it is to prioritize sending small flows, or to use the concept of coflow to jointly optimize the completion time of a group of flows, in wireless networks, more information from applications is also needed to better schedule traffic.

In the section on end-cloud networks, we mentioned a problem, that the current congestion control protocol has difficulty sensing the actually available bandwidth, so the performance of slow start and burst traffic is not good. If we make a bold assumption that in most end-cloud transmissions, the wide area network and data center network are not the bottleneck, then the main bottleneck is the wireless access network. At this time, as long as the hardware estimates the available bandwidth based on signal strength, interference, the number of shared terminals, etc., it can estimate the maximum available bandwidth for end-cloud transmission. If multiple applications access the network at the same time, an intelligent scheduling service can also be done on the terminal, scheduling based on Quality of Service (QoS) information, instead of letting each connection independently compete for shared wireless bandwidth.

At least within the range of home local area networks, the bandwidth of wireless networks has reached the Gbps level, which can form a high-bandwidth, low-latency home distributed system. The bandwidth of the data center is at the 100 Gbps level, the delay is at the microsecond level, and the bandwidth of the terminal wireless network is at the Gbps level, and the delay is at the millisecond level. But considering that the computing power of the terminal CPU is far lower than that of the server CPU, the Gbps-level bandwidth already occupies a lot of CPU resources of mobile terminals such as mobile phones using the traditional TCP/IP protocol stack. Therefore, we can’t reach the nominal gigabit forwarding bandwidth after buying some relatively cheap home routers. Due to the power consumption limit of the terminal CPU’s sleep mode, the delay of the TCP/IP protocol stack has also reached the millisecond level, exceeding the delay of the baseband chip and wireless air interface, so it is also worth optimizing.

Therefore, we are also trying to extend the memory semantics from the data center to the terminal, so that the wireless network card of mobile terminals such as mobile phones supports RDMA-like memory semantics, thereby reducing the overhead of the software protocol stack. Our published WIP paper shows that assuming that the wireless network card supports memory semantics, the terminal power consumption occupied by the TCP/IP protocol stack is significantly reduced, with the client reduced to 1/3 and the server reduced to 1/5. We hope that future wireless network card chips can truly implement wireless memory semantics.

Speaking of this, I remember an exploratory question I thought about during my PhD, is it possible for an array composed of some mobile phone SoC chips to reach the computing power equivalent to a server CPU or GPU? After our evaluation, we found that if the task to be calculated is easy to parallelize, then using mobile phone SoC chips even has a certain cost-performance advantage. This is like a famous paper in the system field “FAWN: A Fast Array of Wimpy Nodes“, which uses some weak nodes to form a high cost-effective storage array. But if the task to be calculated is not easy to parallelize, such as training or inference of larger deep learning models, then the key bottleneck is the communication between SoCs.

Mobile phone SoCs are not like PCIe cards on servers that can be freely combined through wired connections, they can only form loosely coupled systems through limited-performance wireless interfaces. But we don’t really need to use a bunch of mobile phone SoC chips to replace NVIDIA A100. For many distributed applications in smart homes, the wireless performance of Wi-Fi 6 is already sufficient. As long as we arrange the AP reasonably and fully utilize the theoretical performance of wireless, the “home data center” will gradually become a reality.

5G to B

When it comes to 5G, many people think it is only for the consumer sector. In fact, the application scenarios of 5G in the B-end are much broader. Here, I will briefly list a few scenarios as examples.

In ports, container stacking is carried out by gantry cranes, which traditionally require operators to climb to the high control room on top of the crane and look down at the container stack for operation. Long-term bending work can easily lead to lumbar muscle strain for the operators. With 5G technology, the real-time images of the control room are transmitted to the central control room, and the operators can control the precise movement of the gantry crane while sitting in the office.

Such real-time control requires a delay of 10 milliseconds, which cannot be met by traditional 4G technology. The coverage distance of Wi-Fi is too short to meet the demand for remote control of several hundred meters. At the same time, the port scenario requires a higher uplink bandwidth for 5G, because real-time high-definition images need to be uploaded from the gantry crane to the central control room via 5G. This is a different requirement from the consumer sector where the downlink bandwidth exceeds the uplink bandwidth.

In the mining scenario, coal miners work very hard and often face danger. Our ideal is to let miners remotely control operations “in suits and ties”. First, miners need to remotely control unmanned mining vehicles, some of which operate on the surface as shown in the picture, and some mine in underground coal seams. Secondly, various sensors inside the mine are needed, including images, harmful gases, wind speed, pressure, temperature and humidity, etc. Finally, perimeter security monitoring in the mining area is also needed.

Similar to the port scenario, real-time control in the mining scenario also requires a delay of 10 milliseconds, and the demand for uplink bandwidth is also higher than that for downlink bandwidth.

In the railway scenario, the first requirement is for smart locomotive maintenance, that is, the train operation monitoring system (LKJ), locomotive onboard safety protection system (6A), and train network control system (TCMS) on high-speed trains collect information including audio and video, various sensor data, etc., and upload it to the base station next to the track through the onboard gateway, then it is wired to the railway bureau control center and stored persistently. The bandwidth required for a train is as high as 1.5 Gbps or more, and it needs to be sent continuously on high-speed trains running at 350 km/h, which is a great test for 5G uplink. For this reason, the antenna of the train’s onboard gateway has developed an automatic base station alignment mechanism to achieve high-speed transmission in high-speed motion scenarios.

With an efficient vehicle-to-ground communication mechanism, in addition to smart locomotive maintenance, it is also expected to solve the problem of poor operator signals on high-speed trains, and provide passengers with a better Internet experience through onboard Wi-Fi and other means.

In addition, illegal intrusion into railway lines has always been a security risk. The perimeter intrusion detection system can detect intrusions through radar, video, etc., and upload them through the base station next to the track.

The above few 5G to B applications are actually within the scope of the Internet of Things. At present, the Internet of Things is very popular in academia, but many students’ understanding of the Internet of Things is limited to simple control systems and sensors such as cameras, door locks, switches, temperature and humidity sensors in smart homes, so it is difficult to think of challenging problems. To do a good job in IoT research, you must go deep into the industry, and the sensors in industries such as manufacturing, ports, mines, railways, airports, forests, etc. are dazzling, and many of the performance requirements are very demanding, and there are many problems worth studying.

Satellite Communication

Recently (September 2022), the latest mobile phones released by Huawei and Apple both support satellite communication, coupled with Musk’s Starlink, satellite communication has become popular again. Satellite orbits are divided into vLEO, LEO, MEO, GEO, etc. according to the orbit height. In the field of satellite communication, “occupying frequency to keep orbit” is very important, because communication frequency and satellite orbit are scarce resources, first come first served. Therefore, various countries are rushing to build satellite constellations. Although the Iridium of the last century failed commercially, its frequency and orbit resources are still very valuable.

  • 100 kilometers is the Karman line, and below that is the airspace of various countries.
  • 100~500 kilometers is the Very Low Earth Orbit (VLEO), this interval is mainly used for high-definition image satellites, cellular communication supplements, and exploratory verification of 6G communication.
  • 5002000 kilometers is the Low Earth Orbit (LEO), mainly used for military and communication, such as the earliest Iridium, now Musk’s Starlink, Apple’s satellite communication used Globalstar, and Amazon’s Kuiper, all in this interval. This interval is relatively crowded, there are more than 4000 stars in low orbit, and the time to orbit the earth is 1.54 hours. The advantage of low-orbit satellites is that the launch is relatively easy, the communication delay is short (510 ms), it can use the relatively idle tens of GHz Ka and Ku bands for communication, and handheld devices can achieve communication with a power of 1W. The disadvantage is that the time over the service country and region is short, only 58 minutes, and the Doppler frequency shift is quite serious.
  • 2000~10000 kilometers is the Medium Earth Orbit (MEO), mainly used for land-based communication supplements and maritime communication, there are currently more than 200 stars worldwide, and the time to orbit the earth is 12 hours.
  • Above 10000 kilometers is the High Earth Orbit (HEO), which includes the Geostationary Earth Orbit (GEO) at about 36000 kilometers. Satellites on the GEO orbit are stationary relative to observers on the ground, so the antennas communicating with them do not need to move. HEO/GEO is mainly used for positioning and navigation. For example, China’s Beidou is composed of constellations at 21,000 kilometers and 36,000 kilometers, the US GPS is composed of 24 satellites at 19,000 kilometers, and Europe’s Galileo is a constellation at 24,000 kilometers. There are currently more than 500 stars worldwide. Huawei’s mobile phone satellite communication is based on Beidou’s short message service. The advantage of HEO/GEO is long service time, the disadvantage is that the rocket technology required for launch is high, the communication delay is high (HEO is above 200 ms, GEO is above 250 ms), handheld devices generally need a transmission power of 5W to achieve communication, and due to the absorption of high frequency by the atmosphere, it can only squeeze the 1~4 GHz L/S band with the ground base station wireless network.

The above divisions into ultra-low orbit, low orbit, medium orbit, and high orbit are quite subjective, and there is no clear physical boundary. For example, some people consider the 21,000-kilometer orbit of Beidou to be a medium orbit (MEO).

Currently, direct satellite communication with mobile phones can only be used in emergency rescue scenarios, not for daily phone calls or web browsing. The main reason is that the transmission power required for satellite communication is too high. For example, traditional satellite phones are 2W, with a large external antenna, and the butterfly antenna (large pot) is 4W, while the transmission power allowed by consumer electronic terminals is only 0.2~0.4W, because too high transmission power has an impact on health. Therefore, to provide the same communication capability as traditional satellite phones on ordinary mobile phones with lower transmission power requires high technology.

Mobile phones that support satellite communication first send data to the satellite, which is forwarded to the ground station. The ground station is a large pot fixed on the ground, its power is much larger than that of the general butterfly antenna, so the bandwidth can reach the level of Gbps. Then the ground station forwards it to the core network. Starlink also proposed using laser communication between satellites to forward data to areas not covered by the ground station. But no matter how it is forwarded, the construction cost of the ground station is far more than that of the operator’s base station, so the massive mobile network bandwidth demand in big cities still needs to be mainly based on terrestrial cellular networks.

HarmonyOS Distributed Super Terminal

As wireless performance approaches wired, the concept of a home data center becomes possible. We hope to form a “distributed super terminal” with various devices in the home, which can seamlessly transfer data and services between various terminals from the user’s perspective, and developers can use a unified API for development without worrying about the details of communication.

The concept of HarmonyOS distributed super terminal includes 1+8+N, where 1 is the mobile phone; 8 are various smart devices, currently including PC, tablet, TV, audio, glasses, watch, car machine in smart driving, headphones; N is multiple scenarios, including mobile office, smart home, sports health, audio and video entertainment, smart travel, etc.

The communication in the distributed super terminal is mainly through the distributed soft bus, where “soft” means implemented by software. The concept of the soft bus has a long history, for example, Linux’s D-Bus is a kind of soft bus, used for inter-process communication. HarmonyOS’s distributed soft bus extends the concept of the bus to the entire home distributed system. Its main challenges are:

  • A large number of devices;
  • Complex connection methods between devices, and due to the structure of the house, there are also many problems with wireless signal interference, attenuation, and occlusion;
  • Making the interconnection and intercommunication between devices more reliable and secure;
  • Optimize service quality and reasonable scheduling based on business and network status.

HarmonyOS distributed soft bus supports four basic capabilities: discovery, connection, networking, and transmission.

  • Discovery refers to device discovery, how to find all terminal devices in the entire network. Discovery is not as simple as it seems. For example, active RFID tags, in order to save battery power, cannot continuously send signals, but can only send them periodically; and mobile phones, in order to save power, cannot continuously scan RFID tags, but scan for a period of time every interval. So what kind of cycle should RFID tags and mobile phones use to send and scan signals? This is very particular.
  • Connection refers to connecting surrounding communication devices through the distributed soft bus. A device may have different communication capabilities such as Wi-Fi and Bluetooth at the same time, and Wi-Fi also has different frequency bands, so how to choose the appropriate communication medium, and how to dynamically switch when the signal is poor?
  • Networking refers to forming a dynamic network with distributed devices of different capabilities and characteristics. A smart home device may be able to connect to a wireless AP via Wi-Fi, or it can connect to a mobile phone via Bluetooth. These two connections need to identify the same smart home device, and other mobile phones need to be able to control this smart home device. This requires each device in the network to have the ability to register and authenticate uniformly, and to address and route uniformly. When business needs, a communication channel between any two devices needs to be established.
  • Transmission refers to the transport layer, including congestion control, packet retransmission, quality of service assurance, etc., providing appropriate transport layer protocols based on the communication medium on the link and business load.

We just talked about the four basic capabilities of HarmonyOS distributed soft bus, next we will talk about its interface for application developers, that is, communication primitives. I won’t talk about specific APIs here, just the four basic types of communication primitives.

  • Message: Used for short data with extremely high real-time and reliability requirements, such as control instructions.
  • Byte: Used for basic business data transmission with low latency requirements, similar to TCP socket.
  • File: Mainly used for file transfer and synchronization between devices. It usually requires a large transmission bandwidth, but the real-time requirement is not high. HarmonyOS provides an abstraction of a distributed file system, which can open a remote file and read and write it. In traditional smart homes, only NAS devices that provide protocols like NFS can achieve file sharing. In HarmonyOS, any file can be shared and accessed, and a unified permission management mechanism is provided. In scenarios where real-time synchronization is not required, you can first write to a local copy and then synchronize to the source device at an appropriate time.
  • Stream: Generally used for audio and video stream transmission, which requires high bandwidth and low latency. This is different from the byte stream similar to TCP socket. Audio and video streams are divided into many frames. We also talked about the differences between different frames and audio and video streams in the last chapter, so its structure is more complex than sequential byte stream transmission.

The four communication primitives of the distributed software bus are somewhat similar to the data center memory semantics (messages, remote memory access, RPC) we talked about earlier, but they are not exactly the same. Data center memory semantics do not distinguish the priority of different semantics, and different transactions of each semantics can have priority distinction; while the different communication primitives of the HarmonyOS distributed software bus inherently have different priorities.

Next, we will illustrate the application scenario of the HarmonyOS distributed software bus through an example. This scenario is to use the picture-in-picture function of the TV screen as the cat’s eye of the smart door lock. When the doorbell is pressed, the door lock needs to discover the TV that supports the picture-in-picture function, and then establish a high-speed transmission channel from the camera on the door lock to the picture-in-picture on the TV screen. The detailed steps are as follows:

  • Step 1: After the smart door lock is powered on, the distributed software bus starts the discovery process.
  • Steps 2, 3: After the distributed software bus discovers the smart screen device, it starts the networking process and completes the trusted authentication between the smart door lock and the smart screen.
  • Steps 4.1, 4.2, 4.3: The distributed software bus reports to the smart door lock and the smart screen that the other device is online.
  • Steps 5, 6: When the guest presses the doorbell, the door lock business of the smart door lock requests the distributed scheduler to start the picture-in-picture of the smart screen.
  • Step 7: The distributed scheduler of the smart door lock encapsulates the “start picture-in-picture” instruction into a message, and requests the distributed software bus to send this message to the distributed scheduler of the smart screen.
  • Steps 8, 9: The distributed software bus sends the “start picture-in-picture” instruction to the distributed scheduler of the smart screen through the message transmission function.
  • Step 10: After the distributed scheduler of the smart screen receives the “start picture-in-picture” instruction, it starts the picture-in-picture FA (Feature Ability, meta-service).
  • Step 11: The door lock business of the smart door lock requests the distributed software bus to transmit the captured camera image to the picture-in-picture of the smart screen.
  • Steps 12, 13: The distributed software bus sends the camera image from the door lock side to the smart screen through the stream transmission function. After the picture-in-picture of the smart screen receives the camera image from the door lock, it plays it in the picture-in-picture FA (meta-service).

The distributed software bus provides the abstraction of “distributed variables”, which is convenient for developers to do distributed programming. Distributed variables can be regarded as “global variables” in the HarmonyOS distributed super terminal.

For example, when watching videos on TV or tablets, there are control attributes such as playback status, progress, volume, and speed. These attributes can be controlled on other smart devices such as mobile phones. This is the so-called multi-end control. Its implementation principle is distributed variables.

Unlike traditional shared memory, distributed variables are not based on memory addresses, but on objects. Each object uses a session ID and object ID for indexing. Object-based has many advantages over distributed shared memory. First, it avoids the atomicity problem of memory allocation and concurrent access in distributed shared memory. All object accesses are handled by the object management node. Secondly, accessing at the object granularity is more efficient than accessing at the byte granularity. Finally, the cost of distributed cache consistency for caching at the object granularity is lower.

In addition to providing basic read and write capabilities, distributed variables also provide a notification mechanism, which is also very critical in distributed systems. Distributed objects provide the ability to listen to data changes, and can perceive other objects’ changes to shared object data; they also provide the ability to listen to state changes, and can perceive the events of adding and deleting objects within the session. For example, when the volume is modified by other terminal devices, the device playing the video needs to perceive the modification of this distributed variable and notify the speaker to modify the volume.

With the distributed software bus as the foundation, smart devices in the home can be combined into a HarmonyOS distributed super virtual terminal, supporting distributed device virtualization, distributed data management, distributed task scheduling, and one-time development for multi-end deployment.

Distributed device virtualization is to virtualize one device into another device, such as virtualizing a smart screen into a mobile phone, or virtualizing a mobile phone into a game controller. In the video call scenario, in order to answer video calls while doing housework, you can connect your mobile phone and smart screen, and virtualize the screen, camera, microphone, and speaker of the smart screen into local resources, replacing the screen, camera, microphone, and speaker of the mobile phone, so that you can do housework and video call through the smart screen at the same time. In the game scenario, you can virtualize the mobile phone into the remote control of the smart screen, use the gravity sensor, acceleration sensor, and touch screen of the mobile phone, and use the mobile phone as a game controller.

Screen casting of mobile phones is not a new technology. There are currently three mainstream screen casting protocols: DLNA, Airplay, and Miracast. We support existing protocols to be compatible with non-HarmonyOS ecosystem devices, and at the same time develop our own distributed device virtualization protocol to achieve general device virtualization capabilities beyond video streams, voice streams, and control streams, and can make full use of wireless bandwidth to adapt to the changing wireless network environment.

Distributed data management is to share data between multiple screens. Different from distributed variables, it can provide higher-level conflict resolution and data indexing capabilities, implement add, delete, modify, query and subscription capabilities, and also support data encryption and access control. For example, in a collaborative office scenario, you can cast documents on your mobile phone to the smart screen. But this is not a simple video casting, but opening this document on the document collaborative editing application on the smart screen using the distributed data management method. When various document editing operations are performed on the smart screen, the latest status of the document can also be synchronized to the mobile phone. Mobile phones and computers can also operate documents at the same time, and the document collaborative editing application resolves conflicts through the distributed data management framework. In the photo sharing scenario, multiple mobile phones, smart screens, tablets, etc. can share photos through the home local area network without uploading photos to the cloud, which can greatly speed up the speed of photo sharing, while ensuring security by logging in to the same account.

Distributed task scheduling is the migration of an application between different HarmonyOS devices. For example, after getting in the car, the navigation app on the phone is migrated to the smart car’s vehicle machine, using the car’s large screen and car speakers for convenient control. After getting off the car, it is migrated back to the phone. Note that this is not achieved by screen casting from the phone. In the takeaway scenario, you can migrate the order information from the phone to the watch, so you can check the delivery status of the takeaway at any time. Note that at this time, a sub-task of the takeaway app is running on the watch, not the takeaway app pushing the status information to the watch.

We can see that some of the requirements for HarmonyOS device distributed collaboration can be solved by distributed device virtualization (which is an enhanced version of phone screen casting), distributed data management, and distributed task scheduling. Which solution to use depends on the application’s requirements. For example, if the navigation app on the phone is projected to the vehicle machine using the phone screen casting method, then the navigation app will continue to consume the phone’s power, and screen casting itself will also consume power; if the application is migrated to the vehicle machine using the distributed task scheduling method, although the migration process will consume a few seconds to transmit application status data (through incremental migration technology similar to virtual machine migration, the application’s pause time can be achieved at the sub-second level), it will no longer consume the phone’s power during navigation. Document collaborative editing can also be implemented using phone screen casting or distributed data management, but the user experience of the document editing app on the phone in the phone screen casting solution may not be good.

Develop once, deploy on multiple ends is also a typical feature of the HarmonyOS ecosystem. It supports development using ArkTS (TypeScript), JavaScript, and Java languages, provides a wealth of polymorphic components, so that different UI effects can be displayed on phones, tablets, smart wearables, smart screens, and vehicle machines, provides grid layout and responsive layout, just like many of our current web front-end frameworks, can display with appropriate layouts on PC and mobile ends. In addition to responsive UI layout, another challenge of running the app on multiple devices is that different devices have different hardware resource and power consumption requirements, for example, the requirements of the watch are much more stringent than the phone. HarmonyOS supports flexible deployment on multiple terminal devices as needed through componentization and miniaturization design methods, adapting to different hardware resources and functional requirements.

All the above knowledge about HarmonyOS distributed super terminal can be found in the HarmonyOS developer community. If you are interested, you can further study HarmonyOS’s API and develop your own applications on HarmonyOS-supported smart devices.

Chapter Summary

The above is the content of the wireless network part.

Seamless collaboration of smart terminals such as mobile phones, PCs, wearable devices, smart homes, smart cars, 5G to B and other industrial Internet applications all require stable low latency and high bandwidth, which requires wireless protocol stack optimization, and even wireless memory semantics to support Gbps level bandwidth. In addition, through the HarmonyOS “distributed super terminal” programming framework, more closely distributed collaboration can be enabled, realizing seamless data and service flow.

Conclusion

Today, we talked about some of the latest developments in the data center, wide area network, and wireless network fields. From “treating the data center as a supercomputer”, “national integrated big data center” to “HarmonyOS distributed super terminal”, the network is a very critical part of it. In the past, we thought that the bus was just a high-speed interconnection hardware inside a single server or a single device, but now the high-performance data center network and HarmonyOS distributed soft bus have blurred the boundaries of servers and terminal devices, “bus networking” and “network bus” have become historical trends. The future hardware bus needs to absorb the design of the network field in order to expand to a larger scale, and the design of network and communication primitives needs to absorb the idea of high-speed bus to improve performance.

I believe that the two major driving forces for innovation in the network and system fields are application requirements and hardware capabilities.

  • Nowadays, in the data center field, AI, big data, high-performance storage, scientific computing, etc. have a demand for computing power and storage capacity that grows faster than Moore’s Law, which requires us to need larger and larger clusters to do distributed parallel computing, and the network is the key bottleneck. In the terminal field, industrial Internet, AR, VR, high-definition real-time audio and video, distributed collaboration and other applications also put forward new requirements for the bandwidth and latency of the wide area network and wireless network, especially stable bandwidth and latency.
  • In terms of hardware capabilities, the performance of the network has not yet peaked: even if the data center network uses RDMA, there is still a huge gap between its performance and that of high-speed buses such as NVLink; the router switching performance of the wide area network is far from reaching the upper limit of fiber optic capacity; the terminal field’s Wi-Fi 6, millimeter wave, satellite communication, etc. also have a huge potential for digging.
  • Looking at the software, in fact, the heavy software protocol stack and backward transmission protocol cannot fully utilize the capabilities of the existing hardware, whether it is the data center or the wide area network, the kernel’s TCP/IP protocol stack has wasted several times to tens of times the hardware capabilities. This is because the traditional network protocol stack runs on general-purpose processors, assuming that the computing power of general-purpose processors grows according to Moore’s Law, but this is no longer the case. With the rapid growth of heterogeneous computing power and storage performance, the network protocol stack is increasingly becoming a bottleneck, so it is necessary to design software and hardware together, redefine communication primitives, that is, redefine the division of responsibilities between software and hardware.

Therefore, I believe that computer networking has also entered a golden age, where there are countless problems waiting for us to explore together, especially the software part, software and hardware co-design and software protocol stack optimization will be important topics for the next 10 years.

The three driving forces of the computer system are computing, storage, and networking. As part of the system infrastructure, the network is often only remembered when it is broken. As long as an application is down, people often think of network problems first. This shows that our network is not robust enough, and the ability to locate faults and self-heal faults is not strong enough. But I believe that the reliability problem of the network can definitely be solved. Just 20 years ago, we often had to find places to go online. Today, the network is almost everywhere, but poor signal is still common. In the future, network outages may become rare accidents. Even a hundred years from now, I believe that the network will still serve as the cornerstone of the computer system, becoming the silently dedicated force behind the intelligent world of Internet of Everything.

We are basically studying the problems in data center, wide area network, and terminal wireless network communication, and we have some preliminary results, but they have not been officially released yet, so what I am talking about today are some existing technologies in the academic and industrial world. Students who are interested are welcome to intern or work in our Computer Network and Protocol Laboratory. We have a very strong team, undertaking the R&D work of the company’s strategic projects, and I believe that the technology is world-leading.

(The end of the full text)

Comments