file system challenges in consumer electronics products
play

File System Challenges in Consumer Electronics Products (Chan Gyun - PowerPoint PPT Presentation

File System Challenges in Consumer Electronics Products (Chan Gyun Jeong) SW Platform Lab., Corporate R&D LG Electronics, Inc. 2014/10/31 Contents LG webOS TV Overview File Systems in webOS TV Database in webOS TV


  1. File System Challenges in Consumer Electronics Products 정찬균 (Chan Gyun Jeong) SW Platform Lab., Corporate R&D LG Electronics, Inc. 2014/10/31

  2. Contents • LG webOS TV Overview • File Systems in webOS TV • Database in webOS TV • Squashfs Challenges and Improvements • File Truncation Performance • FUSE Overhead in Android • File System Patents Issue • eMMC Lifetime Issue • eMMC Performance Issues • Expectations for NVRAM 1

  3. LG webOS TV Overview • Make TV Simple Again : 3S (Simple Switching/Connection/Discovery) TV Web App Web App System UI Native Apps (Javascript, (Javascript, HTML5) HTML5) EPG Volume Simple Switching +/- Enyo Framework CP Engine Luna Bus Simple Connection webOS Services TV Service 100+ (Watching, ( Media Server / node.js Recording, HDMI) …) Linux Kernel Simple Discovery 2

  4. File Systems in webOS TV • ext4 file system used for a partition requiring writable file feature in runtime  e.g. LG App Store partition • Squashfs file system used for a partition Root File System not requiring writable file feature in runtime  e.g. rootfs, TV Service partitions TV Service • Squashfs is a compressed read-only file system, and provides high performance Fonts with low overhead & size reduction Misc. Data 3

  5. Database in webOS TV • DB8 Database Service  Fast and light Key-Value based DB service  Data stored as JSON(Java Script Object Notation) objects in collections  No SQL support  Using LevelDB as backend 4

  6. Squashfs Challenges and Improvements (1) • Compression Algorithm Performance  High decompression performance needed for CE products rather than compression speed ZLIB LZO  LZO (Lempel-Ziv-Oberhumer) outperforms ZLIB(aka. GZIP) in decompression performance  Squashfs LZO support contributed to Source: http://www.linuxjournal.com/node/8051/ mainline Linux kernel by LG ZLIB  LG contributed support for new LZ4 LZO compression to mainline as well Squashfs 88.9 Seq. Read  LZ4 outperforms LZO when unaligned Throughput 134.4 memory access is enabled in ARM (MB/s)  Squashfs LZ4 ready to upstream into mainline 5

  7. Squashfs Challenges and Improvements (2) • Single Decompressor Problem Read Internal Decompress Request 1 Buffer Read Bottleneck Request 2 Page Cache Read Request 3 Read Request N • Squashfs provides only one decompression stream buffer which incurs single-threaded decompression for concurrent requests • Gives poor performance on parallel I/O workload of multicore systems • Additional memory copy needed due to internal buffer 6

  8. Squashfs Challenges and Improvements (3) • Multiple Decompressor Solution Read Decompress Single Request 1 Multiple 4 13.7 Read Concurrent Decompress Request 2 Page Seq. Read Cache Throughput Read 67.7 Decompress (MB/s) Request 3 Read Decompress Request N • Gives great performance for parallel I/O workloads on Multi-core systems • Eliminates a memory copy by directly decompressing into page cache • But requires more CPU and memory usage than single thread • LG submitted a patch set and made a contribution to mainline kernel 7

  9. File Truncation Performance • How about performance if we need to cut data in the middle of a video file ? Cut Commercial • Using normal file truncation works, but it takes very long time depending on the video file size • We modified some kernel file systems to help file truncation performance and split a large video into smaller files in DVR-enabled products • Recently, fallocate(FALLOC_FL_COLLAPSE_RANGE) feature merged in mainline kernel 8

  10. FUSE Overhead in Android (1) • FUSE (File System In Userspace)  Let applications create their own file systems without modifying kernel code  Used to emulate external storage and ensure security in Android sdcard service Applications (Userspace File System )  Needs 3 memory copies 1 bionic-c 3 for read() or write() Userspace /storage/sdcard0 /dev/fuse /data/media  Could be overhead in Kernel some systems VFS (Virtual File System) 2 FUSE EXT4 9

  11. FUSE Overhead in Android (2) • Removes unnecessary memory copies by splice in Linux kernel memory memory memory copy copy copy sdcard Applications FUSE EXT4 write() write() read() service memory zero copy memory copy sdcard Applications FUSE EXT4 write() service splice() Seq. Read Seq. Write 30 Improvement Rate (%) 36 10

  12. File System Patents Issue • BOM(Bill of Materials) cost is very important in CE products, BUT: iPhone 60 Android Phone 20 Estimated Licensing Fee per Device (US$) Source: digitaltrends.com, unwiredview.com • Even patents cost for file systems matters a lot ! • SDXC includes M$’s exFAT file system as a mandatory feature • Eventually adopting open standard file systems will benefits manufacturers and end users 11

  13. eMMC Lifetime Issue • TV lifetime issue when using DVR(Digital Video Recording) function 8GB MLC 16GB MLC  Huge amount of writing data incurred by 8GB TLC 16GB TLC 13.3 DVR enabled workload 12.7  Even Timeshift (aka. Live Playback) 6.9 feature spec out for eMMC 3.1  e.g. 5.7 GB for daily workload with Full HD video (19.39 Mbps in Korea) Lifetime (Years)  How to optimize WAF(Write Amplification < Workload > 400min/Day including 30min Recoding Factor) in file system and block device driver layer ?  How to improve eMMC lifetime in FTL ? 12

  14. eMMC Performance Issue • MLC vs TLC on Performance 270 16GB MLC(HS400)  Not much performance issues for MLC- 16GB MLC(HS200) type eMMC flash memory 8GB TLC(HS200) 170  But performance lacks for TLC-type eMMC in some workloads 100 90  Any chances to improve performance of 50 TLC-type eMMC ? 10 Seq. Read (MB/s) Seq. Write (MB/s) 13

  15. Expectations for NVRAM • Workload aware or File System aware FTL  There are various workloads in smart phone and smart TV  How about FTL customization for per-partition workload ?  If FTL could handle I/O based on workload characteristic per-partition ?  DVR partition : 4MB large sequential I/O and write priority  Database partition : 1 ~ 4KB small random I/O • Byte-addressable Persistent Memory  Cost Innovation  Mass Producibility DRAM Flash  Performance 14

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend