Recently this page has been less actively maintained. But let me try to keep it sync'ed :)
Wentao
May 2024
Selected research projects.
You can find more of them here.
Recently this page has been less actively maintained. But let me try to keep it sync'ed :)
Wentao
May 2024
Selected research projects.
You can find more of them here.
Contents
Advisors: Tianyin Xu, Darko Marinov
[Publications] [Talks] [Software]
Contributions to open-source projects:
This work is a collaboration with Steve VanderLeest and many other fantastic people from The Boeing Company.
[Publications] [Software]
Advisor: Tianyin Xu
During this project, I learned a lot from and had an incomparable experience with my amazing mentors Tyler Gu and Xudong Sun. Thanks!
---8<------8<--- Older stuffs below. May be moved around. ---8<------8<---
Advisor: Baris Kasikci
[Publications] [Software][open soon]
During this project, I was fortunate to be mentored by Jiacheng Ma and Gefei Zuo, and to work with Yin Yuan.
Advisor: Tianyin Xu
[Publications] [Software][open soon]
Berkeley packet filter (BPF) subsystem offers a promising way of extending the kernel in networking, observability, security and many other use cases. However, to ensure safety, the native BPF verifier imposes several restrictions to the properties of BPF programs (like size and control flow), thus limiting their expressiveness. In this work, we propose a new mechanism of kernel extension, by placing compiled Rust programs at hook points that were conventionally for BPF programs to run, and turning to the language, rather than the verifier, for safety guarantee.
I contributed to:
rustc
to further manipulate the programs and enforce safety policy.trace_event
),
to nontrivial ones (e.g. XRP).During this project, I also had the honor to work with Dan Williams and Jinghao Jia, among many other excellent researchers.
Figure 21. BPF programs are subject to the size limit imposed by the verifier (shown in blue). If a program has to exceed that limit, it should first be split into smaller tail calls. These tail calls then get chained together in order to execute (shown in orange, each dot representing one call). One of our goals is to let standalone Rust programs cross the same boundary, while maintaining comparable performance.
Incidentally, I'm not sure whether you have noticed, the figure looks pretty decent either in light or dark mode. Try it out: toggle. I was simply shocked by this effect! and did some serious research about it. The black magic turns out to be: ↩︎
Advisor: Jun Wu
[Publications] [Software]
IEEE 1451 is a family of standards whose goal is to promote interoperability among various interfaces or network protocols commonly seen in Internet of Things (IoT). I am a member of the working group led by Prof. Jun Wu, with a focus on the network level.
My contributions include:
During this project, I also worked closely with Kang Lee and Eugene Song (check this nice photo1 of us!) among many other respected industry experts.
Figure 32,3. Transducer interface module (TIM) 4.04, one of many hardware prototypes I developed for this project. Notably, it has two processing units: a microcontroller, and a SoC shipped along with the Raspberry Pi. It thus incorporates the benefits of both: (1) real-time capabilities of the microcontroller (2) OS, runtime and networkability of the Raspberry Pi5. Moreover, the two are connected through an on-board serial bus, making inter-chip communication or even “over-the-air” firmware upgrade possible.
Photo credit: Jie Ren. ↩︎
Processor (and logo) credits: Raspberry Pi Foundation and STMicroelectronics. ↩︎
Intel Corporation owns the copyright on the "whatever inside" slogan. Inside, though, there are no actual Intel products. ↩︎
Indeed, we never figured out a serious versioning scheme. So this is more like a parody of the buzzword "industry 4.0" than any meaningful release code, although I did develop and produce roughly that number of generations (i.e. in SemVer jargon, major versions) over the years. ↩︎
This README
for RPi.GPIO
project gives a very elegant summary of the
technical differences. I like it! and cite this text over and over :)
↩︎