TY - GEN
T1 - Fast file synching for applications in flash-based Android devices
AU - Chang, Li Pin
AU - Sung, Po Han
AU - Chen, Po Hung
PY - 2014/10/16
Y1 - 2014/10/16
N2 - Flash-storage-based Android devices have been a very popular design option for hand-held devices. Recent research pointed out that application-level data management in Android systems involves frequent file synching operations (i.e., fsync() calls). Because fsync() is a blocking call, applications could suffer from poor response if the fsync() implementation is inefficient. The existing methods of file synching in Android systems are not flash-aware, and they could either significantly increase the block-level write randomness or excessively increase the block write traffic. This work introduces an efficient design of fsync() called eager synching. Our basic idea is simple: write less, and write sequentially. When a file is being synched, eager synching first identifies the dirty data related to the file, and then write the dirty data to a sequential log space. This way, fsync() calls can be quickly serviced by a small amount of fast, sequential block writes on the flash storage. Our experimental results show that, under the workloads of typical Android applications, the average and max fsync() latencies were reduced by up to 72% and 91 %, respectively, and the block-level write traffic was reduced by up to 35%.
AB - Flash-storage-based Android devices have been a very popular design option for hand-held devices. Recent research pointed out that application-level data management in Android systems involves frequent file synching operations (i.e., fsync() calls). Because fsync() is a blocking call, applications could suffer from poor response if the fsync() implementation is inefficient. The existing methods of file synching in Android systems are not flash-aware, and they could either significantly increase the block-level write randomness or excessively increase the block write traffic. This work introduces an efficient design of fsync() called eager synching. Our basic idea is simple: write less, and write sequentially. When a file is being synched, eager synching first identifies the dirty data related to the file, and then write the dirty data to a sequential log space. This way, fsync() calls can be quickly serviced by a small amount of fast, sequential block writes on the flash storage. Our experimental results show that, under the workloads of typical Android applications, the average and max fsync() latencies were reduced by up to 72% and 91 %, respectively, and the block-level write traffic was reduced by up to 35%.
UR - http://www.scopus.com/inward/record.url?scp=84912127280&partnerID=8YFLogxK
U2 - 10.1109/NVMSA.2014.6927187
DO - 10.1109/NVMSA.2014.6927187
M3 - Conference contribution
AN - SCOPUS:84912127280
T3 - 2014 IEEE Non-Volatile Memory Systems and Applications Symposium, NVMSA 2014
BT - 2014 IEEE Non-Volatile Memory Systems and Applications Symposium, NVMSA 2014
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 2014 IEEE Non-Volatile Memory Systems and Applications Symposium, NVMSA 2014
Y2 - 20 August 2014 through 21 August 2014
ER -