SEDA: an architecture for well-conditioned, scalable internet services
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
Using Cohort-Scheduling to Enhance Server Performance
ATEC '02 Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference
Multicollective I/O: A technique for exploiting inter-file access patterns
ACM Transactions on Storage (TOS)
Cassyopia: compiler assisted system optimization
HOTOS'03 Proceedings of the 9th conference on Hot Topics in Operating Systems - Volume 9
Cosy: develop in user-land, run in kernel-mode
HOTOS'03 Proceedings of the 9th conference on Hot Topics in Operating Systems - Volume 9
VLDB '07 Proceedings of the 33rd international conference on Very large data bases
ATC'07 2007 USENIX Annual Technical Conference on Proceedings of the USENIX Annual Technical Conference
GRAMPS: A programming model for graphics pipelines
ACM Transactions on Graphics (TOG)
FAWN: a fast array of wimpy nodes
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
RouteBricks: exploiting parallelism to scale software routers
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
The case for RAMClouds: scalable high-performance storage entirely in DRAM
ACM SIGOPS Operating Systems Review
Energy-efficient cluster computing with FAWN: workloads and implications
Proceedings of the 1st International Conference on Energy-Efficient Computing and Networking
Understanding throughput-oriented architectures
Communications of the ACM
PacketShader: a GPU-accelerated software router
Proceedings of the ACM SIGCOMM 2010 conference
The little engine(s) that could: scaling online social networks
Proceedings of the ACM SIGCOMM 2010 conference
Cheap and large CAMs for high performance data-intensive networked systems
NSDI'10 Proceedings of the 7th USENIX conference on Networked systems design and implementation
Stout: an adaptive interface to scalable cloud storage
USENIXATC'10 Proceedings of the 2010 USENIX conference on USENIX annual technical conference
High performance solid state storage under Linux
MSST '10 Proceedings of the 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST)
FlashStore: high throughput persistent key-value store
Proceedings of the VLDB Endowment
FlexSC: flexible system call scheduling with exception-less system calls
OSDI'10 Proceedings of the 9th USENIX conference on Operating systems design and implementation
Moneta: A High-Performance Storage Array Architecture for Next-Generation, Non-volatile Memories
MICRO '43 Proceedings of the 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture
Consistent and durable data structures for non-volatile byte-addressable memory
FAST'11 Proceedings of the 9th USENIX conference on File and stroage technologies
SkimpyStash: RAM space skimpy key-value store on flash-based storage
Proceedings of the 2011 ACM SIGMOD International Conference on Management of data
The case for VOS: the vector operating system
HotOS'13 Proceedings of the 13th USENIX conference on Hot topics in operating systems
Onyx: a protoype phase change memory storage array
HotStorage'11 Proceedings of the 3rd USENIX conference on Hot topics in storage and file systems
SILT: a memory-efficient, high-performance key-value store
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
Operating systems abstractions for software packet processing in datacenters
Operating systems abstractions for software packet processing in datacenters
Linux block IO: introducing multi-queue SSD access on multi-core systems
Proceedings of the 6th International Systems and Storage Conference
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
ACM SIGOPS 24th Symposium on Operating Systems Principles
Tango: distributed data structures over a shared log
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
Rhythm: harnessing data parallel hardware for server workloads
Proceedings of the 19th international conference on Architectural support for programming languages and operating systems
Strata: scalable high-performance storage on virtualized non-volatile memory
FAST'14 Proceedings of the 12th USENIX conference on File and Storage Technologies
Hi-index | 0.00 |
The performance of non-volatile memories (NVM) has grown by a factor of 100 during the last several years: Flash devices today are capable of over 1 million I/Os per second. Unfortunately, this incredible growth has put strain on software storage systems looking to extract their full potential. To address this increasing software-I/O gap, we propose using vector interfaces in high-performance networked systems. Vector interfaces organize requests and computation in a distributed system into collections of similar but independent units of work, thereby providing opportunities to amortize and eliminate the redundant work common in many high-performance systems. By integrating vector interfaces into storage and RPC components, we demonstrate that a single key-value storage server can provide 1.6 million requests per second with a median latency below one millisecond, over fourteen times greater than the same software absent the use of vector interfaces. We show that pervasively applying vector interfaces is necessary to achieve this potential and describe how to compose these interfaces together to ensure that vectors of work are propagated throughout a distributed system.