Xianzhang Chen , Yuqi Liu , Xijie Zhu , Lin Chen , Qiao Sun , Shukan Liu
{"title":"Prism: An efficient file mapping mechanism across multiple namespaces in mobile systems","authors":"Xianzhang Chen , Yuqi Liu , Xijie Zhu , Lin Chen , Qiao Sun , Shukan Liu","doi":"10.1016/j.sysarc.2025.103547","DOIUrl":null,"url":null,"abstract":"<div><div>Existing mobile operating systems, such as Android, employ a unidirectional file mapping model to share files across different components of the systems. For example, a real file stored in F2FS of the Kernel layer may be mapped to the abstract file system in the Framework layer and the distributed file system in the Application layer. In this model, the namespaces of the file systems in different layers maintain varied metadata for the same real file, with modifications only propagating from top to bottom. Thus, the metadata of a real file in different namespaces may be inconsistent once the underlying file systems updates the real file without notifying the mapping namespaces, leading to a “mapping invalidation” issue. In this paper, we construct a new bidirectional model for mapping files in mobile systems. Specifically, we design a mechanism called <em>Prism</em> to enable bidirectional file mapping among multiple namespaces transparently. The core idea is to introduce a <em>Shared-Inode</em> (SInode) structure in the system’s intermediate layer to manage shared essential metadata. Prism provides two synchronization modes, i.e., immediate synchronization mode and delayed synchronization mode, to update the metadata changes from the lower namespaces to the upper namespaces in different scenarios. We implement Prism in Android 13 and evaluate it with real applications. Extensive experimental results show that Prism effectively resolves the “mapping invalidation” issue, particularly for image re-compression tasks. Experimental results demonstrate that our design reduces CPU and memory overhead by nearly 50% compared to the original system while having a trivial impact on overall performance.</div></div>","PeriodicalId":50027,"journal":{"name":"Journal of Systems Architecture","volume":"168 ","pages":"Article 103547"},"PeriodicalIF":4.1000,"publicationDate":"2025-08-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Systems Architecture","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S138376212500219X","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, HARDWARE & ARCHITECTURE","Score":null,"Total":0}
引用次数: 0
Abstract
Existing mobile operating systems, such as Android, employ a unidirectional file mapping model to share files across different components of the systems. For example, a real file stored in F2FS of the Kernel layer may be mapped to the abstract file system in the Framework layer and the distributed file system in the Application layer. In this model, the namespaces of the file systems in different layers maintain varied metadata for the same real file, with modifications only propagating from top to bottom. Thus, the metadata of a real file in different namespaces may be inconsistent once the underlying file systems updates the real file without notifying the mapping namespaces, leading to a “mapping invalidation” issue. In this paper, we construct a new bidirectional model for mapping files in mobile systems. Specifically, we design a mechanism called Prism to enable bidirectional file mapping among multiple namespaces transparently. The core idea is to introduce a Shared-Inode (SInode) structure in the system’s intermediate layer to manage shared essential metadata. Prism provides two synchronization modes, i.e., immediate synchronization mode and delayed synchronization mode, to update the metadata changes from the lower namespaces to the upper namespaces in different scenarios. We implement Prism in Android 13 and evaluate it with real applications. Extensive experimental results show that Prism effectively resolves the “mapping invalidation” issue, particularly for image re-compression tasks. Experimental results demonstrate that our design reduces CPU and memory overhead by nearly 50% compared to the original system while having a trivial impact on overall performance.
期刊介绍:
The Journal of Systems Architecture: Embedded Software Design (JSA) is a journal covering all design and architectural aspects related to embedded systems and software. It ranges from the microarchitecture level via the system software level up to the application-specific architecture level. Aspects such as real-time systems, operating systems, FPGA programming, programming languages, communications (limited to analysis and the software stack), mobile systems, parallel and distributed architectures as well as additional subjects in the computer and system architecture area will fall within the scope of this journal. Technology will not be a main focus, but its use and relevance to particular designs will be. Case studies are welcome but must contribute more than just a design for a particular piece of software.
Design automation of such systems including methodologies, techniques and tools for their design as well as novel designs of software components fall within the scope of this journal. Novel applications that use embedded systems are also central in this journal. While hardware is not a part of this journal hardware/software co-design methods that consider interplay between software and hardware components with and emphasis on software are also relevant here.