About me
Assistant professor, PhD advisor
The School of Computer Science,
Peking University,
Beijing, China
I am currently engaged in the research and design of storage systems and specialized processors. My research addresses the requirements for high-performance storage systems in the era of big data and artificial intelligence from the perspective of computer architecture. I am dedicated to breaking through the bottlenecks of data migration and the limitations of memory walls in the Von Neumann architecture.
Important:
I am actively seeking talented and self-motivated students. There are two openings per year for future PhD candidates and multiple positions for interns. It’s always welcome to contact me via email.
News:
- December 2024: One paper is accepted to Eurosys’25.
- November 2024: One paper is accepted to NSDI’25.
- November 2024: Three papers are accepted to HPCA’25. Congratulations to Xiurui and Endian!
- October 2024: Invited to serve as PC of USENIX ATC, ISCA and ISPASS.
- August 2024: BIZA is accepted to SOSP’24. Congratulations to Shushu, Shaocong and Li Peng!
- July 2024: Two papers are accepted to MICRO’24.
- July 2024: Two papers are accepted to TC and ToS.
- May 2024: Invited to serve as PC of HPCA.
- May 2024: Two papers are accepted to USENIX ATC’24. Congratulations to Shushu Yi, Li Peng, Xiurui and Yuda!
- April 2024: One paper is accepted to TACO.
- April 2024: Flagger is accepted to ISCA’24. Congratulations to Xiurui and Yuda!
- March 2024: Invited to serve as ERC of MICRO.
- November 2023: One paper is accepted to ASPLOS’24.
- October 2023: Invited to serve as ERC of ISCA.
- October 2023: Four papers are accepted to HPCA’24. Congratulations to Yuda and Yuyue!
- August 2023: Awarded Intel Young Faculty Researcher Program. <!– + July 2023: invited to serve as TPC of HPCA.
- April 2023: Awarded 1st prize in national storage technology competition. Congrats to Shushu Yi!
- January 2023: one paper is accepted to NVMW.
- January 2023: one paper is accepted to CAL.
- December 2022: one paper is accepted to SAC.
- October 2022: invited to serve as TPC of USENIX ATC and SAC.
- September 2022: awarded ACM SIGCSE Rising Star!
- July 2022: one paper is accepted to THPC.
- May 2022: our paper “ScalaRAID” is accepted to HotStorage’22. Congrats to Shushu Yi!
- April 2022: two papers are accepted to NVMW’22.
- December 2021: awarded NSFC Excellent Young Scientists Fund Overseas Program (国家自然科学基金优秀青年科学基金海外项目)!
- Sep 2021: our work “HAMS” is selected as KAIST breakthroughs 50 years.
- August 2021: our work “OhmGPU” is reported by Naver headline + 26 and Press.
- July 2021: one paper is accepted to MICRO’21.
- April 2021: three papers are accepted to NVMW’21.
- March 2021: our work “HAMS” is reported by Naver headline + 39, KBS and Press.
- Feb 2021: one paper is accepted to ISCA’21.
- June 2020: one paper is accepted to ISCA’20.
- Feb 2020: one paper is accepted to HPCA’20.
- Feb 2020: one paper is accpeted to FAST’20.
- Feb 2020: join KAIST as a postdoctoral researcher.
- Dec 2019: successfully defend PhD thesis.
–>
Selected Publications:
- (Eurosys‘25) Daredevil: Rescue Your Flash Storage from Inflexible Kernel Storage Stack
- (NSDI‘25) Beehive: A Scalable Disaggregated Memory Runtime Exploiting Asynchrony of Multithreaded Programs
- (HPCA’25) InstAttention: In-Storage Attention Offloading for Cost-Effective Long-Context LLM Inference
- (HPCA’25) Criticality-Aware Instruction-Centric Bandwidth Partitioning for Data Center Applications
- (HPCA’25) NeuVSA: A Unified and Efficient Accelerator for Neural Vector Search
- (SOSP’24) BIZA: Design of Self-Governing Block-Interface ZNS AFA for Endurance and Performance
- (MICRO’24) FlashLLM: A Chiplet-Based In-Flash Computing Architecture to Enable On-Device Inference of 70B LLM
- (MICRO’24) NeoMem: Hardware/Software Co-Design for CXL-Native Memory Tiering
- (USENIX ATC’24) ScalaCache: Scalable User-Space Page Cache Management with Software-Hardware Coordination
- (USENIX ATC’24) ScalaAFA: Constructing User-Space All-Flash Array Engine with Holistic Designs
- (ISCA’24) Flagger: Cooperative Acceleration for Large-Scale Cross-Silo Federated Learning Aggregation
- (ASPLOS’24) Achieving Near-Zero Read Retry for 3D NAND Flash Memory
- (HPCA’24) BeaconGNN: Large-Scale GNN Acceleration with Asynchronous In-Storage Computing
- (HPCA’24) StreamPIM: Streaming Matrix Computation in Racetrack Memory
- (HPCA’24) LearnedFTL: A Learning-based Page-level FTL for Reducing Double Reads in Flash-based SSDs
- (HPCA’24) Midas Touch: Invalid-Data Assisted Reliability and Performance Boost for 3D High-Density Flash
- (MICRO’21) Ohm-GPU: Integrating New Optical Network and Heterogeneous Memory into GPU Multi-Processors
- (ISCA’21) Revamping Storage Class Memory With Hardware Automated Memory-Over-Storage Solution
- (ISCA’20) ZnG: Architecting GPU Multi-Processors with New Flash for Scalable Data Analysis
- (USENIX FAST’20) Scalable Parallel Flash Firmware for Many-core Architectures
- (HPCA’20) DRAM-less: Hardware Acceleration of Data Processing with New Memory
- (DAC’19) FlashGPU: Placing New Flash Next to GPU Cores
- (HPCA’19) FUSE: Fusing STT-MRAM into GPUs to Alleviate Off-Chip Memory Access Overheads
- (OSDI’18) FlashShare: Punching Through Server Storage Stack from Kernel to Firmware for Ultra-Low Latency SSDs
- (MICRO’18) Amber: Enabling Precise Full-System Simulation with Detailed Modeling of All SSD Resources
- (Eurosys’18) FlashAbacus: A Self-governing Flash-based Accelerator for Low-power Systems
- (HPCA’16) DUANG: Fast and Lightweight Page Migration in Asymmetric Memory Systems
- (PACT’15) NVMMU: A Non-Volatile Memory Management Unit for Heterogeneous GPU-SSD Architectures
- (HotStorage’14) Power, Energy and Thermal Considerations in SSD-Based I/O Acceleration
<!– This is the front page of a website that is powered by the academicpages template and hosted on GitHub pages. GitHub pages is a free service in which websites are built and hosted from code and data stored in a GitHub repository, automatically updating when a new commit is made to the respository. This template was forked from the Minimal Mistakes Jekyll Theme created by Michael Rose, and then extended to support the kinds of content that academics have: publications, talks, teaching, a portfolio, blog posts, and a dynamically-generated CV. You can fork this repository right now, modify the configuration and markdown files, add your own PDFs and other content, and have your own site for free, with no ads! An older version of this template powers my own personal website at stuartgeiger.com, which uses this Github repository.
A data-driven personal website
Like many other Jekyll-based GitHub Pages templates, academicpages makes you separate the website’s content from its form. The content & metadata of your website are in structured markdown files, while various other files constitute the theme, specifying how to transform that content & metadata into HTML pages. You keep these various markdown (.md), YAML (.yml), HTML, and CSS files in a public GitHub repository. Each time you commit and push an update to the repository, the GitHub pages service creates static HTML pages based on these files, which are hosted on GitHub’s servers free of charge.
Many of the features of dynamic content management systems (like Wordpress) can be achieved in this fashion, using a fraction of the computational resources and with far less vulnerability to hacking and DDoSing. You can also modify the theme to your heart’s content without touching the content of your site. If you get to a point where you’ve broken something in Jekyll/HTML/CSS beyond repair, your markdown files describing your talks, publications, etc. are safe. You can rollback the changes or even delete the repository and start over – just be sure to save the markdown files! Finally, you can also write scripts that process the structured data on the site, such as this one that analyzes metadata in pages about talks to display a map of every location you’ve given a talk.
Getting started
- Register a GitHub account if you don’t have one and confirm your e-mail (required!)
- Fork this repository by clicking the “fork” button in the top right.
- Go to the repository’s settings (rightmost item in the tabs that start with “Code”, should be below “Unwatch”). Rename the repository “[your GitHub username].github.io”, which will also be your website’s URL.
- Set site-wide configuration and create content & metadata (see below – also see this set of diffs showing what files were changed to set up an example site for a user with the username “getorg-testacct”)
- Upload any files (like PDFs, .zip files, etc.) to the files/ directory. They will appear at https://[your GitHub username].github.io/files/example.pdf.
- Check status by going to the repository settings, in the “GitHub pages” section
Site-wide configuration
The main configuration file for the site is in the base directory in _config.yml, which defines the content in the sidebars and other site-wide features. You will need to replace the default variables with ones about yourself and your site’s github repository. The configuration file for the top menu is in _data/navigation.yml. For example, if you don’t have a portfolio or blog posts, you can remove those items from that navigation.yml file to remove them from the header.
Create content & metadata
For site content, there is one markdown file for each type of content, which are stored in directories like _publications, _talks, _posts, _teaching, or _pages. For example, each talk is a markdown file in the _talks directory. At the top of each markdown file is structured data in YAML about the talk, which the theme will parse to do lots of cool stuff. The same structured data about a talk is used to generate the list of talks on the Talks page, each individual page for specific talks, the talks section for the CV page, and the map of places you’ve given a talk (if you run this python file or Jupyter notebook, which creates the HTML for the map based on the contents of the _talks directory).
Markdown generator
I have also created a set of Jupyter notebooks that converts a CSV containing structured data about talks or presentations into individual markdown files that will be properly formatted for the academicpages template. The sample CSVs in that directory are the ones I used to create my own personal website at stuartgeiger.com. My usual workflow is that I keep a spreadsheet of my publications and talks, then run the code in these notebooks to generate the markdown files, then commit and push them to the GitHub repository.
How to edit your site’s GitHub repository
Many people use a git client to create files on their local computer and then push them to GitHub’s servers. If you are not familiar with git, you can directly edit these configuration and markdown files directly in the github.com interface. Navigate to a file (like this one and click the pencil icon in the top right of the content preview (to the right of the “Raw | Blame | History” buttons). You can delete a file by clicking the trashcan icon to the right of the pencil icon. You can also create new files or upload files by navigating to a directory and clicking the “Create new file” or “Upload files” buttons.
Example: editing a markdown file for a talk
For more info
More info about configuring academicpages can be found in the guide. The guides for the Minimal Mistakes theme (which this theme was forked from) might also be helpful.