Tinkering with Systems, Boosting Their Performance by 10 Times
(Reprinted from Microsoft Research Asia)
The international academic conference on computer system architecture, SOSP 2017 (Symposium on Operating Systems Principles), is currently being held in Shanghai. As one of the top academic conferences in the field of computer systems, if a paper is fortunate enough to be included, its influence is self-evident. Not long ago, a paper on memory key-value storage by Bojie Li, a doctoral student jointly trained by Microsoft Research Asia and the University of Science and Technology of China, was included in the conference. For most people outside the computer industry, “memory key-value storage” is a blind spot in brain knowledge, a deep sea for the ship of curiosity. But for Bojie Li, born in 1992, this has become a part of his life. His growth story can be told from this word that is strange to us but very familiar to him.
“Tinkering” with Systems is My Hobby
The memory key-value storage that Bojie Li studies is not far from our lives. His research results can indeed make people feel the meaning of “technology makes life better”. Bojie Li gave an example, like when we buy things online, every click behavior in the purchase process requires computational feedback. Like on “Double Eleven” day when people across the country jointly start the mode of sweeping goods, it will pose a huge challenge to the entire system, and the access demand for key-value storage is as high as tens of billions per second. What Bojie Li is doing is a high-performance distributed system infrastructure that can achieve up to 1.22 billion memory key-value accesses with only 357W of power consumption, which means that the system’s performance can be increased by 10 times.
The system that Bojie Li has made is called KV-Direct, which originated from an old project he collaborated with several interns from Microsoft Research Asia in 2016 - the ClickNP system, which was published at the top conference in the network field, SIGCOMM 2016. The ClickNP system accelerates the processing of network functions with FPGA programmable network cards and proposes a framework for programming FPGA with high-level languages.
Although the architecture of ClickNP is already excellent, there are many related studies in the industry, and Bojie Li feels that it can go further, implement it, and use it in real scenarios. Therefore, he collaborated with another intern, Ruan Zhenyuan, under the guidance of Dr. Zhang Lintao, a principal researcher at Microsoft Research Asia, and with the help of Xiao Wencong, Lu Yuanwei, and other students, it took eight months to complete the KV-Direct system. In the process of implementation, they also found that many algorithms can continue to be optimized, and in the past key-value storage was used for caching, but now it has expanded to the general storage infrastructure of memory computing, such as sparse machine learning, graph computing, etc. can use very dense key-value storage, which greatly enhances the practical value of this system.
How powerful is KV-Direct? Bojie Li gave a vivid example: If the operation of grabbing a train ticket during the Spring Festival travel rush is a key-value access, then only one KV-Direct server is needed to enable everyone in the country to grab a ticket per second without any obstacles.
When introducing the project, this 25-year-old doctoral student had a sense of pride unique to researchers on his face. When introducing himself, Bojie Li said, “Tinkering with systems is my hobby”, and now the hobby has become his research direction, and he feels very fortunate. The reason why he entered the field of system research, Microsoft Research Asia can be said to be his “guide”.
From Unattainable to Within Reach
Initially, Bojie Li did not expect to come to Microsoft Research Asia. His plan for his undergraduate period was to study abroad, and his connection with Microsoft originated from the “Microsoft Scholar” scholarship program of that year. During the interview, he accidentally learned about the “University of Science and Technology of China-Microsoft Research Asia Joint Doctoral Training Program”, which allows students to study for a master’s and doctoral degree at Microsoft Research Asia. After careful consideration, Bojie Li decided to join the system group of Microsoft Research Asia and become a jointly trained doctoral student. As time went by, Bojie Li, who was getting smoother and smoother on this road, felt more and more that this was a wise choice.
Before joining Microsoft Research Asia, Bojie Li always felt that this was a gathering place for “big gods” and a testing ground for “talents”, doing cool and flying in the cloud black technology, talking about theory, doing cutting-edge, all unattainable. But not long after coming to the research institute, he found that doing research is not mysterious at all, and the achievements of the “big gods” here are actually derived from everyone’s diligence, independent thinking, and innovative pragmatism.
After 4 years of practical tempering, Bojie Li not only gained hard skills such as “skillfully summarizing research results into text”, “continuously expanding industry horizons”, and “learning how to think analytically”, but also discovered the “other side” of Microsoft Research Asia - it is more like a battlefield for young people to release their potential, a stage for interns to burst into vitality, where everyone is researching new technologies that are truly transforming the industry, down-to-earth, talking about methods, everything is within reach.
Similar experiences were also had by Zhao Xu and Chen Haibo, former interns of the system group. Zhao Xu is currently studying at the University of Toronto in Canada. He has deep feelings about the latest technology and products at Microsoft Research Asia that are “within reach”: “Compared with the research that undergraduate students can participate in in school laboratories, Microsoft Research Asia provides more practical research opportunities. And Microsoft’s unique large-scale cloud platform system and large-scale data centers around the world allow us to conduct some very unique and practical research, and we can directly test on existing systems.” Zhao Xu’s internship results at Microsoft Research Asia were also published at another top conference in the international computer system field, OOPSLA 2014, as a co-author.
Chen Haibo, now a professor at Shanghai Jiao Tong University, was an intern at Microsoft Research Asia in 2007. He recalls that during his internship, Professor Frans Kaashoek from the Massachusetts Institute of Technology (MIT) happened to be on academic leave at Microsoft Research Asia, so he started the development of the Corey multi-core operating system under Frans’s guidance. Frans’s advice, especially on the establishment of his critical thinking, still benefits him today. At Microsoft Research Asia, because of the emergence of talents, it is more likely to come into contact with the top ideas in the industry, and for the extremely cutting-edge and general discipline of system research, the guidance, ideas, and inspiration of the mentor are equally critical.
For interns at Microsoft Research Asia, the humility and meticulousness of the researchers, the energy and vitality of colleagues, are all warm gifts of life in addition to the experience. Li Bojie recalls when he first joined Microsoft Research Asia, the most unexpected thing was that the mentor had written thousands of lines of code himself before the project started, designed the basic architecture of the system, and then taught from simple modules, guiding him step by step to “go on the road” alone.
What is most gratifying to the mentor is that many current and former interns of the system group, including Li Bojie, Zhao Xu, Chen Haibo, etc., have papers selected at this year’s SOSP conference (the list of papers is attached at the end of the article), and have taken a solid step on their academic path.
From small fights to full commitment
Li Bojie’s talent in computers is not unfounded. As early as in middle school, he began to learn some simple programming with great interest in mathematics and computers. Microsoft’s pioneering investment in hardware, as well as the guidance and help of mentors, have made Li Bojie more powerful and brought this hobby to the extreme. Li Bojie’s “tinkering” is no longer a small fight, he has not only made preliminary achievements, but even figured out some philosophical meanings.
System research, even for people who come from computer science, is very abstract, but Li Bojie is tireless, and he found that the field of system research has attracted a lot of smart people. To explain this phenomenon, he quoted the view in Einstein’s “Motivation for Exploration”.
The first is the drive of negative motivation. As Schopenhauer said, one of the strongest motivations that lead people to art and science is to escape the vulgar and despairing boredom of daily life, and to break free from the shackles of their own capricious desires. In a project, there are always many non-technical factors, many historical legacy issues, and solving these problems consumes a lot of time for engineers, making engineers maintainers. As a result, well-cultivated system engineers will desire to escape this complexity, constantly create simpler methods, and ultimately make the system run efficiently and automatically.
On the other hand, it is the guidance of positive motivation. People always want to draw a simplified and easy-to-understand world image in the most appropriate way. So some people try to use such a world system to replace the world of experience, to conquer reality-this is what painters, poets, speculative philosophers, and natural scientists do, they are all remaking the world in their own way. In Li Bojie’s view, system researchers are essentially one of them. What they focus on is the most common modules in real systems. Their highest mission is to obtain those universal basic abstractions, and on this basis, use deductive methods to build high-performance, scalable, highly available, and easy-to-program systems.
Under the push of these two forces, Li Bojie enjoys the fun that system research brings to him. “I’ve done my best and had a lot of fun,” Li Bojie described it.
For more students like Li Bojie who want to join Microsoft Research Asia, Li Bojie’s advice is: don’t just focus on grades, do more hands-on system work, go to different laboratories to improve research capabilities, do more engineering projects to improve coding capabilities, and spend more time broadening your horizons. Li Bojie feels that doing so is not only to add weight to job hunting, but also because the charm of love and exploration is inherent.
The information of the accepted papers of some current and former interns of the Microsoft Research Asia system group at SOSP 2017 is as follows for your reference and understanding:
KV-Direct: High-Performance In-Memory Key-Value Store with Programmable NIC
Bojie Li (USTC and Microsoft Research); Zhenyuan Ruan (UCLA and Microsoft Research); Wencong Xiao (Beihang University and Microsoft Research); Yuanwei Lu (USTC and Microsoft Research);Yongqiang Xiong (Microsoft Research); Andrew Putnam (Microsoft); Enhong Chen(USTC); Lintao Zhang (Microsoft Research)
Sub-millisecond Stateful Stream Querying over Fast-evolving Linked Data
Yunhao Zhang, Rong Chen, HaiboChen (Shanghai Jiao Tong University)
Log20: Fully Automated Optimal Placement of Log Printing Statements under Specified Overhead Threshold
Xu Zhao, Kirk Rodrigues, Yu Luo, Michael Stumm, Ding Yuan (University of Toronto); Yuanyuan Zhou(University of California, San Diego)
Hyperkernel: Push-Button Verification of an OS Kernel
Luke Nelson, Helgi Sigurbjarnarson, Kaiyuan Zhang, Dylan Johnson, James Bornholt, Emina Torlak, Xi Wang (University of Washington)