|
| 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