Download presentation
Presentation is loading. Please wait.
Published byJodie Tate Modified over 8 years ago
1
Department of Computer Sciences, University of Wisconsin Madison DADA – Dynamic Allocation of Disk Area Jayaram Bobba Vivek Shrivastava
2
Department of Computer Sciences, University of Wisconsin Madison Outline Introduction Existing Framework Implementation Issues Results Conclusions
3
Department of Computer Sciences, University of Wisconsin Madison Problem Disk Volumes Allocate physical space on creation Multiple Disk Volumes on a physical disk Unused space Disk space not a premium What If?
4
Department of Computer Sciences, University of Wisconsin Madison Motivation Virtual Machine Environment Add Some points Storage Area Networks Storage area is the bo Dynamic Physical Allocation (LFS style)
5
Department of Computer Sciences, University of Wisconsin Madison Related Work HP AutoRAID Dynamically change redundancy levels Hot Data – Mirrored Cold Data – RAID 5 Dynamic migration of data
6
Department of Computer Sciences, University of Wisconsin Madison Outline Introduction Existing Framework Implementation Issues Results Conclusions
7
Department of Computer Sciences, University of Wisconsin Madison Existing Framework Logical Volume Manager (LVM) User space tool that enables creation of logical volumes of a logical partition. Supports resizing of volumes. Device Mapper (DM) Kernel driver that provides a level of indirection in address translation
8
Department of Computer Sciences, University of Wisconsin Madison LVM design Volume Group (VG) Physical Volume (PV) Logical Volume (LV) Physical Extent (PE) Logical Extent (LE)
9
Department of Computer Sciences, University of Wisconsin Madison LVM design Physical Device
10
Department of Computer Sciences, University of Wisconsin Madison LVM design PV PE
11
Department of Computer Sciences, University of Wisconsin Madison LVM design PV PE
12
Department of Computer Sciences, University of Wisconsin Madison LVM design PV LV 1 PE
13
Department of Computer Sciences, University of Wisconsin Madison LVM design PV LE LV 1 LV2 PE
14
Department of Computer Sciences, University of Wisconsin Madison LVM design PV LE LV 1 LV2 PE
15
Department of Computer Sciences, University of Wisconsin Madison LVM design VG PV LE LV 1 LV2 PE
16
Department of Computer Sciences, University of Wisconsin Madison DM design Userspace Applications logkcopyd emc ioctl interface filesystem interface control interfaceblock interface core device-mapper mapping/target interface linearstripedsnapshotmultipath round-robin path selectors hardware handlers
17
Department of Computer Sciences, University of Wisconsin Madison LVM – DM interaction Kernel Userspace Device Mapper libdevmapper LVM2
18
Department of Computer Sciences, University of Wisconsin Madison Outline Introduction Existing Framework Implementation Issues Results Conclusions
19
Department of Computer Sciences, University of Wisconsin Madison Modifications A trap mechanism from kernel driver to user- level LVM code. Support for multiple segments in LV Support for virtual mappings in driver
20
Department of Computer Sciences, University of Wisconsin Madison Initial State LVM Device Mapper User space Kernel space Unallocated Disk Space LVM daemon
21
Department of Computer Sciences, University of Wisconsin Madison Volume Group Creation LVM Device Mapper User space Kernel space Unallocated Disk Space LVM daemon PE (4MB) 25 Extents
22
Department of Computer Sciences, University of Wisconsin Madison Current Implementation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon Create LV 32MB User A
23
Department of Computer Sciences, University of Wisconsin Madison Current Implementation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon User A Map 0-7 extents for user A
24
Department of Computer Sciences, University of Wisconsin Madison Current Implementation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon User A Map 0-7 extents for user A
25
Department of Computer Sciences, University of Wisconsin Madison Current Implementation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon User A User B Create LV 16 MB
26
Department of Computer Sciences, University of Wisconsin Madison Current Implementation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon User A User B Create LV 16 MB map 8-11 extents for B
27
Department of Computer Sciences, University of Wisconsin Madison Current Implementation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon User A User B map 8-11 extents for B
28
Department of Computer Sciences, University of Wisconsin Madison Current Implementation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon User A User B Read/write
29
Department of Computer Sciences, University of Wisconsin Madison Volume Group Creation LVM Device Mapper User space Kernel space Unallocated Disk Space LVM daemon PE (4MB) 25 Extents
30
Department of Computer Sciences, University of Wisconsin Madison Current Implementation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon Create LV1 32MB User A
31
Department of Computer Sciences, University of Wisconsin Madison Current Implementation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon User A Virtually map 0-7 extents for user A {0-7 error}
32
Department of Computer Sciences, University of Wisconsin Madison Current Implementation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon User A User B Create LV 16 MB {0-7 error}
33
Department of Computer Sciences, University of Wisconsin Madison Current Implementation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon User A User B Create LV2 16 MB Virtually map 8-11 extents for B {0-7 error} {8-11 error}
34
Department of Computer Sciences, University of Wisconsin Madison Current Implementation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon User A User B {0-7 error} {8-11 error} Write 6MB
35
Department of Computer Sciences, University of Wisconsin Madison Current Implementation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon User A User B {0-7 error} {8-11 error} write trap
36
Department of Computer Sciences, University of Wisconsin Madison Current Implementation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon User A User B {0-7 error} {8-11 error} write trap On Demand allocation of disk area
37
Department of Computer Sciences, University of Wisconsin Madison Current Implementation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon User A User B {0-7 error} {8-11 error} Write 6MB trap On Demand allocation of disk area Allocate 2 extents (8MB)
38
Department of Computer Sciences, University of Wisconsin Madison Current Implementation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon User A User B {0-1 linear}{2-7 error} {8-11 error} Write 6MB trap On Demand allocation of disk area Allocate 2 extents (8MB)
39
Department of Computer Sciences, University of Wisconsin Madison Current Implementation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon User A User B {0-1 linear}{2-7 error} {8-11 error} Write 10MB
40
Department of Computer Sciences, University of Wisconsin Madison Current Implementation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon User A User B (0-1 linear}{0-7 error} {8-11 error} Write 10 MB trap
41
Department of Computer Sciences, University of Wisconsin Madison Current Implementation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon User A User B {0-7 error} {8-11 error} write trap On Demand allocation of disk area
42
Department of Computer Sciences, University of Wisconsin Madison Current Implementation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon User A User B {0-1 linear}{2-7 error} {8-10 linear} Write 10 MB trap On Demand allocation of disk area Allocate 3 extents (12 MB) {11 error}
43
Department of Computer Sciences, University of Wisconsin Madison Outline Introduction Existing Framework Implementation Issues Results Conclusions
44
Department of Computer Sciences, University of Wisconsin Madison Issues Not the most efficient implementation On a trap, How much to allocate? On demand Pre-allocate Where to allocate? Temporal locality Spatial locality Free unused space
45
Department of Computer Sciences, University of Wisconsin Madison How much? On-demand Allocate only as many blocks as needed Pre-allocate Pre-allocate physical space for blocks likely to be accessed in the future. How much? Where?
46
Department of Computer Sciences, University of Wisconsin Madison How much? Tradeoff – Performance vs. Disk Space Depends on the workload I/O on critical path Asynchronous I/O Multithreaded Applications
47
Department of Computer Sciences, University of Wisconsin Madison Pre-Allocation Think: Filesystem Block Allocation Dumb Allocation Stride Allocation Multi-Strided Allocation
48
Department of Computer Sciences, University of Wisconsin Madison Dumb Allocation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon User A {0-1 linear}{2-7 error} Write 6MB trap On Demand allocation of disk area Allocate 2 extents (8MB)
49
Department of Computer Sciences, University of Wisconsin Madison Stride Allocation LVM Device Mapper User space Kernel space Free Disk Space LVM daemon User A {0-1 linear}{2-7 error} Write 6MB trap On Demand allocation of disk area Allocate 4 extents (16MB) PreAllocated Extent
50
Department of Computer Sciences, University of Wisconsin Madison Ext2 access pattern
51
Department of Computer Sciences, University of Wisconsin Madison Ext3 access pattern
52
Department of Computer Sciences, University of Wisconsin Madison Outline Introduction Existing Framework Implementation Issues Results Conclusions
53
Department of Computer Sciences, University of Wisconsin Madison Results Micro Benchmarks mkfs Trace based analysis Trace collected by HP Research Lab
54
Department of Computer Sciences, University of Wisconsin Madison Micro Benchmark : mkfs
55
Department of Computer Sciences, University of Wisconsin Madison Micro Benchmark : Asynchronous I/O
56
Department of Computer Sciences, University of Wisconsin Madison Micro Benchmark : Asynchronous I/O
57
Department of Computer Sciences, University of Wisconsin Madison Trace Based Analysis
58
Department of Computer Sciences, University of Wisconsin Madison Trace Based Analysis
59
Department of Computer Sciences, University of Wisconsin Madison Outline Introduction Existing Framework Implementation Issues Results Conclusions
60
Department of Computer Sciences, University of Wisconsin Madison Conclusions Tradeoff between performance penalty and space Useful in environments where space is the bottleneck resource Techniques like Pre Allocation reduce the performance penalty to some extent For practical implementation, LVM must be placed in kernel address space
61
Department of Computer Sciences, University of Wisconsin Madison Conclusions mkfs performance degrades substantially due to traps. No degradation in performance for CPU intensive applications with asynchronous I/O Extent size in the range of 512K-1M provide best results for the trace This evaluation will be more realistic, if LVM is moved into Kernel Address space.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.