Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Method and Means of Improving Performance of CPU-bound Systems by Offloading OS Functionality to RAID Controller.

IP.com Disclosure Number: IPCOM000014648D
Original Publication Date: 2001-Feb-01
Included in the Prior Art Database: 2003-Jun-20
Document File: 1 page(s) / 41K

Publishing Venue

IBM

Abstract

The TPCC benchmark in a single-server setup runs one Windows-based server fully loaded with RAID adapters, each of which is fully loaded with disk drives. This server is then attached to 300+ clients all issuing database requests. Even with the largest n-way highest MHz processor systems on the market today, the server CPU becomes the bottleneck to throughput. An I/O from the Windows OS is represented in a Windows IRP/MDL structure. The function of the device driver is to take the Windows view of the I/O and break it into I/O of size and structure that the RAID controller can understand. This results in device driver logic to handle translation between the structure types and in logic to handle multiple RAID controller I/Os being generated from a single operating system I/O. This invention suggests a OS-specific front end to the firmware to offload the IRP/MDL processing to the controller, thus freeing up valuable CPU cycles on the host. In this design, the Windows RAID controller device driver does nothing but pass the controller the address of the IRP. The firmware dma's the IRP and associated MDL structures to the structure and then breaks apart the IRP into multiple requests as necessary. When all pieces of the IRP are complete, the firmware interrupts the device driver who then signals completion to the upper layers. 1

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 100% of the total text.

Page 1 of 1

  Method and Means of Improving Performance of CPU-bound Systems by Offloading OS Functionality to RAID Controller.

The TPCC benchmark in a single-server setup runs one Windows-based server fully loaded with RAID adapters, each of which is fully loaded with disk drives. This server is then attached to 300+ clients all issuing database requests. Even with the largest n-way highest MHz processor systems on the market today, the server CPU becomes the bottleneck to throughput.

An I/O from the Windows OS is represented in a Windows IRP/MDL structure. The function of the device driver is to take the Windows view of the I/O and break it into I/O of size and structure that the RAID controller can understand. This results in device driver logic to handle translation between the structure types and in logic to handle multiple RAID controller I/Os being generated from a single operating system I/O.

This invention suggests a OS-specific front end to the firmware to offload the IRP/MDL processing to the controller, thus freeing up valuable CPU cycles on the host. In this design, the Windows RAID controller device driver does nothing but pass the controller the address of the IRP. The firmware dma's the IRP and associated MDL structures to the structure and then breaks apart the IRP into multiple requests as necessary. When all pieces of the IRP are complete, the firmware interrupts the device driver who then signals completion to the upper layers.

1