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

A Kind of SCSI IO Dispatching Algorithm

IP.com Disclosure Number: IPCOM000180729D
Original Publication Date: 2009-Mar-16
Included in the Prior Art Database: 2009-Mar-16
Document File: 3 page(s) / 35K

Publishing Venue

IBM

Abstract

Provide a mechanism to map applicaions' requirement to SCSI IO configuration.According to the value of LUNs' configuration to decide which SCSI commands will be scheduled in an executing period and provide a mechanism to avoid timeout error. By this method, applications can balance application's IO time according their requirement and ensure IO performance.

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

Page 1 of 3

A Kind of SCSI IO Dispatching Algorithm

A Kind of SCSI IO Dispatching AlgorithmA Kind of SCSI IO Dispatching Algorithm

1 Introduction

Different application related with different SCSI LUNs needs flexible SCSI IO Dispatching mechanism to satisfy its special requirements. For example, there are two applications providing data storage service, one will provide some services to customers of high priority and the other will provide other data access service to common customers. In some condiitions, service provider wants SCSI component could implement a mechanism that can balance IO time between these applications, for example, the provider would like allocate 80% IO resource to the application for the customers of high priority and 20% to the other applications. So the problem is how to evaluate customers' requirements and define an algorithm to dispatch SCSI IO commands to satisfy customers' requirements. The existing SCSI specification only define SCSI command attribute: Simple, Ordered and Head of queue[1], and not used complex Queueing algorithmsit. So it is very hard to use existing SCSI command attributes to solve this problem .

This method is an improvement for the SCSI specification. It is arccording to applications' requirement to provide a complex schedule algorithm in SCSI initiator and based on this provide a complex SCSI IO sequence. Through this method, applications can balance application's IO time according their requirement .

2

Algorithm Description and Analysis

Sympol Definition:

Num

S : Number of SCSI commands that will be executed on every LUN.

i ETime

T : Expected time that executes SCSI commands with the number equals Num

S on the ith LUN.

T : Real time that executes SCSI commands with the number equals Num

i RTime

S on the ith LUN.

T : Square error between

i RTime

Diff

T and

T .

i ETime

Diff T

=}

{

n

2

T

T

i RTime

i ETime

i

=

1

S : Number of SCSI command sent to the ith LUN.
P

S : Number of SCSI command will be executed in a period.

i E

S : Expected number of SCSI command will be executed on a LUN in a period

i R

S : Real number of SCSI command was executed on a LUN in a period

Guard

T : Timeout guard time
LTime

T : Live time until now of this SCSI command

Timeout : Timeout flag. If 0

i

Guard

TLTime T , 1

³Timeout , else 0

=

Timeout .

=

Mapping Mechanism:

Different application only can run on different LUNs, shown as the Figure 1.

1

Page 2 of 3

Application 0

Application 1

Application n-1

Application n

LUN 0

LUN 1

LUN n-1

LUN n

Figure 1

Assume the ith application will run on the ith LUN. Using

i ETime

                                     T to describe the mth application's requirements to the ith LUN . The mapping mechansim can be described as :
In an exectuing period,number of P

S SCSI commands will be executed and to the ith LUN,

T

S

i E

S

i Exp p

S SCSI commands will be dispatched and

×

= n

j

 j Exp

T

number of

i E

=1 .

Algorithm Description:
1) Shown as Fi...