IOLanes designs and builds systems software that will drive future I/O subsystems addressing current limitations and taking advantage of opportunities with multi- and many-core servers.
- Certain modules and parts of the code will be made available in the public domain.
- Parts of the code can be licensed for different types of use.
- The consortium is open to discussing opportunities for collaboration and possible joined exploitation of the technology.
Questions or additional information? Contact us.
Certain parts of the systems software and tools built in IOLanes are available under different license agreements. Please read the license agreement that applies in each case. We expect that more components will be made available as they become more stable.
- Kernel modules for partitioning the I/O path in native or hypervisor setups are available for licensing. SplitX eliminates I/O VM-exits on the guest I/O path, and ELI allows exitless interrupt delivery and completion for VMs. Both extensions will be released as part of the Linux Kernel, KVM, and QEMU.
- The code for DRAM I/O cache deduplication and Onloading mechanism in the Linux kernel is available upon request under a GPL license. Please send any requests to (ramon dot nou at bsc dot es).
- The kernel and user code for the IOAnalyzer is available upon request under a GPL license. Please send any requests to (ramon dot nou at bsc dot es).
Applications and parameters for I/O subsystem evaluation
- Enhanced TPC-W implementation. This code enhances the TPC-W implementation performed by the Univ. of Wisconsin. The enhancements enable to inject higher loads than the original implementation and solve scalability issues of the database pool. These improvements have allowed to inject higher rates to stress a high-performance storage system being developed as part of the IOLanes project.
- zmIO: zmIO is a microbenchmark that stresses base performance of an I/O subsystem at low CPU overhead.
- Instructions on how to use the SPAMD applications (companion to MASCOTS'12 paper). [link]
I/O monitoring and Visualization Tools
- Instrumentation and an analysis engine: provides an unified way for instrumenting, analyzing and visualizing data from single and multiple experiments configurations. The focus of the implementation is to deliver a low-overhead, fine-grained and configurable instrumentation stack that can be easily deployed and integrated within testing/benchmarking workflows. The instrumentation will work at all levels of the stack, from kernel level, user space to applications.
- Analytics engine: provides in-depth analysis of all metrics monitored at all levels of the IO path in single and multiple experiment. It will also include an user interface that facilitates the use of the overall instrumentation and analytics platform by non-expert users. The analytics engine will be able to run as-a-service on the web and in a clustered configuration to improve the response time of analysis and graph generation.
- SSWAT: Kernel-level execution time breakdowns per kernel subsystem.