by Angelos Bilas
Data storage technology today faces many challenges, including performance inefficiencies, inadequate dependability and integrity guarantees, limited scalability, loss of confidentiality, poor resource sharing, and increased ownership and management costs. Given the importance of both direct-attached and networked storage systems for modern applications, it becomes imperative to address these issues. Multicore CPUs offer the promise of dealing with many of the underlying limitations of today’s I/O architectures. However, this requires careful consideration of architectural and systems issues and complex interactions in the I/O stack, all the way from the application to the disk. “IOLanes” (Advancing the Scalability and Performance of I/O Subsystems in Multicore Platforms) is new a EC-funded project led by FORTH-ICS that addresses these issues.
IOLanes targets three major challenges: (i) dealing with performance and scalability issues of the I/O stack on multicore architectures, (ii) addressing I/O performance and dynamic resource management issues in virtualised, single-host environments, and (iii) examining on-loading and off-loading tradeoffs for advanced functions that are becoming essential in modern storage systems, eg compression, protection, encryption, error correction.
Our lives are becoming increasingly dependent on electronic information that is processed and stored in computer systems. Individuals, businesses, and organizations cannot survive in today’s competitive economy without the use of digital information stored in electronic data storage systems. Data storage is perhaps the most critical and valuable component of today’s computing infrastructures. However, critical and valuable as they may be, existing data storage systems today fall short of applications and users’ needs in four main respects:
- Performance: The storage system continues to be the performance bottleneck in most computer systems, due to the processor-disk performance gap. The recent advent of multicore processors and the steadily increasing number of cores per chip has resulted in a decrease in the effective storage bandwidth available per core.
- Dependability and Data Integrity: For the last three decades there has been a dramatic increase of storage density in magnetic and optical media, which has led to significantly lower cost per capacity unit (€/GB). Furthermore, organizations and individuals have taken advantage of this trend by creating and storing ever-increasing amounts of digital data. Storing and handling these unprecedented amounts of data has led to increased failures; and failures in the storage subsystem can be unnerving.
- Data Confidentiality: The sensitivity of digital data for individuals and organisations requires careful protection of all digital assets. Data should always be stored in eg an encrypted form to prevent leakage to anyone who can obtain access to the operating systems or physical access to the storage device(s). However, such solutions remain, to date, exotic, are not used in most systems, and even when they can be used, they are extremely costly in terms of processing cycles and power.
- Resource and content consolidation: In order to minimise both cost and complexity in storage systems there is an increasing need to consolidate both (a) storage resources and (b) data and content. The first, results in better use of available resources, mainly via sharing among multiple applications and amortizing peak needs. The second simplifies as much as possible, management procedures and mechanisms that incur important costs to modern storage infrastructures.
A basic enabler for building the future storage systems is to take advantage in the I/O stack of the performance potential of multicore CPUs and at the same time deal with their shortcomings.
Data storage processing is typically structured as an “I/O path” that takes data from the application to the storage device itself when we need to store it or retrieve it. The I/O path in existing virtualized systems traverses through several layers of the system: the application and middleware layer, the virtual machine (VM) layer, the host operating system (OS) layer and the embedded storage controller firmware layer. In non-virtualized systems, there are no virtual machines and applications are executed on the host OS. This generic layered structure is shown in Figure 1.
Figure 1: Layers in the I/O path of existing systems.
IOLanes aims to analyse and address challenges throughout the I/O path. It will analyse and address inefficiencies associated with these layers on multicore CPUs, by designing an I/O stack that minimizes unnecessary overheads and scales with the number of cores. Since storage systems are perhaps the most critical component of modern computing infrastructures, the proposed work will benefit many I/O-intensive applications that support activities of businesses, organizations, and individuals alike. Our work will result in systems that are able to perform multi-GBytes/s I/O in virtualized environments, supporting advanced functionality, and allowing scalability with the number of cores, as multicore architectures evolve over time.
The project is carried out by ICS-FORTH; Univ. Politécnica Madrid, Barcelona Supercomputing Center. Spain; IBM Israel - Science and Technology LTD, Israel; Intel Performance Learning Solutions Ltd., Ireland, and Neurocom S.A. , Greece. The IOLanes project is part of the portfolio of the Embedded Systems Unit – G3, Directorate General Information Society (http://cordis.europa.eu/ist/ embedded).