TY - GEN
T1 - TrapFetch
T2 - 2017 IEEE International Conference on Systems, Man, and Cybernetics, SMC 2017
AU - Won, Jiwoong
AU - Kwon, Oseok
AU - Ryu, Junhee
AU - Hur, Junbeom
AU - Lee, Insup
AU - Kang, Kyungtae
N1 - Funding Information:
This study was supported by Basic Science Research Program through the National Research Foundation of KoThis study was supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Science and ICT (NRF-2017R1A2B4007970). (Corresponding author: K. Kang; J. Hur; J. Ryu)
Publisher Copyright:
© 2017 IEEE.
PY - 2017/11/27
Y1 - 2017/11/27
N2 - TrapFetch is trained by monitoring the read requests issued by an application. It detects bursts of disk reads, determines the appropriate addresses at which breakpoints should be inserted in the application and library codes prior to the bursts of reads, and then logs this information with the data requested during the interval between each consecutive pair of breakpoints. When the application and library codes are loaded from the disk into memory, TrapFetch inserts breakpoints at the designated addresses based on the logs. During subsequent runs, TrapFetch is invoked at each breakpoint when it prefetches the corresponding data into the page cache. This approach is effective during both launch and run-time. TrapFetch operates at the user level, thus avoiding interference with other applications. In experiments on five popular applications (FlightGear, SpeedDreams 2, Pillars of Eternity, Eclipse, and VegaStrike), TrapFetch reduced the time for launch by up to 39.7% and time for run-time dataloading by up to 63.7%.
AB - TrapFetch is trained by monitoring the read requests issued by an application. It detects bursts of disk reads, determines the appropriate addresses at which breakpoints should be inserted in the application and library codes prior to the bursts of reads, and then logs this information with the data requested during the interval between each consecutive pair of breakpoints. When the application and library codes are loaded from the disk into memory, TrapFetch inserts breakpoints at the designated addresses based on the logs. During subsequent runs, TrapFetch is invoked at each breakpoint when it prefetches the corresponding data into the page cache. This approach is effective during both launch and run-time. TrapFetch operates at the user level, thus avoiding interference with other applications. In experiments on five popular applications (FlightGear, SpeedDreams 2, Pillars of Eternity, Eclipse, and VegaStrike), TrapFetch reduced the time for launch by up to 39.7% and time for run-time dataloading by up to 63.7%.
UR - http://www.scopus.com/inward/record.url?scp=85044207038&partnerID=8YFLogxK
U2 - 10.1109/SMC.2017.8123045
DO - 10.1109/SMC.2017.8123045
M3 - Conference contribution
AN - SCOPUS:85044207038
T3 - 2017 IEEE International Conference on Systems, Man, and Cybernetics, SMC 2017
SP - 2766
EP - 2771
BT - 2017 IEEE International Conference on Systems, Man, and Cybernetics, SMC 2017
PB - Institute of Electrical and Electronics Engineers Inc.
Y2 - 5 October 2017 through 8 October 2017
ER -