NeST: Network Storage Technologies Building I/O Appliances on Commodity Systems John Bent, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau and Miron Livny http:// www.ioappliance.com
Dec 30, 2015
NeST: Network Storage Technologies
Building I/O Appliances on Commodity SystemsJohn Bent, Andrea Arpaci-Dusseau,Remzi Arpaci-Dusseau and Miron Livny
http://www.ioappliance.com
Problem Statement
Appliances are attractive because they are robust, reliable, available and especially because they are easy to use. To fulfill these criteria, traditional network appliances impose policy decisions on their users and are built either as kernel modules or upon specially designed kernels.
“How to build portable, configurable I/O appliances?”
Goal
To create a network-storage “template” that produces a range of I/O appliances according to the storage needs of the target application and any constraints of the host system.
NetworkStorage
Technologies
Target App
Host System
PerfectI/O
Appliance
Target app. storage needs
Invariant and variant storage needsInvariant
Reliable Low latency High bandwidth Easy to administer Cheap
Target app. storage needs
Variant Write concurrency Replacement costs Security and authentication needs Communication protocol Transfer unit
What is ReqEx?
ReqExStaging Area
Huge tape library (terabytes)
Queue of Reqs
Tape Robot
A robot moves archived data one tape at a time to a temporary staging area.
PerfectI/O
Appliance
Condor Manager
What is ReqEx?
ReqExStaging Area
WAN
Compute cluster
Data is transferred and stored locally to facilitate access by compute nodes.
ReqEx variant storage needsWrite concurrency
No write (or read) concurrency
Replacement costs Tape robot is very slow; objects cannot be lost
Security and authentication needs Only owner can remove object
Protocol ReqEx can be linked with NeST client library
Transfer unit Whole object transfers only
WiND variant storage needsWrite concurrency
No write concurrency
Replacement costs Unknown
Security and authentication needs Unknown
Protocol Predefined specific WiND protocol
Transfer unit Disk blocks are accessed directly
What is a web proxy cache?
Local Area Network
Internet
PerfectI/O
Appliance
Frequently accessed objects can be stored locally to decrease request latencies.
Cache variant storage needsWrite concurrency
No write concurrency
Replacement costs Negligible
Security and authentication needs None
Protocol HTTP
Transfer unit Whole object transfer only
PerfectI/O
Appliance
What is Condor ckpt server?
A condor job runs on an execute machine.
Keyboard activity causes the job to be evicted. A snapshot of the process is sent to the checkpoint server.
When the job migrates to another idle machine, the checkpoint file is recovered and progress resumes.
CCS variant storage needsWrite concurrency
No write concurrency
Replacement costs The running time of the job (could be months)
Security and authentication needs Unauthorized access cannot be allowed
Protocol Can link with NeST client library
Transfer unit Whole file transfer only
I see you’re discussing checkpointing. Don’t
forget about incremental.
Storage modules
StorageManagement
Concurrency Architectures
DataSemantics
Static Configuration
Protocols AdministrativeInterface
RuntimeAdaptation
NameSpace
Configurable Components
Concurrency architectureData semantics Protocol layerNamespaceSecurity and authenticationStorage management
Concurrency architecture
NOB POP POT
Easy ... but uninteresting.
“How can multiple storage requests be interleaved to maximize system throughput?”
Data semantics
Must stored objects be protected from concurrent writes?
Is transaction support necessary?What are the recovery costs for lost
objects?
Protocol layer
Most applications can not link with NeST client libraries
Most applications have their own specific communication protocols
“How can a protocol layer easily communicate with arbitrary networking protocols?”
Tower of Babel