Disclaimer: I recently attended Storage Field Day 13. My flights, accommodation and other expenses were paid for by Tech Field Day and Pure Storage. There is no requirement for me to blog about any of the content presented and I am not compensated in any way for my time at the event. Some materials presented were discussed under NDA and don’t form part of my blog posts, but could influence future discussions.
These are my rough notes from a session I attended on “Day 0” of Pure//Accelerate 2017 (aka Storage Field Day Exclusive at Pure//Accelerate 2017). Videos of the session can be found here and you can grab my raw notes from here. I try to avoid dumping a bunch of dot points in Tech Field Day posts, but as this one covered some key announcements, I thought most of the information was useful presented as is.
A Year of FlashBlade
Par Botes spoke to us briefly about the progress made with FlashBlade in the past year. Originally internally codenamed “Wedding Cake” as it was a white box, the performance is “better than you think”, going from 500K IOPS and 15GB/s, to 1.2M IOPS and 15GB/s, to 1.5M IOPS and 16GB/s in the first six months since GA. I first encountered FlashBlade in the flesh at Storage Field Day 10. You can read more about that here.
Scaling Beyond 15 Blades
Rob Lee took some time to talk about scaling beyond 15 blades in a chassis.
- Linear capacity scale – single namespace growing to dozens of PB scale
- Linear IOPS and throughput – single namespace / IP scales IOPS and throughout with capacity
- Preserve simplicity – more capacity adds IOPS & throughout with zero administration
- Fabric – scale raw bandwidth without adding management
- Processing – software dynamically schedules processing resources globally
- Data – place data as a single system across all blades
High level Architecture
- Integrated Networking – combined internal and external networks. Load balance connections across all blades.
- Distributed control – partition and distribute control of namespace, data, and metadata across all blades
- Distributed Data – Distribute persistent data across all blades – high-frequency transactions in NVRAM and longer-lived data in N+2 erasure-coded flash
[image courtesy of Pure Storage]
FlashBlade Data Distribution
- Wide-stripe erasure coding with +2 redundancy
- Scaling past a single chassis
- External network load balancer, inter-chassis network switching
- Added external Fabric Module
- intra-chassis network switching
- External Flash Module is 2 rackmounted switches
Scaling Fabric Bandwidth
32port 100Gbs switch (1.6Tb/s north-south). Here’s a photo of Rob talking about this.
- Controller load balancing and capacity load balancing
- East-west traffic
- NVRAM/Flash data access
- Metadata coordination
- 1.6Tbs across chassis, 300Gbs within chassis
Adding a blade is straightforward
- Partitions rebalance to new blade – stops running on old blade and boots on new blade
- No data movement required, only compute (data stays in-place)
- Partition load balancing on a per-blade basis – not chassis constrained
- Data erasure coded across n+2 RAID stripes
- 15 blades – 13-wide stripe (11+2 parity shards)
- RAID Groups are dynamic – selected as needed
- RAID Groups can cross chassis boundaries
As you fill the chassis, it becomes beneficial to constrain the RAID group to a chassis. Note also that there’s enhanced resiliency (n+2 per chassis, without additional overhead) and reduced inter-chassis bandwidth requirements for rebuild operations.
- Software creates parallelism and scale; hardware enables access to data
- Software/hardware integration without tight coupling
- Simplicity/reliability created by software control of the network fabric
Brian Gold presented a section of the session on Why Objects?
Next Generation Apps
- Cloud-native development
- Rich metadata databases
- Large & streaming: AI training, media serving, analytics
- Small & random: time-series metrics, real-time streams
- No visible partitions
- Unified management
Classic Object Gateways
- Object API gateway -> file system (index to track metadata)
- File system becomes bottle neck when scaling to billions of object
- Purity (FlashArray and FlashBlade) – objects at the core
Object Read Path
- Extract bucket and object names from request
- Decode bucket and object names
- Get bucket ID from authority
- Get object ID from bucket authority
- Forward read request to object authority
- Read object data from flash
- Forward back to protocol handler
- Decompress and form response to client
- Two phases – metadata lookup and data access; distributed everything
- Basically identical to how a file is read via NFS
FlashBlade is S3-compatible for the moment. Purity is really a key-value database
The next generation of applications require new storage interfaces. There was a demo using TensorFlow.
- Converting raw pixels (ultimate in unstructured data) to structured data
- Now imagine if you’ve got 10s of thousands of cameras
- Object detection -> message queue -> object indexing, streaming queries, time-series analysis
Par wrapped up by talking about:
- “The big bang of intelligence”
- Modern Compute – parallel architecture driving performance
- New Algorithms – modern approaches for superhuman accuracy
- Big Data – Data is the new oil
- “Massively parallel is the new normal”
- 4th Industrial Revolution (2010 – now) – AI, Big Data, Cloud, IoT, Computing, digital to intelligence
I was a bit confused by FlashBlade when I first heard about it, and suggested that the 12 months post Storage Field Day 10 would be critical to the success of the product. Pure have managed to blow me away with the progress they’ve made with the product since GA, the breadth of customers and use cases they’ve lined up, and the overall level of forward thinking that’s gone into the product. You can use it to do some really cool stuff. The biggest problem I’ve had with the “data is the new oil” paradigm is that, unlike real oil, a lot of companies don’t actually know what to do with their data. FlashBlade is not going to magically fix this for you, but it’s going to give you some pretty compelling infrastructure that solves some of the problem of how to do stuff effectively with massive amounts of data.
Object storage is the new hot, and has been for a little while. Putting together a product like FlashBlade has certainly gotten Pure into a bunch of accounts where they weren’t traditionally successful with FlashArray. It’s also given their more traditional customers a different option for tackling big data problems. Pure strike me as being fiendishly focused on delivering something special with FlashBlade, and certainly don’t appear to be slowing down when adding new features to the platform. There’s been some really cool features added, including support for 17TB blades (almost by accident) and increasing scalability to 75 blades. I’m looking forward to seeing what’s next for FlashBlade. You can read the blog post about the FlashBlade 2.0 announcement here.