In this dissertation, we present pipelined prefetching mechanisms that use application-disclosed access patterns to prefetch hinted blocks in multi-level storage systems. The fundamental concept in our approach is to split an informed prefetching process into a set of independent prefetching steps among multiple storage levels (e.g., main memory, solid state disks, and hard disk drives). In the first part of this study, we show that a prefetching pipeline across multiple storage levels is an viable and effective technique for allocating file buffers at the multiple-level storage devices. Our approaches (a.k.a., iPipe and IPO) extends previous ideas of informed prefetching in two ways: (1) our approach reduces applications' I/O stalls by keeping hinted data in caches residing in the main memory, solid state disks, and hard drives; (2) we propose a pipelined prefetching scheme in which multiple informed prefetching mechanisms semi-dependently work to fetch blocks from low-level (slow) to high-level (fast) storage devices. Our iPipe and IPO strategies integrated with the pipelining mechanism significantly reduce overall I/O access time in multiple-level storage systems. Next, we propose a third prefetching scheme called IPODS that aims to maximize the benefit of informed prefetches as well as to hide network latencies in a distributed storage systems. Finally, we develop a simulator to evaluate the performance of the proposed informed prefetching schemes in the context of multiple-level storage systems. We implement a prototype to validate the accuracy of the simulator. Our results show that our iPipe improves system performance by 56% in most informed prefetching cases, IPO and IPODS improve system performance by 56% and 6% respectively in informed prefetching critical cases across a wide range of real-world I/O traces.
DevoxxFR 2024 Reproducible Builds with Apache Maven
Informed prefetching in distributed multi level storage systems
1. Informed Prefetching in Distributed Multi-
Level Storage Systems
Maen M. Al Assaf
Advisor: Xiao Qin
Department of Computer Science and Software Engineering,
Auburn University, Auburn, AL
Download the dissertation at:
http://www.eng.auburn.edu/~xqin/theses/PhD-Al-Assaf-Infomed-
Prefetching.pdf
The abstract of this dissertation can be found at:
http://etd.auburn.edu/etd/handle/10415/2935
3. Informed Caching and Prefetching
• My Research’s Core Reference:
(TIP) R. Patterson, Hugo, G. Gibson, D. Stodolsky, and
J. Zelenka: Informed prefetching and caching, In
Proceedings of the 15th ACM Symposium on
Operating System Principles, pages 79-95, CO, USA,
1995.
3
4. Informed Caching and Prefetching
• Applications can disclose hints about their
future accesses.
• Invoke parallel storage parallelism.
• Make the application more CPU-bound than
I/O- bound.
– Reducing I/O stalls.
– Application’s Elapsed Time.
• Tdisk: Disk read Latency (prefetching time).
4
5. Informed Caching and Prefetching
• Cost benefit model to determine # prefetching of buffer caches (TIP)
R. Patterson, Hugo, G. Gibson, D. Stodolsky, and J. Zelenka: Informed prefetching and caching, In Proceedings of the 15th ACM
Symposium on Operating System Principles, pages 79-95, CO, USA, 1995.
5
7. Parallel (Multi-levels) Storage Systems
Cache
• High I/O performance, bandwidth, scalability, and reliability.
• Disk Arrays (enough / limited bandwidth).
7
8. Distributed Parallel (Multi-level) Storage
Systems
• high I/O performance, bandwidth, scalability, and reliability.
T.Madhyastha; G. Gibson; C. Faloutsos: Informed prefetching of collective input/output requests, Proceedings of the
1999 ACM/IEEE conference on Supercomputing (CDROM), Portland, Oregon, 1999.
8
9. Research Motivations
• The growing needs of multi-level storage
systems,
• The I/O access hints offered by applications,
and
• The possibility of multiple prefetching
mechanisms to work in parallel.
9
10. Research Objectives
• Minimizing the prefetching time (I/O Delays).
• Reducing application's stalls and elapsed time.
• Reducing prefetching time in distributed
storage system.
10
11. My Solutions
• iPipe: Informed Prefetching Pipelining for Multi-
levels Storage Systems.
• IPO: Informed Prefetching Optimization in Multi-
levels Storage Systems. (Optimizes iPipe).
• IPODS: Informed Prefetching in Distributed Multi-
levels Storage Systems.
11
12. Research Tasks
iPipe IPO
Informed Prefetching Pipelining For Informed Prefetching Optimization in
Multi-levels Storage Systems. Multi-levels Storage Systems
IPODS Prototyping
Informed Prefetching in Distributed Solution’s prototyping Results
Multi-levels Storage Systems.
12 12
14. IPODS Architecture
• Network and server latency. Data is stripped.
T.Madhyastha; G. Gibson; C. Faloutsos: Informed prefetching of collective input/output requests, Proceedings of the
1999 ACM/IEEE conference on Supercomputing (CDROM), Portland, Oregon, 1999.
14
15. Assumptions
• Pipelined data are copies: 1) small portion 2)
do not move data back and forth.
• Data initial placement in HDD. 1) worst case 2)
Larger.
• Writes and data consistency.
15
16. Validations and Prototyping Test Bed
• The following are our lab's test bed devices:
– Memory: Samsung 3GB RAM Main Memory.
– HDD : Western Digital 500GB SATA 16 MB Cache
WD5000AAKS.
– SSD: Intel 2Gb/s SATA SSD 80G sV 1A.
– Network Switch: Network Dell Power Connect
2824.
16
17. iPipe and IPO Parameters
Parameter Description Value
Block size Block size in MB 10 MB
Tcpu+Thit+Tdriver Time to consume a buffer 0.00192 s
Thdd-cache Read time from HDD to cache 0.12 s
Tss-cache Reading time from SSD to cache 0.052 s
Thdd-ss Reading time from HDD to SSD 0.122 s
MaxBW Maximum # of reading requests 15
Xcache Number of prefetching buffers 1 – 63 / 1 - 15
17
18. IPODS Parameters
Parameter Description Value
Block size Block size in MB 200 MB
Tcpu+Thit+Tdriver Time to consume a buffer 0.037 s
Thdd-network- cache Read time from HDD to cache 4.43 s
Tss-network-cache Reading time from SSD to cache 4.158 s
Thdd-ss Reading time from HDD to SSD 4.5 s
MaxBW Maximum # of reading requests 15
Xcache Number of prefetching buffers 1 - 15
18
19. iPipe
• Parallel multi-levels storage system (SSD and HDD.)
• Pipeline data to uppermost level to reduce Tdisk.
• Reduce stalls, elapsed time.
• Assumes:
– Assume enough bandwidth, and scalability.
• iPipe pipelines the informed prefetching process in
the SSD.
– Prefetching pipelining start (Pstart).
– Prefetching pipelining depth (Pdepth).
19
20. iPipe: Example Parameters
• Assume:
• Tcpu+Thit+Tdriver = 1 Time Unit
• Thdd-cache = 5 Time Units
• Tss-cache = 4 Time Units
• Thdd-ss = 8 Time Units
• Xcache = 3
• Tstall-hdd = 2 time units every 3 accesses.
• Tstall-ss = 1 time unit every 3 accesses.
20
23. iPipe: Informed Prefetching
Stalls time = 16 time units & Elapsed time = 46 time units
Tcpu+Thit+Tdriver = 1 Thdd-cache = 5 Xcache = 3
Tstall-hdd = 2 every 3 accesses.
23
25. iPipe: Pipelining Algorithm
Stalls time = 9 time units & Elapsed time = 39 time units < 46 time units
Tcpu+Thit+Tdriver = 1 Thdd-cache = 5 Tss-cache = 4 T disk-ss = 8 Xcache = 3
Tstall-hdd = 2 every 3 accesses. Tstall-ss = 1 every 3 accesses.
25
26. iPipe: Performance Improvement
- Elapse Time 1
56% improvement in most cases
LASR2
56%
56%
LASR1
56%
56%
Total simulation elapsed time when using 1 to 9 prefetching buffers.
26
27. iPipe: Performance Improvement
- Elapse Time 2
56%
56% 56% improvement
56%
56%
Total simulation elapsed time when using 11 to 30 prefetching buffers.
27
28. iPipe: Performance Improvement
- Elapse Time 3
Total simulation elapsed time when using 35 to 63 prefetching buffers.
28
29. Research Tasks
iPipe IPO
Informed Prefetching Pipelining For Informed Prefetching Optimization in
Multi-levels Storage Systems. Multi-levels Storage Systems
IPODS Prototyping
Informed Prefetching in Distributed Solution’s prototyping Results
Multi-levels Storage Systems.
29 29
30. IPO
• Parallel multi-levels storage system (SSD and HDD.)
• Pipeline data to uppermost level to reduce Tdisk.
• Reduce stalls, elapsed time.
• Assumes:
– Limited bandwidth and scalability.
– MaxBW = 15
– Pipelining depth = MaxBW - Xcache
• IPO pipelines the informed prefetching process in the
SSD.
– Prefetching pipelining start (Pstart).
– Next to Prefetch (Pnext).
30
31. IPO: Example Parameters
• Assume:
• Tcpu+Thit+Tdriver = 1 Time Unit
• Thdd-cache = 5 Time Units
• Tss-cache = 4 Time Units
• Thdd-ss = 8 Time Units
• Xcache = 2
• Tstall-hdd = 3 time units every 2 accesses.
• Tstall-ss = 2 time units every 2 accesses.
• MaxBW = 5 concurrent reading requests.
31
35. IPO: Informed Prefetching
Stalls time = 45 time units & Elapsed time = 81 time units
Tcpu+Thit+Tdriver = 1, Thdd-cache = 5, Xcache = 2
Tstall-hdd = 3 every 2 accesses.
35
39. IPO: Pipelining Algorithm
Stalls time = 40 time units & Elapsed time = 76 time units < 81
Tcpu+Thit+Tdriver = 1 Thdd-cache = 5 Tss-cache = 4 T hdd-ss = 8 Xcache = 2
Tstall-hdd = 3 every 2 accesses. Tstall-ss =2 every 2 accesses.
39
40. IPO: Performance Improvement
- Elapse Time
56% improvement in critical cases
LASR2
56%
28%
LASR1
0%
Total simulation elapsed time when using 1 to 15 prefetching buffers. (MaxBW = 15)
40
41. IPODS
• Parallel multi-levels storage systems can be
implemented on a distributed system.
• Several storage nodes. Data are stripped.
• Tnetwork and Tserver are added to Tdisk .
• IPO pipelining was used.
• Assumes:
– Limited bandwidth and scalability (depends on # of nodes).
– MaxBW = 15
41
42. IPODS Architecture
• Network and server latency. Data is stripped.
T.Madhyastha; G. Gibson; C. Faloutsos: Informed prefetching of collective input/output requests, Proceedings of the
1999 ACM/IEEE conference on Supercomputing (CDROM), Portland, Oregon, 1999.
42
43. IPODS: Performance Improvement
- Elapse Time
LASR2
6% improvement in critical cases
6%
4%
LASR1
2% 0%
Total simulation elapsed time when using 1 to 15 prefetching buffers. (MaxBW = 15)
43
44. Prototyping Development
• We aim to validate our simulations’ results
• 1000 I/O reading requests were sufficient to
show the pattern.
• Expect the results if simulated application
were used in prototyping.
• Simulators used LASR traces:
– LASR1 : 11686 I/O Reading Requests
– LASR2 : 51206 I/O Reading Requests
• Compare the variations.
44
49. Conclusion & Future Work
• Conclusion:
– Informed prefetching shows better performance
when Tdisk is low.
– Reading data from upper levels is faster.
– Three solutions (iPipe, IPO, IPODS).
– Elapsed time improvement in about 56% and 6%.
– Many Contributions.
• Future work:
– Data migration
– More experimental work
49
Notas del editor
Transition sentence: this is a transition slide for the background section – literature review, related work.