Skip to content

Commit e042eb9

Browse files
committed
Add Aeolia
1 parent 031890d commit e042eb9

File tree

2 files changed

+101
-0
lines changed

2 files changed

+101
-0
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
@inproceedings{10.1145/3731569.3764816,
2+
author = {Li, Chuandong and Yi, Ran and Zhang, Zonghao and Liu, Jing and Min, Changwoo and Zhang, Jie and Luo, Yingwei and Wang, Xiaolin and Wang, Zhenlin and Zhou, Diyu},
3+
title = {Aeolia: A Fast and Secure Userspace Interrupt-Based Storage Stack},
4+
year = {2025},
5+
isbn = {9798400718700},
6+
publisher = {Association for Computing Machinery},
7+
address = {New York, NY, USA},
8+
url = {https://doi.org/10.1145/3731569.3764816},
9+
doi = {10.1145/3731569.3764816},
10+
abstract = {Polling-based userspace storage stacks achieve great I/O performance. However, they cannot efficiently and securely share disks and CPUs among multiple tasks. In contrast, interrupt-based kernel stacks inherently suffer from subpar I/O performance but achieve advantages in resource sharing.We present Aeolia, a novel storage stack that achieves great I/O performance while offering efficient and secure resource sharing. Aeolia is an interrupt-based userspace storage stack, representing a new point in the design space previously considered unfeasible. Our main observation is that, contrary to conventional wisdom, polling offers only marginal disk performance improvements over interrupts. Aeolia exploits user interrupt, an emerging hardware feature commonly used for userspace IPIs, in a novel way to deliver storage interrupts directly to userspace, thereby achieving high I/O performance with direct access. Aeolia leverages the hardware intra-process isolation features and sched_ext, an eBPF-based userspace scheduling framework, to efficiently and securely share CPUs and disks among multiple tasks, challenging the common belief that these are inherent disadvantages of userspace storage stacks. The above design enables Aeolia to realize AeoFS, a high-performance library file system that securely and directly accesses disks. Our evaluation shows that Aeolia outperforms Linux by 2\texttimes{} and AeoFS outperforms ext4 by up to 19.1\texttimes{}, respectively.},
11+
booktitle = {Proceedings of the ACM SIGOPS 31st Symposium on Operating Systems Principles},
12+
pages = {479-495},
13+
numpages = {17},
14+
keywords = {user interrupts, userspace file systems, userspace NVMe drivers, high-performance storage, scheduling},
15+
location = {Lotte Hotel World, Seoul, Republic of Korea},
16+
series = {SOSP '25}
17+
}
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
---
2+
title: 'Aeolia: A Fast and Secure Userspace Interrupt-Based Storage Stack'
3+
4+
# Authors
5+
# If you created a profile for a user (e.g. the default `admin` user), write the username (folder name) here
6+
# and it will be replaced with their full name and linked to their profile.
7+
authors:
8+
- Chuandong Li
9+
- Ran Yi
10+
- Zonghao Zhang
11+
- Jing Liu
12+
- Changwoo Min
13+
- Jie Zhang
14+
- Yingwei Luo
15+
- Xiaolin Wang
16+
- Zhenlin Wang
17+
- Diyu Zhou
18+
19+
# # Author notes (optional)
20+
# author_notes:
21+
# - 'Equal contribution'
22+
# - 'Equal contribution'
23+
24+
date: '2025-02-24T00:00:00Z'
25+
doi: 'https://doi.org/10.1145/3731569.3764816'
26+
27+
# Schedule page publish date (NOT publication's date).
28+
publishDate: '2025-01-01T00:00:00Z'
29+
30+
# Publication type.
31+
# Accepts a single type but formatted as a YAML list (for Hugo requirements).
32+
# Enter a publication type from the CSL standard.
33+
publication_types: ['paper-conference']
34+
35+
# Publication name and optional abbreviated publication name.
36+
publication: In *CM SIGOPS 31st Symposium on Operating Systems Principles (SOSP '25)*
37+
publication_short: In *SOSP '25*
38+
39+
abstract: 'Polling-based userspace storage stacks achieve great I/O performance. However, they cannot efficiently and securely share disks and CPUs among multiple tasks. In contrast, interrupt-based kernel stacks inherently suffer from subpar I/O performance but achieve advantages in resource sharing.We present Aeolia, a novel storage stack that achieves great I/O performance while offering efficient and secure resource sharing. Aeolia is an interrupt-based userspace storage stack, representing a new point in the design space previously considered unfeasible. Our main observation is that, contrary to conventional wisdom, polling offers only marginal disk performance improvements over interrupts. Aeolia exploits user interrupt, an emerging hardware feature commonly used for userspace IPIs, in a novel way to deliver storage interrupts directly to userspace, thereby achieving high I/O performance with direct access. Aeolia leverages the hardware intra-process isolation features and sched_ext, an eBPF-based userspace scheduling framework, to efficiently and securely share CPUs and disks among multiple tasks, challenging the common belief that these are inherent disadvantages of userspace storage stacks. The above design enables Aeolia to realize AeoFS, a high-performance library file system that securely and directly accesses disks. Our evaluation shows that Aeolia outperforms Linux by 2× and AeoFS outperforms ext4 by up to 19.1×, respectively.'
40+
41+
# Summary. An optional shortened abstract.
42+
summary: ''
43+
44+
tags: []
45+
46+
# Display this page in the Featured widget?
47+
featured: true
48+
49+
# Custom links (uncomment lines below)
50+
# links:
51+
# - name: Custom Link
52+
# url: http://example.org
53+
54+
url_pdf: 'https://dl.acm.org/doi/pdf/10.1145/3731569.3764816'
55+
url_code: 'https://github.com/TELOS-syslab/Aeolia'
56+
# url_dataset: ''
57+
# url_poster: ''
58+
# url_project: ''
59+
# url_slides: ''
60+
# url_source: ''
61+
# url_video: ''
62+
63+
# Featured image
64+
# To use, add an image named `featured.jpg/png` to your page's folder.
65+
# image:
66+
# caption: 'Image credit: [**Unsplash**](https://unsplash.com/photos/pLCdAaMFLTE)'
67+
# focal_point: ''
68+
# preview_only: false
69+
70+
# Associated Projects (optional).
71+
# Associate this publication with one or more of your projects.
72+
# Simply enter your project's folder or file name without extension.
73+
# E.g. `internal-project` references `content/project/internal-project/index.md`.
74+
# Otherwise, set `projects: []`.
75+
# projects:
76+
# - example
77+
78+
# Slides (optional).
79+
# Associate this publication with Markdown slides.
80+
# Simply enter your slide deck's filename without extension.
81+
# E.g. `slides: "example"` references `content/slides/example/index.md`.
82+
# Otherwise, set `slides: ""`.
83+
# slides: example
84+
---

0 commit comments

Comments
 (0)