Bojie Li
2013-07-24
As per the requirements of the Microsoft Scholars Program, I am to provide some suggestions for Bing’s products. I noticed that at MSRA, it seems that most people use Google. Why don’t they use Microsoft’s own Bing? Here are some technical comparisons.
Exact Matching Capability
The search keyword is “b4: experience with a globally-deployed software defined wan”, which is a paper from SIGCOMM 2013, announced around June.
In Google, only three keywords were entered, and the autocomplete has already come out. The first result is the paper itself, the second is the official SIGCOMM website, and all 10 results on the first page are relevant.
2013-07-23
USTC mainly has four outbound routes: Education Network (CERNET), Telecom, Mobile, and Unicom.
These four exits each have their own characteristics, let’s go through them one by one:
Education Network
- The full name of the Education Network is “China Education and Research Computer Network” (CERNET), which connects universities and research institutions nationwide. The main node is in Beijing (the headquarters is in Tsinghua Science Park, next to Google), and USTC is the core node in Anhui Province.
- IPv4 bandwidth 2G
- IPv6 bandwidth 2G, relatively loose (Liuwei is IPv6, very fast)
- The north-south interconnection within the Education Network is quite congested during the day, and the network is more smooth at night. The north-south interconnection problem of other operators may be more serious.
- Access to other domestic operators and foreign countries is very slow
- The routing path on the network is not necessarily the shortest geographically, for example, the traffic from USTC to Beijing may have to go through Shanghai.
- Access to IPs outside the “free addresses” defined by CERNET is charged by traffic. Although it does not charge us directly, try to save money for the school :)
- Everyone is advised to use IPv6 when accessing resources within the Education Network
2013-06-24
Note: The following content is purely from memory. As it has been over a month, accuracy is not guaranteed. Since no confidentiality agreement was signed before the interview, this article reveals quite a lot of details. If there is any inappropriate content, please contact bojieli AT gmail.com.
Originally, I wanted to secure a research position and work hard in a startup team. I didn’t think about going to MSRA… Therefore, it wasn’t until a few days before the application deadline that I learned about this news from my class teacher. The teacher said there was a “Microsoft Scholar” award, which was worth 5000 yuan. I thought with so many scholarships, I definitely wanted it. So I rushed to write a two-page Resume with MS Word one night, went to the academic secretary’s office to get a transcript the next day, and submitted the application one day after the deadline. It was only later that I found out that this “Microsoft Scholar” was tied to the “experimental class” to some extent, but I haven’t received any news about that scholarship yet.
According to the email recipient list, about 67 people signed up for the Microsoft experimental class. The interview was in the afternoon. About a week before the interview, a teacher from the West District contacted me, saying that there was a researcher named Ma Yi, who was very good at image processing and wanted to recruit a student from the Youth Academy. He said that my project experience and hands-on ability were good, but my math grades were not good, and he was worried about whether I could do it. He could give me a chance for a separate interview. He said he didn’t care about your overall GPA, what he cared more about were the grades of math courses and professional courses. He asked me to look at one of Dr. Ma Yi’s representative works, not only to understand it but also to grasp its essence. When I came back and looked at it, it was a general algorithm that decomposes a matrix into the sum of a sparse matrix and a low-rank matrix, which can be used for image denoising, video surveillance, etc. I only understood so much, and I couldn’t understand the complex derivation of the matrices in the middle at all. I thought this opportunity should be left to students majoring in mathematics.
2013-05-14
GNU (GNU’s Not Unix) Project
Launched publicly by Richard Stallman on September 27, 1983, the goal is to create a completely free operating system. The GNU project has contributed many top-notch software, including GCC, Emacs, etc.
2013-05-13
Yesterday, a bizarre thing happened to mirrors.ustc.edu.cn. Mirrors has three access lines, with IPs 202.38.95.110, 202.141.160.110, and 202.141.176.110 respectively. Mirrors-lab is an LXC virtual machine on mirrors, with three IPs: 10.8.95.2, 10.8.140.2, 10.8.10.2.
On the mirrors host, iptables is configured to directly map the 50000~51000 ports on the host to the virtual machine:
1 | -A PREROUTING -p tcp -d 202.38.95.110 -m multiport --dports 50000:50100 -j DNAT --to 10.8.95.2 |
The rsync daemon is running on port 50000 of the virtual machine, but only rsync://202.38.95.110:50000 can be accessed, the other two IPs are timed out. The bizarre thing is, we captured packets with tcpdump on the mirrors virtual machine and host, it seems that SYN has been received, and ACK packets have also been sent out. Tcpdump captures inbound packets before netfilter, we captured the physical network card eth0, inbound packets should not have reached iptables when they were captured, and outbound packets have passed iptables when they were captured. Even more bizarre is that on the blog server, which belongs to the same network segment as mirrors, all three IPs are accessible normally. Why can’t the reply packets be sent out of the local network?
2013-03-19
Please read first: About Open Source Software Mirror Alliance (Non-Technical Part), thank you
I. DNS or 301?
Update: I previously misunderstood DNS’s CNAME, now corrected. Reference: https://tools.ietf.org/html/rfc3568
DNS solution (if I’m wrong, feel free to correct me):
Assign a secondary domain name to each mirror for separate scheduling; set NS record to the main site
User queries IP from ISP DNS
The main site returns one or more IP addresses of mirror nodes based on the source IP (ISP DNS’s IP)
ISP DNS returns this IP to the user, and caches it for a certain period
User establishes a connection with the mirror node and downloads
301 solution:Domain A record resolves to the main site
User establishes a connection with the main site and initiates an HTTP request
The main site returns HTTP 301 status based on the user’s source IP, redirecting to a mirror node
User establishes a connection with this mirror node and downloads
2013-03-19
Terminology: (It feels quite awkward)
- Mirror: Like Ubuntu, CPAN, PyPi, etc.
- Mirror site: An open source mirror site at a university, each mirror site hosts several mirrors
- (Mirror) Node: Each mirror site that hosts the same mirror
Mirror Alliance Maintainers:
Following the Debian development model, the maintainers of the Mirror Alliance can be divided into Mirrors Maintainer and Mirrors Developer. Mirrors Developer are core developers who have maintenance access and decision-making voting rights on the main site of the Mirror Alliance; anyone involved in the development and maintenance of the Mirror Alliance can apply to become a Mirrors Maintainer.
2012-11-27
Welcome to USTC Blog. USTC Blog, after much anticipation, is finally online! This is a moment worth celebrating, but it also means that we will be continuously battling with bugs and features in the coming days.
Just daydreaming, when can the blog reach the traffic volume in the following picture?
The above picture is the traffic graph of mirrors.ustc.edu.cn
2012-11-27
Bojie Li is currently the Co-Founder and Chief Scientist of Pine AI. Bojie Li previously served as an Assistant Scientist and Associate Chief Expert at Huawei 2012 Labs/Central Software Institute/Distributed and Parallel Software Lab/Computer Network and Protocol Lab. In 2019, Bojie Li obtained his Ph.D. in Computer Science from the joint doctoral program of University of Science and Technology of China and Microsoft Research Asia, supervised by Prof. Lintao Zhang and Prof. Enhong Chen. He has published multiple papers at top conferences such as SIGCOMM, SOSP, NSDI, ATC, and PLDI, and has received the ACM China Doctoral Dissertation Award and the Microsoft Research Asia Ph.D. Fellowship Award.
2012-11-27
Past Research Projects
FastWake bridges the performance gap between interrupt and polling in RDMA by redesigning interrupt-mode RDMA host network stack using commodity RDMA hardware, Linux OS, and unmodified applications. Published in APNET’23.
AKG (Auto Kernel Generator) is a tensor compiler for NPUs. AKG leverages polyhedral schedulers to perform a much wider class of transformations, and extends the semantics of the polyhedral representation to combine complex tiling techniques and hierarchical fusion strategies. Published in MICRO’20 and PLDI’21.
1Pipe is a causal and total order communication primitive to scatter groups of messages via data center network. With in-network computation using Barefoot or Arista switches, 1Pipe achieves scalability and high performance with low CPU and network overheads. Published in SIGCOMM’21.
SocksDirect is a high performance user-space socket system that is compatible with existing applications and preserves isolation among processes, while being scalable to multiple cores. Performance close to RDMA and shared memory. Published in SIGCOMM’19.
KV-Direct is a high performance key-value store that leverages programmable NIC to extend RDMA primitives and enable remote direct key-value access to the main host memory. A single NIC achieves 180 million key-value operations per second while keeping tail latency below 10µs. Published in SOSP’17.
ClickNP is a highly flexible and high-performance network processing platform with reconfigurable hardware. Completely programmable using C-like language and Click-like modular programming abstraction. Process packets at up to 200 million packets per second with less than 2µs latency. Published in SIGCOMM’16.
FTRouter is a fault-tolerant software architecture for SDN routers, which allows any component to fail or upgrade without interrupting data plane, and the control plane can automatically recover. Dissertation for Bachelor’s Degree.
Participated Research Projects
MP-RDMA is a multi-path hardware-based transport for RDMA, which efficiently utilizes the rich network paths in datacenters, and optimizes for limited on-chip memory in RDMA NICs. Published in NSDI’18.
MELO is a memory efficient loss recovery mechanism for hardware-based transport in datacenters. Up to 14x throughput and 3x less 99% tail FCT with only 23B per-flow state. Published in APNet’17.
FUSO is a novel loss recovery approach that exploits multi-path diversity in datacenter networks. Recovery packets are sent over another sub-flow that is not or less lossy. Published in ATC’16.
Feniks is an operating system for FPGA to facilitate large scale FPGA deployment in datacenters. Provides abstracted interface, direct PCIe device access and resource allocation. Published in APSys’17.
Preliminary Research Projects
FTLinux is a transparent and efficient fault tolerant system for general distributed applications on commodity Linux servers. Efficient mechanisms for process migration, deterministic replay and distributed snapshots. Negligible latency and CPU overhead, fast recovery.
ReactDB is a real-time hybrid HTAP and streaming database that offers serializability efficiently. First, each stored procedure transaction is reactive to updates from other concurrent transactions. Second, physical data layout and indexes are reactive to data access pattern.
RDMA NICs have limited memory to store per-flow states. We design a stateless hardware-based transport in data center networks. Instead of storing per-flow states on endpoints, the states are piggybacked by network packets and keep bouncing between two endpoints.
P4Coder is a system to automatically synthesize hardware-accelerated data plane in P4 language by learning the behavior of an existing software network application. Capable of synthesizing data plane of firewall, TCP, key-value store, Paxos and more.
A transparent PCIe bump-in-the-wire debugger and gateway with a commodity FPGA-based PCIe board. Spoofs PCIe devices and corresponding OS drivers to proxy MMIO and DMA traffic via the PCIe gateway.
A library to transparently hide offloading latency by executing non-conflicting work for existing event-driven concurrent applications.
Selected Engineering Projects
icourse.club is a website for USTC students to rate and review courses. Since May 2015, icourse.club has gained 6,000+ users, who generated 16,000+ high-quality reviews and ratings for 2,800+ courses in USTC. It is open source on GitHub under GNU Affero General Public License.
A scalable and efficient architecture for RSA encryption/decryption on FPGA to accelerate HTTPS handshake. Throughput equivalent to 20 CPU cores.
LUG VPN is a smart global VPN network to enable students efficiently access every host across the Internet from any network location. Users connect to an access gateway nearby, which selects an egress gateway close to destination, forwards to the egress gateway via optimized tunnel.