shailendra tripathi - openzfs© 2017 tegile systems 12 independent arc and l2arc independent write...

20
iFlash Shailendra Tripathi ©2017 Western Digital Corporation or its affiliates. All rights reserved.

Upload: others

Post on 07-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Shailendra Tripathi - OpenZFS© 2017 TEGILE SYSTEMS 12 Independent ARC and L2ARC Independent Write Scale Compact 64 byte in-core structure Indexing similar – extra CPU cost, massive

iFlash

Shailendra Tripathi

©2017 Western Digital Corporation or its affiliates. All rights reserved.

Page 2: Shailendra Tripathi - OpenZFS© 2017 TEGILE SYSTEMS 12 Independent ARC and L2ARC Independent Write Scale Compact 64 byte in-core structure Indexing similar – extra CPU cost, massive

© 2017 TEGILE SYSTEMS2

▪ Background▪ Resource Utilization▪ iFlash▪ L2ARC Model▪ Results and Analysis▪ All Flash and Application Use cases▪ Conclusion

Agenda

Page 3: Shailendra Tripathi - OpenZFS© 2017 TEGILE SYSTEMS 12 Independent ARC and L2ARC Independent Write Scale Compact 64 byte in-core structure Indexing similar – extra CPU cost, massive

© 2017 TEGILE SYSTEMS3

Spa – Flash Log

Page 4: Shailendra Tripathi - OpenZFS© 2017 TEGILE SYSTEMS 12 Independent ARC and L2ARC Independent Write Scale Compact 64 byte in-core structure Indexing similar – extra CPU cost, massive

© 2017 TEGILE SYSTEMS4

Spa – Tegile Flash Meta

Page 5: Shailendra Tripathi - OpenZFS© 2017 TEGILE SYSTEMS 12 Independent ARC and L2ARC Independent Write Scale Compact 64 byte in-core structure Indexing similar – extra CPU cost, massive

© 2017 TEGILE SYSTEMS5

▪ Dedicated Devices▪ Inflexible▪ Utilization Problem

▪ Capacity▪ IOPS/Bandwidth

▪ Partitions▪ Somewhat Flexible▪ Static size partitioning ▪ Shared Device – “Noisy” neighbor

▪ Shared Device

Resource Utilization

Page 6: Shailendra Tripathi - OpenZFS© 2017 TEGILE SYSTEMS 12 Independent ARC and L2ARC Independent Write Scale Compact 64 byte in-core structure Indexing similar – extra CPU cost, massive

© 2017 TEGILE SYSTEMS6

▪ Shared Capacity▪ Shared IOPS / Bandwidth▪ Varying Data Protection Need

▪ Cache failure protection vs meta▪ Widely different Characteristics

▪ Throughput vs IOPS▪ Latency vs Efficiency of Allocation▪ Quality of Service

▪ Priority / Weight▪ Enforcement

Shared Devices

Page 7: Shailendra Tripathi - OpenZFS© 2017 TEGILE SYSTEMS 12 Independent ARC and L2ARC Independent Write Scale Compact 64 byte in-core structure Indexing similar – extra CPU cost, massive

© 2017 TEGILE SYSTEMS7

Priority

Page 8: Shailendra Tripathi - OpenZFS© 2017 TEGILE SYSTEMS 12 Independent ARC and L2ARC Independent Write Scale Compact 64 byte in-core structure Indexing similar – extra CPU cost, massive

© 2017 TEGILE SYSTEMS8

iFlash Pool

Page 9: Shailendra Tripathi - OpenZFS© 2017 TEGILE SYSTEMS 12 Independent ARC and L2ARC Independent Write Scale Compact 64 byte in-core structure Indexing similar – extra CPU cost, massive

© 2017 TEGILE SYSTEMS9

▪ Per Class Allocator▪ Per Class Queue Priority▪ Per Class Metaslab Load Policy▪ Per Class Data Protection Type

▪ Meta/Data – Mirror, Triple Mirror▪ Cache – No redundancy▪ Log – Mirror

▪ Utilize 3 copies of blkptr, Strict device Enforcement

iFlash - Implementation

Page 10: Shailendra Tripathi - OpenZFS© 2017 TEGILE SYSTEMS 12 Independent ARC and L2ARC Independent Write Scale Compact 64 byte in-core structure Indexing similar – extra CPU cost, massive

© 2017 TEGILE SYSTEMS10

▪ Policy▪ Change Detection Infrastructure▪ Action▪ Maintain

▪ Capacity▪ Fragmentation level▪ Weight / Priority Assignment▪ IOPS and MBPS rate

Dynamic Resource Sharing

Page 11: Shailendra Tripathi - OpenZFS© 2017 TEGILE SYSTEMS 12 Independent ARC and L2ARC Independent Write Scale Compact 64 byte in-core structure Indexing similar – extra CPU cost, massive

© 2017 TEGILE SYSTEMS11

Dynamic Capacity Sharing

Page 12: Shailendra Tripathi - OpenZFS© 2017 TEGILE SYSTEMS 12 Independent ARC and L2ARC Independent Write Scale Compact 64 byte in-core structure Indexing similar – extra CPU cost, massive

© 2017 TEGILE SYSTEMS12

▪ Independent ARC and L2ARC ▪ Independent Write Scale

▪ Compact 64 byte in-core structure▪ Indexing similar – extra CPU cost, massive memory saving▪ L2ARC stored as 1 MB page▪ Buffers stored byte-compressed.▪ Header Page contains 48 byte mapping on the 1 MB page▪ 1 MBs stored as per-device linked-list per rooted in uberblock

Enabler Changes

Page 13: Shailendra Tripathi - OpenZFS© 2017 TEGILE SYSTEMS 12 Independent ARC and L2ARC Independent Write Scale Compact 64 byte in-core structure Indexing similar – extra CPU cost, massive

© 2017 TEGILE SYSTEMS13

Device – Page Array

Page 14: Shailendra Tripathi - OpenZFS© 2017 TEGILE SYSTEMS 12 Independent ARC and L2ARC Independent Write Scale Compact 64 byte in-core structure Indexing similar – extra CPU cost, massive

© 2017 TEGILE SYSTEMS14

Page and Indexing

Page 15: Shailendra Tripathi - OpenZFS© 2017 TEGILE SYSTEMS 12 Independent ARC and L2ARC Independent Write Scale Compact 64 byte in-core structure Indexing similar – extra CPU cost, massive

© 2017 TEGILE SYSTEMS15

Performance

Page 16: Shailendra Tripathi - OpenZFS© 2017 TEGILE SYSTEMS 12 Independent ARC and L2ARC Independent Write Scale Compact 64 byte in-core structure Indexing similar – extra CPU cost, massive

© 2017 TEGILE SYSTEMS16

Performance

Page 17: Shailendra Tripathi - OpenZFS© 2017 TEGILE SYSTEMS 12 Independent ARC and L2ARC Independent Write Scale Compact 64 byte in-core structure Indexing similar – extra CPU cost, massive

© 2017 TEGILE SYSTEMS17

Performance

Page 18: Shailendra Tripathi - OpenZFS© 2017 TEGILE SYSTEMS 12 Independent ARC and L2ARC Independent Write Scale Compact 64 byte in-core structure Indexing similar – extra CPU cost, massive

© 2017 TEGILE SYSTEMS18

Performance

Page 19: Shailendra Tripathi - OpenZFS© 2017 TEGILE SYSTEMS 12 Independent ARC and L2ARC Independent Write Scale Compact 64 byte in-core structure Indexing similar – extra CPU cost, massive

© 2017 TEGILE SYSTEMS19

All Flash

Page 20: Shailendra Tripathi - OpenZFS© 2017 TEGILE SYSTEMS 12 Independent ARC and L2ARC Independent Write Scale Compact 64 byte in-core structure Indexing similar – extra CPU cost, massive

© 2017 TEGILE SYSTEMS20

▪ Efficient Resource Sharing▪ Adapts dynamically▪ Exploits the bi-modal patterns▪ Aggregate better performance (both IOPS and lower latency)▪ Extensible – All Flash▪ Benefits extensible to application

▪ DB /FS journal, Index

Conclusion