SlideShare a Scribd company logo
Vault 2015
Maxim Patlasov
Linux Kernel Developer, Parallels Inc.
Optimizing FUSE for Cloud Storage
2
Agenda
1. Parallels Cloud Storage
2. FUSE concept
3. FUSE optimizations
4. Performance achieved
5. Future improvements
Parallels Cloud Storage
Parallels Hypervisor Virtualization
• OS flexibility
• HW emulation
• Bare metal installation
Parallels Containers
• More efficient memory
management
• More efficient caching
reduces I/O
• CT resource management
• Easy migration
• Easy backups&snapshots
6
Storage requirements
Key requirements for VM and Container’s needs:
•  Strong consistency
•  High performance
•  Fault tolerance
•  Fast recovery
•  Address all space from any node
•  Commodity hardware
•  In-flight reconfiguration and update
7
Parallels Cloud Storage solution
Key decisions made:
•  Optimize for big files
•  Union of all local storages
•  Replication for fault tolerance
•  Keep data and metadata separately
•  Multiple metadata servers
8
PStorage architecture
FUSE
10
FUSE framework
Kernel FUSE
/fuse /dev/fuse
Client application FUSE daemon
req reqack ack
11
FUSE: Containers on PStorage
Kernel FUSE
/fuse /dev/fuse
FUSE daemon
Client application
per-container FS
virtual block device
image file
libpstorage
Parallels Cloud Storage
MDS CS
CS
CS
MDS
MDS
FUSE optimizations
13
Asynchronous direct IO
io_submit
Application: io_submit(&iocb1); io_submit(&iocb2);
Before: After:
kernel fuse
fuse daemon
actual IO
io_submit
kernel fuse
fuse daemon
actual IO
time
io_submit
kernel fuse
io_submit
kernel fuse
fuse daemon
actual IO
14
Synchronous direct IO
write
Application: fd = open(O_DIRECT); write(fd, buf, 1<<20);
Before: After:
kernel fuse: 128K
fuse daemon
actual IO
. . .
kernel fuse: 128K
fuse daemon
actual IO
time
8x:
write
kernel fuse: 8 x 128K
fuse daemon
actual IO
15
Writeback cache
write
Application: buffered write(fd, buf, 1<<20);
Before: After:
kernel fuse: 128K
fuse daemon
actual IO
. . .
kernel fuse: 128K
fuse daemon
actual IO
time
8x:
write
kernel fuse: populate page cache
fuse daemon
actual IO
kernel writeback
kernel fuse: 8 x 128K
Key benefits:
•  Lower latency of write(2)
•  Parallel processing writeback
16
Performance Comparison :: HW
iSCSI SAN Storage
DELL EqualLogic PS6510E
48 SATA Disks: 1TB 7200rpm
(Seagate ST31000524NS)
30 SATA Disks: 2TB 7200rpm
(Seagate ST2000DM001)
+ 10 SSD for caching
(Intel SSD 520)
x1 HW SAN EQL PS6510E
x10 compute nodes
Network: 10Gbit
(Dell Force10 S4810)
Network: 10Gbit
(Brocade FastIron SuperX SX-F42XG)
vs.
(FUSE based)
Parallels Cloud Storage
17
PCS FASTER
than
HW SAN
Just 10 nodes
PCS cluster
faster than DELL
EQL SAN
($97000) in most
workloads
FUSE: what’s next?
19
FUSE: future improvements
Kernel FUSE
/fuse /dev/fuse
FUSE daemon 0
App 0
…
FUSE daemon 1
FUSE daemon N
App 1
App M
…
queue 0 queue 1 queue N…
•  Variable message size (currently 128K)
•  Eliminate global lock
•  Multi-queue
•  CPU and NUMA affinity
Q&A
20

More Related Content

PPTX
JetStor ZFS DUAL NAS introduction
ODP
Exploiting Your File System to Build Robust & Efficient Workflows
PPTX
Cinder
PPT
Nexenta at VMworld Hands-on Lab
PDF
Red Hat Gluster Storage
PDF
SLE12 SP2 : High Availability et Geo Cluster
PPTX
了解Cpu
PDF
Achieving the ultimate performance with KVM
JetStor ZFS DUAL NAS introduction
Exploiting Your File System to Build Robust & Efficient Workflows
Cinder
Nexenta at VMworld Hands-on Lab
Red Hat Gluster Storage
SLE12 SP2 : High Availability et Geo Cluster
了解Cpu
Achieving the ultimate performance with KVM

What's hot (20)

PDF
Ceph Day Beijing - Our journey to high performance large scale Ceph cluster a...
PPTX
SUSE Enterprise Storage on ThunderX
PPTX
了解IO设备
PPTX
Ceph Day San Jose - Ceph at Salesforce
PDF
UniPlex 1000 Series PCIe NVMe JBOF
PPTX
Hyper-V Storage
PPTX
Build an affordable Cloud Stroage
PDF
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
PPTX
Ceph Day KL - Ceph Tiering with High Performance Archiecture
PDF
Nvmfs benchmark
PPTX
了解IO协议栈
PPTX
Ceph Day KL - Ceph on All-Flash Storage
PDF
Upgrading your Private Cloud to Windows Server 2012 R2
PDF
SOUG_SDM_OracleDB_V3
PDF
Kvm optimizations
PDF
London Ceph Day: Unified Cloud Storage with Synnefo + Ceph + Ganeti
PPTX
Ceph on 64-bit ARM with X-Gene
PDF
Cloud foundry on kubernetes
PPTX
Powershell dcpp
PDF
The new AMD EPYC solutions from OVHcloud: what benefits?
Ceph Day Beijing - Our journey to high performance large scale Ceph cluster a...
SUSE Enterprise Storage on ThunderX
了解IO设备
Ceph Day San Jose - Ceph at Salesforce
UniPlex 1000 Series PCIe NVMe JBOF
Hyper-V Storage
Build an affordable Cloud Stroage
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day KL - Ceph Tiering with High Performance Archiecture
Nvmfs benchmark
了解IO协议栈
Ceph Day KL - Ceph on All-Flash Storage
Upgrading your Private Cloud to Windows Server 2012 R2
SOUG_SDM_OracleDB_V3
Kvm optimizations
London Ceph Day: Unified Cloud Storage with Synnefo + Ceph + Ganeti
Ceph on 64-bit ARM with X-Gene
Cloud foundry on kubernetes
Powershell dcpp
The new AMD EPYC solutions from OVHcloud: what benefits?
Ad

Similar to Optimizing FUSE for Cloud Storage (20)

PPTX
TDS-16489U-R2 0215 EN
PPT
11540800.ppt
PPTX
Introduction to TrioNAS LX U300
PPTX
JetStor portfolio update final_2020-2021
PPTX
Ceph Day Melbourne - Ceph on All-Flash Storage - Breaking Performance Barriers
PDF
My Sql Performance In A Cloud
PPTX
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
PDF
My Sql Performance On Ec2
PDF
Running a database on local NVMes on Kubernetes
PDF
Running a database on local NVMes on Kubernetes
PPTX
W jak sposób architektura hipekonwergentna cisco simplivity usprawni działani...
PDF
IMCSummit 2015 - Day 1 Developer Track - Evolution of non-volatile memory exp...
PDF
Presentation architecting a cloud infrastructure
PDF
Presentation architecting a cloud infrastructure
PPT
FalconStor NSS Presentation
PDF
IBM Storage security and Key differences in FlashSystem 5000 family
PDF
HPC DAY 2017 | HPE Storage and Data Management for Big Data
PPT
JetStor NAS ZFS based 716U 724U Network Attached Storage
PDF
April 2014 IBM announcement webcast
PDF
Wp intelli cache_reduction_iops_xd5.6_fp1_xs6.1
TDS-16489U-R2 0215 EN
11540800.ppt
Introduction to TrioNAS LX U300
JetStor portfolio update final_2020-2021
Ceph Day Melbourne - Ceph on All-Flash Storage - Breaking Performance Barriers
My Sql Performance In A Cloud
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
My Sql Performance On Ec2
Running a database on local NVMes on Kubernetes
Running a database on local NVMes on Kubernetes
W jak sposób architektura hipekonwergentna cisco simplivity usprawni działani...
IMCSummit 2015 - Day 1 Developer Track - Evolution of non-volatile memory exp...
Presentation architecting a cloud infrastructure
Presentation architecting a cloud infrastructure
FalconStor NSS Presentation
IBM Storage security and Key differences in FlashSystem 5000 family
HPC DAY 2017 | HPE Storage and Data Management for Big Data
JetStor NAS ZFS based 716U 724U Network Attached Storage
April 2014 IBM announcement webcast
Wp intelli cache_reduction_iops_xd5.6_fp1_xs6.1
Ad

More from OpenVZ (20)

PDF
PFcache - LinuxCon 2015
ODP
Speeding up ps and top
PDF
Live migration: pros, cons and gotchas -- Pavel Emelyanov
PDF
Live migrating a container: pros, cons and gotchas -- Pavel Emelyanov
PDF
CRIU: time and space travel for Linux containers -- Kir Kolyshkin
PDF
Тестирование ПО, основанного на сторонних компонентах - Денис Силаков, SECR 2015
ODP
Живая миграция: плюсы, минусы и подводные камни - Павел Емельянов
PDF
What's missing from upstream kernel containers? - Sergey Bronnikov
PDF
Проблема фрагментации виртуальных дисков и способы её решения -- Дмитрий Монахов
PDF
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел Тихомиров
PDF
CRIU: ускорение запуска PHP в CloudLinux OS -- Руслан Купреев
PDF
LibCT и контейнеры на уровне приложений -- Александр Бурлука
PDF
Управление памятью контейнеров в проекте OpenVZ -- Владимир Давыдов
PDF
Живая миграция контейнеров: плюсы, минусы, подводные камни -- Павел Емельянов
PDF
LibCT: one lib to rule them all -- Andrey Vagin
ODP
Denser containers with PF cache - Pavel Emelyanov
ODP
CGroups kernel memory controller -- Pavel Emelyanov
ODP
What's missing from upstream kernel containers? - Kir Kolyshkin, Sergey Bronn...
ODP
Not so brief history of Linux Containers - Kir Kolyshkin
ODP
Openvz booth
PFcache - LinuxCon 2015
Speeding up ps and top
Live migration: pros, cons and gotchas -- Pavel Emelyanov
Live migrating a container: pros, cons and gotchas -- Pavel Emelyanov
CRIU: time and space travel for Linux containers -- Kir Kolyshkin
Тестирование ПО, основанного на сторонних компонентах - Денис Силаков, SECR 2015
Живая миграция: плюсы, минусы и подводные камни - Павел Емельянов
What's missing from upstream kernel containers? - Sergey Bronnikov
Проблема фрагментации виртуальных дисков и способы её решения -- Дмитрий Монахов
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел Тихомиров
CRIU: ускорение запуска PHP в CloudLinux OS -- Руслан Купреев
LibCT и контейнеры на уровне приложений -- Александр Бурлука
Управление памятью контейнеров в проекте OpenVZ -- Владимир Давыдов
Живая миграция контейнеров: плюсы, минусы, подводные камни -- Павел Емельянов
LibCT: one lib to rule them all -- Andrey Vagin
Denser containers with PF cache - Pavel Emelyanov
CGroups kernel memory controller -- Pavel Emelyanov
What's missing from upstream kernel containers? - Kir Kolyshkin, Sergey Bronn...
Not so brief history of Linux Containers - Kir Kolyshkin
Openvz booth

Optimizing FUSE for Cloud Storage