# Patent

## Title
Statistical based admission control technique using three random variable admission control

## Abstract

Admission of a new disk stream is based on the probability of overcommitting disk bandwidth based on parameters related to the disk. These fixed parameters are determined either by retrieval from the disk or by investigating the disk. Probability functions of the disk parameters may be obtained. Exemplary disk parameters may be average disk seek time, probabilistic determination of the amount of data exchange during a single exchange, and probabilistic information about reading versus writing.

## Background
PRIORITY
The present application claims priority from Provisional Application No. 60/601,391, filed Aug. 12, 2004, the contents of which are herewith incorporated by reference.


STATEMENT AS TO FEDERALLY SPONSORED RESEARCH
This application may have received funding under Grant No. EEC-9519152 NSF and No. IIS-0082826 NSF. The government may have certain rights to this invention.


BACKGROUND
Magnetic disk drives may be used for many different video applications. Examples include streaming media servers, digital hub devices such as TiVo, and TV studio and film production equipment.
When used for video, disk drives assign data blocks in one of two generally accepted paradigms: either in a round-robin sequence, or randomly.
The round robin placement uses a cycle based approach. This guarantees certain aspects of service quality. The random placement uses a deadline driven approach. This may have certain advantages such as delivery rate advantages with a single storage data block size, improved support for interactive applications and support for certain kinds of data reorganization. These latter applications may be supported with cycle based scheduling. However, cycle based scheduling may need to assume that certain disk parameters have their worst-case values. This can cause complexity and lack of efficiency.
Deadline driven scheduling can be configured efficiently in a way that encodes a low probability of disruptions. One important task includes limiting the number of streams to minimize the number of missed deadlines. This task is performed by the admission control part of the scheduler.
SUMMARY
The present application describes a statistical based admission control technique referred to as three random variable admission control, or TRAC. One aspect enables defining a maximum probability of missed deadlines.



BRIEF DESCRIPTION OF THE DRAWINGS
These and other aspects will now be described in detail with reference to the accompanying drawings, wherein:
FIG. 1A illustrates a read and write transfer profile of a specified disk drive;
FIG. 1B illustrates the parts of a disk drive, including the multiple platters and processing part;
FIG. 2 illustrates an integration region for specified parameters; and
FIGS. 3A and 3B illustrate the seek time profile and probability function respectively for a specific disk drive; and
FIG. 4 illustrates a flowchart of the admission control policy.



DETAILED DESCRIPTION
The general structure and techniques, and more specific embodiments which can be used to effect different ways of carrying out the more general goals are described herein.
The admission control algorithm which is used herein enables modeling a more comprehensive set of features for real-time storage and retrieval then many previous techniques. One aspect targets multi-stream architectures. Typical personal video recorders such as TiVos are often restricted to one recording and one playback stream. Such a set of streams has typically enjoyed minimal if any problems with disk bandwidth resources, especially if the video is being compressed. Hence, the scenario of one recording stream, one playback stream provides minimal barriers to the admission control procedures.
However, complex video control devices may manage multiple video and audio streams using FireWire, USB and/or a wireless connection. This provides a resource constrained large-scale or multiscale system.
According to aspects, the present system supports many different kinds of video access. It may be important to support variable bit rate streams in order to support certain kinds of compressed video such as MPEG-2 movies. It may also be important to support concurrent reading and writing of video streams.
One feature that is modeled and accounted for according to the present system, is that many disk drives provide less write bandwidth than read bandwidth. For example, FIG. 1A illustrates the read and write transfer profile of an exemplary disk drive, and FIG. 1B shows a block diagram of such a drive. The disk drive includes a plurality of platters 150, 151, 152, 159. A controller 160 controls the operation of the drive, according to the techniques described herein. The top curve of FIG. 1A shows the read profile, and the bottom curve shows the write profile.
According to the present system, the combined available bandwidth becomes a function of the mix of reading and writing. An embodiment describes using a dynamic bandwidth sharing mechanism as part of the admission control, which takes into account expected reading amounts, expected writing amounts, and other parameters.
Another important issue may be support for multizone discs. FIG. 1A illustrates how the transfer rates for disk drives may be different depending on the position of writing on the disk. The data is recorded in concentric “rings” (called zones) on each platter. The outermost ring has the longest circumference and can hence store the most data. Because a platter spins at a constant angular velocity, more data per time unit is transferred from a large ring as opposed to a small ring. The outermost zone of the disk may provide up to 30% more bandwidth then the innermost zone of the disk.
The present system may also support modeling of the variable seek time and the variable rotational latency that is naturally part of every data block that is read and written. Finally, this may support efficient data placement in random locations.
The technique is based on parameters of the disk and the multiple clients of the disk. For a specified scenario, the system may be service variable rate clients using deadline driven scheduling and data blocks that are allocated to a disk using a random placement policy. Server activity is observed periodically. The time interval over which observation is maintained is referred to as Tsvr.
This phase of the model is hence characterized by three random variables:
D(i) denotes the amount of the data to be retrieved or recorded for the client i during the observation window Tsvr.
 RDr represents the average disk read bandwidth during the interval Tsvr with no bandwidth allocation to writing, and
Tseek(av) denotes the average disk seek time during each observation time interval Tsvr.
Tseek(i) defines the disk seek time for client i during the interval Tsvr. Nrs is defined as the number of retrieval streams, and nws is defined as the number of recording streams. Therefore, n=nrs+nws. Also, RDw(hat) represents the average disk bandwidth (here in megabytes per second) allocated for writing during Tsvr. Similarly, RDr(hat) represents the average bandwidth for reading. The mixed load of retrieving and recording clients provides an average combined disk bandwidth of RDio(av) which is constrained by RDio(av)=RDr(hat)+RDw(hat).
Consequently, the maximum data that can be read and written during each interval Tsvr can be expressed by

 RDiox(Tsvr−Σi+1nrs+nwsTseek(i))  (1)

Furthermore, if Σi=1nD(i) Represents the total read and write bandwidth requirement during Tsvr from all streams n, then the probability of missed deadlines, piodisk can be computed by:




  
    
      
        Piodisk
        =
        
          P
          ⁡
          
            [
            
              
                
                  ∑
                  
                    i
                    =
                    1
                  
                  n
                
                ⁢
                
                  D
                  ⁡
                  
                    (
                    i
                    )
                  
                
              
              >
              
                (
                
                  
                
                ⁢
                
                  
                    
                      R
                      dio
                    
                    _
                  
                  ×
                  
                    (
                    
                      
                        T
                        svr
                      
                      -
                      
                        
                          ∑
                          
                            i
                            =
                            1
                          
                          n
                        
                        ⁢
                        
                          
                            T
                            seek
                          
                          ⁡
                          
                            (
                            i
                            )
                          
                        
                      
                    
                    )
                  
                
                )
              
            
            ]
          
        
      
    
    
      
        (
        2
        )
      
    
  




The following describes operation during the worst-case scenario. However, a missed deadline, in a reasonable scenario, may be hidden by data buffering.
If Tseek(j) denotes the seek time for a disk access j, where j is an index for each disk during Tsvr, then the total seek time is:




  
    
      ∑
      
        i
        =
        1
      
      n
    
    ⁢
    
      
        T
        seek
      
      ⁡
      
        (
        i
        )
      
    
  
  =
  
    
      
        ∑
        
          j
          =
          1
        
        m
      
      ⁢
      
        
          t
          seek
        
        ⁡
        
          (
          j
          )
        
      
    
    =
    
      m
      ×
      
        t
        seek
      
    
  




Where m denotes the number of seeks and tseek is the average seek time, both during Tsvr. Because every seek operation is followed by a data block read or write, m can also be expressed by




  m
  =
  
    
      
        ∑
        
          i
          =
          1
        
        n
      
      ⁢
      
        D
        ⁡
        
          (
          i
          )
        
      
    
    
      B
      disk
    
  




where Bdisk is the block size.
The appropriate substitutions allow arriving at the final expression for the probability of over-committing the disk bandwidth, which may translate into missed I/O deadlines.




  
    
      
        Piodisk
        =
        
          
            P
            [
            
              
                
                  ∑
                  
                    i
                    =
                    1
                  
                  n
                
                ⁢
                
                  D
                  ⁡
                  
                    (
                    i
                    )
                  
                
              
              >
              
                (
                
                  
                    
                      
                        R
                        Dio
                      
                      _
                    
                    ×
                    
                      T
                      svr
                    
                  
                  
                    1
                    +
                    
                      
                        
                          
                            t
                            seek
                          
                          _
                        
                        ×
                        
                          
                            R
                            Dio
                          
                          _
                        
                      
                      
                        B
                        disk
                      
                    
                  
                
                )
              
            
            ]
          
          ≤
          Preq
        
      
    
    
      
        (
        3
        )
      
    
  




Here, the random variable RDio(av), the average combined disk bandwidth for the reading and writing mix, has interesting properties which will be exploited.
The FIG. 1A illustration of an exemplary disk transfer rate for reading and writing with a modern multizone disk drive shows how that the average I/O bandwidth, that is the combined bandwidth, will change depending on the mix of read versus write allocation. A partition factor δ is defined herein that defines the percentage of disk bandwidth that is allocated for reading versus writing.
According to the present system, disk bandwidth sharing is set while considering how to partition the disk bandwidth for reading and writing, while maximizing resource utilization. This is done according to the following Design Goals for the admission control algorithm:
DG1: Share the total disk bandwidth between read and write request.
DG2: dynamically allocate the available disk bandwidth to read or write request on demand.
DG3: Support multiple bandwidth sharing policies according to defined definitions.
The following provides some exemplary definitions. It should be understood that there are many other definitions and policies that could be used, but the ones described herein may produce certain advantages.
DEFINITION 3.1: The non-reservation-based bandwidth sharing (NRBS) policy is defined as disk reading and writing request are served with no preference, i.e., no bandwidth reservation for either reading or writing exist.
DEFINITION 3.2: The reservation-based bandwidth sharing (RBS) policy is defined as:
a fraction of the disk bandwidth is reserved for disk reading or writing. When disk bandwidth is reserved for writing it is termed Write-Reservation-based Bandwidth Sharing policy (WRBS). When disk bandwidth is reserved for reading, it is termed Read-Reservation-based bandwidth sharing policy (RRBS).
This issue is generically referred to an bandwidth sharing. The disk bandwidth is partitioned according to δ. As δ moves from 0 to 1, more bandwidth is allocated for reading and RDio varies from RDw(av) to RDr(av). Thus, RDio(av) can be expressed as:

 RDio=δ RDr+(1−δ) βRDw  (4)

Where RDr(av) and RDw(av) are the two random variables. The relationship between the average read and the average write bandwidth is modeled with the parameter β=RDw/RDr. β can be obtained experimentally from disk profiling as explained herein. For a multi-zone disk, the ratio between write and read bandwidth may differ from zone to zone.
Let βk denote the ratio between write and read bandwidth for zone k. For example, for a Seagate Cheetah X15 disk, β0=0.668, β1=0.679, and β2=0.673 (see Table 2) For this disk model, βk varies about 13% (βkε[0.668,0.757]) across all zones. It can be proved that βε[βkmin,βkmax]=[0.668,0.757], where βkmin and βkmaz are the minimum and maximum among all βk respectively , and kε[l,w] and w is the total number of zones. It is generally true that β does not change much. Based on the strong law of large numbers,




  
    
      lim
      
        n
        →
        ∞
      
    
    ⁢
    
      
        
          R
          DW
        
        _
      
      
        
          R
          Dr
        
        _
      
    
  
  =
  
    
      
        μ
        ⁢
        
          
        
        ⁢
        
          R
          DW
        
      
      _
    
    
      
        μ
        ⁢
        
          
        
        ⁢
        
          R
          DW
        
      
      _
    
  




The model may be simplified by using the limit value as β in further calculations. Therefore, Eq. 4 Can be rewritten as:

 RDio=δ RDr+(1−δ)βRDr  (5)

To satisfy DG1 and DG2, the partition factor δ must be dynamically adjusted according to the system conditions, i.e., the ratio between the read and write load. This behavior may be modeled by the mixed-load factor α




  
    
      
        α
        =
        
          
            rD
            r
          
          
            
              r
              Dr
            
            +
            
              
                R
                DW
              
              β
            
          
        
      
    
    
      
        (
        6
        )
      
    
  




where rDr and rDw denote the current disk read and write bandwidth, respectively. For example, with α=1 only reading clients exist in the system, and α=0 implies only recording clients are in the system.

Next, δ is then computed under disk read load rDr and write load rDw conditions, using different bandwidth sharing policies, assuming that rDr+rDw>0. We conjecture the following theorem.
THEOREM 3.3: To satisfy the design goals DG1, DG2, and DG3,




  δ
  =
  
    α
    =
    
      
        R
        Dr
      
      
        
          r
          Dr
        
        +
        
          
            R
            Dw
          
          β
        
      
    
  




The bandwidth sharing policies can be adjusted according to application. Disk bandwidth with a mixed load factor α can be expressed as:

 RDio= αRDr+(1−α) βRDr  (7)

This equation considers two extreme cases as well: (1) when there is only read load, i.e., α=1, RDio=RDr, and
(2) when there is only write load, i.e., α=o, RDio=βRDr=RDw.
Based on Eq. 7, Eq. 3 can be further generalized to




  
    
      
        
          -
          
            P
            [
            
              
                
                  ∑
                  
                    i
                    =
                    1
                  
                  n
                
                ⁢
                
                  D
                  ⁡
                  
                    (
                    z
                    )
                  
                
              
              >
              
                (
                
                  
                    (
                    
                      
                        α
                        ⁢
                        
                          
                        
                        ⁢
                        
                          
                            R
                            Dr
                          
                          _
                        
                      
                      +
                      
                        
                          (
                          
                            1
                            ⁢
                            
                              
                            
                            ⁢
                            ...
                            ⁢
                            
                              
                            
                            ⁢
                            α
                          
                          )
                        
                        ⁢
                        β
                        ⁢
                        
                          
                        
                        ⁢
                        
                          
                            R
                            Dr
                          
                          _
                        
                        ⁢
                        
                          T
                          svr
                        
                      
                    
                  
                  
                    1
                    +
                    
                      
                        
                          
                            
                              
                                
                                  
                                    t
                                    seek
                                  
                                  ×
                                  
                                    (
                                    
                                      
                                        α
                                        ⁢
                                        
                                          
                                        
                                        ⁢
                                        
                                          R
                                          Dr
                                        
                                      
                                      +
                                    
                                    )
                                  
                                  ⁢
                                  1
                                
                                -
                                a
                              
                              )
                            
                            ⁢
                            β
                            ⁢
                            
                              
                            
                            ⁢
                            
                              R
                              Dr
                            
                          
                          )
                        
                        _
                      
                      
                        B
                        disk
                      
                    
                  
                
                )
              
            
            )
          
        
        ≤
        Preq
      
    
    
      
        (
        8
        )
      
    
  




Where α can be approximated with Eq. 9, in which μi denotes the mean value of random variable D(i).




  
    
      
        α
        ≈
        
          
            
              ∑
              
                i
                =
                1
              
              
                n
                rs
              
            
            ⁢
            
              μ
              ⁢
              
                
              
              ⁢
              i
            
          
          
            
              
                ∑
                
                  i
                  =
                  1
                
                
                  n
                  rs
                
              
              ⁢
              
                μ
                ⁢
                
                  
                
                ⁢
                i
              
            
            +
            
              
                
                  ∑
                  
                    i
                    =
                    1
                  
                  
                    n
                    ws
                  
                
                ⁢
                
                  μ
                  ⁢
                  
                    
                  
                  ⁢
                  i
                
              
              
                β
                ⁢
                
                  
                
              
            
          
        
      
    
    
      
        (
        9
        )
      
    
  




Let X, Y and Z denote Σi=1nD(i), tseek and RDr respectively. The probability
In Eq. 8 can then be evaluated as follows




  
    
      
        
          
            
              Piodisk
              =
              
                P
                ⁡
                
                  [
                  
                    
                      (
                      
                        X
                        ,
                        Y
                        ,
                        Z
                      
                      )
                    
                    ⁢
                    
                      
                    
                    ⁢
                    ε
                    ⁢
                    
                      
                    
                    ⁢
                    R
                  
                  ]
                
              
            
          
        
        
          
            
              =
              
                ∫
                
                  ∫
                  
                    
                      ∫
                      R
                    
                    ⁢
                    
                      
                        fxyz
                        ⁡
                        
                          (
                          
                            x
                            ,
                            y
                            ,
                            z
                          
                          )
                        
                      
                      ⁢
                      
                        d
                        x
                      
                      ⁢
                      
                        d
                        y
                      
                      ⁢
                      
                        d
                        z
                      
                    
                  
                
              
            
          
        
      
    
    
      
        (
        10
        )
      
    
  
  
    
      Where
    
    
      
        
      
    
  
  
    
      
        R
        =
        
          {
          
            
              (
              
                X
                ,
                Y
                ,
                Z
              
              )
            
            |
            
              X
              >
              
                (
                
                  
                    
                      (
                      
                        
                          α
                          ⁢
                          
                            
                          
                          ⁢
                          Z
                        
                        +
                        
                          
                            (
                            
                              1
                              -
                              α
                            
                            )
                          
                          ⁢
                          β
                          ⁢
                          
                            
                          
                          ⁢
                          Z
                        
                      
                      )
                    
                    ×
                    Tsvr
                  
                  
                    1
                    +
                    
                      
                        Y
                        ×
                        
                          (
                          
                            
                              α
                              ⁢
                              
                                
                              
                              ⁢
                              Z
                            
                            +
                            
                              
                                (
                                
                                  1
                                  -
                                  α
                                
                                )
                              
                              ⁢
                              β
                              ⁢
                              
                                
                              
                              ⁢
                              Z
                            
                          
                          )
                        
                      
                      
                        B
                        disk
                      
                    
                  
                
                )
              
            
          
        
      
    
    
      
        (
        11
        )
      
    
  




And fxyz(x,y,z) is the joint probability density function (“pdf”) of X, Y, Z.
FIG. 2 shows the integration region  of Eq. 11 with Tsvr=1 second, Bdisk=1 MB, α=0.5, and β=0.8. FIG. 2 shows only a small portion of the 3D space, where 0<X<80 MB/s, 0<Y<14 ms and 0<Z, 70 MB/s, which covers the operation parameters for most modern disk drives. Since the three random variables Σi=1nD(i), tseek and RDr are independent, this can be written as:

fxyz(x,y,z)=fx(x) fy(y) fz(z)  (12)

Where fx (x), fy(y) and fz(z) are the probability density functions of X, Y and Z, respectively.

    
    
        fx (x), fy (y), and fz(z), can be derived as follows:
    
    


Determination of fx(x): pdf of Σi=1nD(i)
D(i), as described above, denotes the amount of data that client i reads or writes during Tsvr. Since D(i) is only dependent on the stream bandwidth characteristics of each client, D(1)-D(n) are independent random variables. According to the central limit theorem, Σi=1nD(i) approaches a normal distribution with mean Σni=1μi(fix) and variance Σni=1(fix) where ui and σ2 denote the mean value and variance of D(i), respectively. Therefore, the probability density function of Σi=1nD(i) may be expressed as:




  
    
      
        
          fx
          ⁡
          
            (
            x
            )
          
        
        =
        
          
            
              1
              
                
                  √
                  2
                
                ⁢
                
                  ∏
                  
                    
                      ∑
                      
                        i
                        =
                        1
                      
                      n
                    
                    ⁢
                    
                      σ
                      i
                      2
                    
                  
                
              
            
            ⁢
            e
          
          -
          
            
              
                
                  [
                  
                    x
                    -
                    
                      
                        ∑
                        
                          i
                          =
                          1
                        
                        n
                      
                      ⁢
                      
                        μ
                        ⁢
                        
                          
                        
                        ⁢
                        i
                      
                    
                  
                  ]
                
                2
              
              
                2
                ×
                
                  
                    ∑
                    
                      i
                      =
                      1
                    
                    n
                  
                  ⁢
                  
                    σ
                    i
                    2
                  
                
              
            
            ⁢
            
              (
              fix
              )
            
          
        
      
    
    
      
        (
        13
        )
      
    
  




The other fs may be obtained in similar ways.

    
    
        Fy(y) is a probability density function of tseek Eq. 2 explains that
    
    






  
    
      t
      seek
    
    _
  
  =
  
    
      
        ∑
        
          j
          =
          1
        
        rh
      
      ⁢
      
        
          
            t
            seek
          
          ⁡
          
            (
            j
            )
          
        
        _
      
    
    m
  




    
    
         which shows that tseek is dependent on m variables tseek (j), with jε[l,m]. Due to the random data placement, these m random variables are independently and identically distributed with mean value μtseek (j) and variance σ2tseek (j). Assuming m>30, by the central limit theorem tseek also has a normal distribution with mean μ2tseek (j) and variance σ2 tseek (j).
    
    


Since




  m
  =
  
    
      
        ∑
        
          i
          =
          1
        
        n
      
      ⁢
      
        D
        ⁡
        
          (
          i
          )
        
      
    
    
      B
      disk
    
  




has a normal distribution and Bdisk is a constant; furthermore m is normally distributed with mean





  
    
      ∑
      
        i
        =
        1
      
      n
    
    ⁢
    
      μ
      ⁢
      
        
      
      ⁢
      i
    
  
  
    B
    disk
  




and variance





  
    
      
        ∑
        
          i
          -
          1
        
        n
      
      ⁢
      
        δ
        i
        2
      
    
    
      B2
      disk
    
  
  .




To simplify the model, m can be approximated with its mean value in later derivations. This allows obtaining the probability density function of tseek as:





  
    
      
        
          fy
          ⁡
          
            (
            γ
            )
          
        
        ≈
        
          
            1
            
              
                2
                ⁢
                
                  
                    π
                    
                      t
                      seek
                    
                    2
                  
                  ⁡
                  
                    (
                    j
                    )
                  
                
              
            
          
          ⁢
          
            e
            
              
                -
                
                  
                    
                      
                        ∑
                        
                          i
                          -
                          1
                        
                        n
                      
                      ⁢
                      
                        μ
                        i
                      
                    
                    
                      2
                      ⁢
                      
                        B
                        disk
                      
                    
                  
                  ⁡
                  
                    [
                    
                      
                        γ
                        -
                        
                          
                            μ
                            
                              t
                              seek
                            
                          
                          ⁡
                          
                            (
                            j
                            )
                          
                        
                      
                      
                        
                          μ
                          
                            t
                            seek
                          
                        
                        ⁡
                        
                          (
                          j
                          )
                        
                      
                    
                    ]
                  
                
              
              ⁢
              2
            
          
        
      
    
    
      
        (
        14
        )
      
    
  




Determination of μtseek (j) and σtseek (j)

Let Ui denote the rotational latency for disk access j and let Sj denote the percentage value (between 0 and 100) of the total disk storage capacity. The rotational latency may be considered to be part of the seek time tseek(j). The relationship among tseek(j), Sj, and Uj can be established through disk profiling and modeling as




  
    
      
        
          
            t
            seek
          
          ⁡
          
            (
            j
            )
          
        
        =
        
          {
          
            
              
                
                  
                    a
                    1
                  
                  +
                  
                    
                      b
                      1
                    
                    ⁢
                    
                      
                        
                          S
                          j
                        
                        +
                        
                          U
                          j
                        
                      
                    
                  
                
              
              
                
                  
                    if
                    ⁢
                    
                      
                    
                    ⁢
                    0
                  
                  ≤
                  
                    S
                    j
                  
                  ≤
                  r
                
              
            
            
              
                
                  
                    a
                    2
                  
                  +
                  
                    
                      b
                      2
                    
                    ⁢
                    
                      S
                      j
                    
                  
                  +
                  
                    U
                    j
                  
                
              
              
                
                  
                    if
                    ⁢
                    
                      
                    
                    ⁢
                    r
                  
                  <
                  
                    S
                    j
                  
                  ≤
                  100
                
              
            
          
        
      
    
    
      
        (
        15
        )
      
    
  




Where a1, b1, a2, b2 and r are the disk seek modeling parameters. Because of the random data placement, both Sj and Uj follow a uniform distribution with pdfs




  
    
      
        f
        
          sj
          ⁢
          
            
          
        
      
      ⁡
      
        (
        s
        )
      
    
    =
    
      
        
          1
          100
        
        ⁢
        
          (
          
            s
            ∈
            
              [
              
                0
                ,
                100
              
              ]
            
          
          )
        
        ⁢
        
          
        
        ⁢
        and
        ⁢
        
          
        
        ⁢
        
          
            f
            uj
          
          ⁡
          
            (
            u
            )
          
        
      
      =
      
        
          1
          h
        
        ⁢
        
          (
          
            u
            ∈
            
              [
              
                0
                ,
                h
              
              ]
            
          
          )
        
      
    
  
  ,




where h denotes the maximum rotational latency. This allows deriving the pdf of tseek(j) and computing μtseek (j) and tseek(j).

FIG. 3(a) shows the seek time profile of a Seagate cheetah x15 disk which has the following parameters: a1=1, b1=0.6, a2=2.1, b2=0.05, r=5, and h=4 ms. FIG. 3(b) shows a good match of the derived pdf of tseek(j), with the empirically measured relatively frequency histogram. Using the pdf of tseek (j), μtseek (j)=6.62 ms, tseek (j)=1.85 ms is obtained.
fz(z) can also be obtained as a probability density function of RDr.
Let RDr(j) denote the disk read bandwidth for disk access j during Tsvr. Then the average read bandwidth RDr can be computed as




  
    
      R
      Dr
    
    _
  
  =
  
    
      
        ∑
        
          j
          -
          1
        
        m
      
      ⁢
      
        
          R
          Dr
        
        ⁡
        
          (
          j
          )
        
      
    
    m
  




where these m random variables are independently and identically distributed with mean value RDr(j) and variance μRDr(j). Following similar reasoning in as that above, RDr also approaches a normal distribution with pdf




  
    
      
        
          fz
          ⁡
          
            (
            z
            )
          
        
        ≈
        
          
            1
            
              
                2
                ⁢
                π
                ⁢
                
                  
                
                ⁢
                
                  
                    σ
                    
                      R
                      Dr
                    
                    2
                  
                  ⁡
                  
                    (
                    j
                    )
                  
                
              
            
          
          ⁢
          
            e
            
              
                -
                
                  
                    
                      
                        ∑
                        
                          i
                          =
                          1
                        
                        n
                      
                      ⁢
                      
                        μ
                        i
                      
                    
                    
                      2
                      ⁢
                      
                        B
                        disk
                      
                    
                  
                  ⁡
                  
                    [
                    
                      
                        z
                        -
                        
                          
                            μ
                            
                              R
                              Dr
                            
                          
                          ⁡
                          
                            (
                            j
                            )
                          
                        
                      
                      
                        
                          σ
                          
                            R
                            Dr
                          
                        
                        ⁡
                        
                          (
                          j
                          )
                        
                      
                    
                    ]
                  
                
              
              ⁢
              2
            
          
        
      
    
    
      
        (
        16
        )
      
    
  




Determination of μRDr(j) and σRDr(j) is carried out as follows.
Most magnetic disk drives feature variable transfer rates due to a technique called zone-bit recording (ZBR), which increases the amount of data being stored on a track as a function of its distance from the disk spindle. The variable zone transfer rates is modeled with RDr(j). Let L denote the staring location of each disk access during tsvr. L can be quantified using the percentage value of the total disk capacity, i.e., Lε[0,100]. From the disk transfer rate profile in FIG. 1, the relationship between RDr(j) and L is modeled as




  
    
      
        
          
            R
            Dr
          
          ⁡
          
            (
            j
            )
          
        
        =
        
          {
          
            
              
                
                  v
                  1
                
              
              
                if
              
              
                
                  0
                  ≤
                  L
                  ≤
                  
                    
                      k
                      1
                    
                    ⁡
                    
                      (
                      
                        L
                        ∈
                        
                          Zone
                          ⁢
                          
                            
                          
                          ⁢
                          1
                        
                      
                      )
                    
                  
                
              
            
            
              
                ⋮
              
              
                ⋮
              
              
                
                  
                
              
            
            
              
                
                  v
                  w
                
              
              
                if
              
              
                
                  
                    k
                    
                      w
                      -
                      1
                    
                  
                  <
                  L
                  ≤
                  
                    
                      k
                      w
                    
                    ⁡
                    
                      (
                      
                        L
                        ∈
                        
                          Zone
                          ⁢
                          
                            
                          
                          ⁢
                          w
                        
                      
                      )
                    
                  
                
              
            
          
        
      
    
    
      
        (
        17
        )
      
    
  




Where w is the number of zones, and vi and ki model the multizone characteristics, where

iε[l,w], v1> . . . >vw, 0<k1< . . . <kw=100, and [0,k1][k1,k2], . . . , [k1−1,ki], . . . , [kw=1,kw]

represent zones 1, 2, . . . i, . . . w respectively. These w,vi and ki are termed disk transfer rate modeling parameters. Because of the random data placement, L is uniformly distributed with pdf





  
    
      f
      L
    
    ⁡
    
      (
      l
      )
    
  
  =
  
    
      1
      100
    
    ⁢
    
      
        (
        
          1
          ∈
          
            [
            
              0
              ⁢
              
                ,
              
              ⁢
              100
            
            ]
          
        
        )
      
      .
    
  




Consequently, with the introduction of Dirac delta functions [18] the pdf FRDr(r) can be derived as:





  
    
      
        
          
            f
            
              R
              Dr
            
          
          ⁡
          
            (
            r
            )
          
        
        =
        
          
            ∑
            
              i
              =
              1
            
            w
          
          ⁢
          
            
          
          ⁢
          
            
              
                
                  k
                  i
                
                -
                
                  k
                  i
                
                -
                1
              
              100
            
            ⁢
            
              δ
              ⁡
              
                (
                
                  r
                  -
                  
                    v
                    i
                  
                
                )
              
            
          
        
      
    
    
      
        (
        18
        )
      
    
  




The probability density function of RDr(j) allows determination of μRDr(j) and σRDr(j). For example, for a Seagate cheetah X15 disk, μRDr(j) =52.26 MB/s and σRDr(j)=5.33 MB/s. The final step is to apply μRDr(j) to Eq. 16 resulting in the pdf for RDr.
The above has described how to determine the necessary components to evaluate piodisk, the probability of over-committing the disk bandwidth.
The above extensively define the probability of missed deadlines. Those probabilities are then incorporated into a complete admission control procedure{s} which supports the bandwidth sharing policies. A flowchart of this is shown in FIG. 4. The flowchart may be executed within the control of 160 that is already present within the disk drive, or alternatively may be executed within any external controller or any device in any way associated with the system. The flowchart is divided into two basic components. The disk model 401-407 finds information about the disk itself which is being used for the application. The present embodiment describes determining this information through analysis, but this may be as simple as reading the information from prestored parameters on the disk. The admission decision module in steps 408-818 carries out the actual admission.
The modeling needs to be evaluated only when a new disk or other device is introduced into the system. 401 and 402 respectively represent determining the maximum rotational latency, and profiling the seek time. The seek profile parameters are used as part of equation 15 above. These values are used to obtain the mean and variance of Tseek(j) at 403. 404 selects the optimal block size and 405 profiles the disk transfer rates. The results produce the modeling parameters from equation 17. At 406, the mean and variance of RDr(j) is obtained as described above. At 407, the relationship between the read and write, and the value data is determined.
As an example, assume the disk transfer rate profile of the Seagate disk of the type shown in FIG. 1A. Table 2 lists the βk value for each of the disc zones.







TABLE 2







Zoning information of a Seagate Cheetah


X15 (model ST336752LC) disk.













Zone
Size
Read
Write
βα
Start
End
















0
12
57.5
38.4
0.66
0
12


1
3
55.4
37.6
0.67
12
15


2
3
54.7
36.8
0.67
15
18


3
4,000
52.7
36.2
0.68
18.94
23,040


4
3,000
50.6
35.3
0.69
23.04
26,112


5
2,500
48.1
34.5
0.71
26.11
28,672


6
3,000
45.6
33.1
0.72
28.67
31,744


7
2,500
43.6
32.2
0.73
31.74
34,304


8
2,500
41.9
31.7
0.75
34.30
36,864





αRatio between write and read data transfer rate of a zone.






For this specific disk, βk may vary slightly between 0.668 and 0.757. β is also bounded by the same range as βk. This enables determining μRDw(j), which represents the disk write bandwidth for disk access J during tsvr with no bandwidth allocation for reading. The model can be simplified by approximating beta by its limit




  
    μ
    
      
        R
        Dw
      
      _
    
  
  
    μ
    
      
        R
        Dw
      
      _
    
  




For example, the value for the Cheetah X15 is μβ=0.690337.
Note that these disk modeling procedures only need to be evaluated once for each disk drive. This could be done before the system is started in an off-line mode, or online, for example when a new disk is introduced into a streaming server.
The admission decision module is carried out, in contrast, each time there is a new stream request. It starts when a new client request is received at 408. If the request is for recording a stream, then estimates of the mean and variance of the new variable bit rate stream are also provided. If the stream is later admitted, these values will be stored in a repository. Therefore, when the stream request is retrieved, mean and variance are simply retrieved from the internal database.
409 implements the bandwidth sharing policies. In the case of nrbs, this becomes a pass through.
At 410, the mixed-load factor a is updated according to equation 9, and the parameters are calculated at 411, 412 and 413, as described above. 411, calculates or updates the probability density function of the seek time, 412 calculates/updates the probability density function of D, and 413 updates the probability density function of the disk bandwidth characteristics.
At 414, the overload probability piodisk is computed using equation 10. The decision whether to admit or not is carried out by comparing the probability with the rejection probability at 415. If greater, then the stream request is rejected, otherwise the client request is admitted, at 416, and the session information is added to the internal database.
409 enables policy decisions, and allows providing preferential treatment to either the retrieval or the recording requests. These are referred to as reservation based airing policies, described in definition 3.2. The write rbs denotes a fraction of the disc's read/write capacity that must be reserved for writing. The maximum read load should not exceed that. Hence, at 409, the system read load is added to the new stream, and compared with this limit. The evaluation can be




  
    
      real
      ⁢
      
        
      
      ⁢
      load
    
    
      total
      ⁢
      
        
      
      ⁢
      read
      ⁢
      
        
      
      ⁢
      capacity
    
  
  ≈
  
    
      
        ∑
        
          i
          =
          1
        
        
          μ
          rs
        
      
      ⁢
      
        
      
      ⁢
      
        u
        i
      
    
    
      μ
      
        R
        Dr
      
    
  




where μRDr is the mean value of the random variable RDr(j) (see above) and μi(iε[l,nws]) denote the mean value for each variable recording stream.

If the threshold is not exceeded, than the stream may be further evaluated equivalently to the non-reservation policy, else the request is rejected.
Analogously, the read rbs denotes the portion of the discs read/write capacity that is reserved for reading. The fraction of the write load is evaluated and compared with the limit. This evaluation can be similarly or analogously approximated by




  
    
      writing
      ⁢
      
        
      
      ⁢
      
        load
        /
        β
      
    
    
      total
      ⁢
      
        
      
      ⁢
      reading
      ⁢
      
        
      
      ⁢
      capacity
    
  
  ≈
  
    
      
        ∑
        
          i
          =
          1
        
        
          n
          ws
        
      
      ⁢
      
        
      
      ⁢
      
        
          μ
          i
        
        /
        β
      
    
    
      μ
      
        R
        Dr
      
    
  




which is the mean value of the random variable RDr(j) and μi(iε[l,Nws]) denote[s] the mean value for each VBR recording stream.

Another embodiment describes multiple disks in the system. For purposes of this embodiment, the number of disks in the system is denoted as ε.
The read write resource to support n streams is scaled by a factor of 1/ε on average for each individual disk.
Σi=1nD(i) denotes the total R/W resource requirements during Tsvr. Thus, the average amount of data to be stored to or retrieved from each disk during Tsvr can be computed as λavg




  
    λ
    ⁢
    
      
    
    ⁢
    avg
  
  =
  
    
      
        ∑
        
          i
          =
          1
        
        n
      
      ⁢
      
        
      
      ⁢
      
        D
        ⁡
        
          (
          i
          )
        
      
    
    ɛ
  




Assuming a random data placement across the ε disks, the R/W resource requirement λi for disk i during Tsvr can be approximated with





  
    
      λ
      ⁢
      
        
      
      ⁢
      i
    
    ≈
    
      λ
      ⁢
      
        
      
      ⁢
      avg
    
  
  =
  
    
      
        
          
            ∑
            
              j
              =
              1
            
            n
          
          ⁢
          
            
          
          ⁢
          
            D
            ⁡
            
              (
              j
              )
            
          
        
        ɛ
      
      ⁢
      
        
      
      ⁢
      where
      ⁢
      
        
      
      ⁢
      i
    
    ∈
    
      
        [
        
          1
          ,
          ɛ
        
        ]
      
      .
      
        
      
      ⁢
      i
    
    ∈
    
      
        [
        
          1
          ,
          ɛ
        
        ]
      
      .
    
  




Recall that Σi=1nD(i) follows a normal distribution (see above) and since ε is constant, λi also approaches a normal distribution with mean value





  
    μ
    
      λ
      ⁢
      
        
      
      ⁢
      i
    
  
  =
  
    
      
        
          ∑
          
            i
            =
            1
          
          n
        
        ⁢
        
          
        
        ⁢
        
          μ
          i
        
      
      ɛ
    
    .
  




Consequently, following analogous reasoning as in the single disk case, the admission control criteria is modified to:





  
    
      
        Piodisk
        =
        
          P
          ⁡
          
            [
            
              
                
                  
                    ∑
                    
                      i
                      =
                      1
                    
                    n
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    D
                    ⁡
                    
                      (
                      i
                      )
                    
                  
                
                ɛ
              
              >
              
                (
                
                  
                    
                      α
                      
                        
                          R
                          Dr
                        
                        _
                      
                    
                    +
                    
                      
                        (
                        
                          1
                          -
                          a
                        
                        )
                      
                      ⁢
                      
                        β
                        
                          
                            R
                            Dr
                          
                          _
                        
                      
                      ⁢
                      
                        xT
                        svr
                      
                    
                  
                  
                    1
                    +
                    
                      
                        
                          
                            
                              t
                              seek
                            
                            _
                          
                          ⁢
                          
                            x
                            ⁡
                            
                              (
                              
                                
                                  α
                                  
                                    
                                      R
                                      Dr
                                    
                                    _
                                  
                                
                                +
                              
                              )
                            
                          
                          ⁢
                          1
                        
                        -
                        
                          αβ
                          
                            
                              R
                              Dr
                            
                            _
                          
                        
                      
                      
                        B
                        disk
                      
                    
                  
                
                )
              
            
            ]
          
        
      
    
    
      
        (
        19
        )
      
    
  




Note that the probability density functions need to be updated to reflect the decreased mean the variance values for the load on each disk. Furthermore the number of seek operations will also be approximately evenly distributed across all disks.
Importantly, it has been found that the benefits of this technique may increase linearly with the number of disks. Computational complexity may depend on the integration region and other disk parameters.
Although only a few embodiments have been disclosed in detail above, other embodiments are possible and the inventors intend these to be encompassed within this specification. The specification describes specific examples to accomplish a more general goal that may be accomplished in other way. This disclosure is intended to be exemplary, and the claims are intended to cover any modification or alternative which might be predictable to a person having ordinary skill in the art. For example, of the rules and design goals can be obtained. Moreover, the disk modeling may be substituted by simple import of characteristics of the disk, for example. While the admission decision is described as being based on probability density functions, it should be understood that any parameter related to probability may be substituted.
Also, the inventors intend that only those claims which use the words “means for” are intended to be interpreted under 35 USC 112, sixth paragraph. Moreover, no limitations from the specification are intended to be read into any claims, unless those limitations are expressly included in the claims.

## Claims

1. A method, comprising:
determining information about at least one disk which will be used to store information;
using said information to determine whether to admit a new data stream, said using comprising determining a probability of overcommitting disk bandwidth from all of a first parameter related to disk seek time, a second parameter related to disk bandwidth, and a third parameter related to amount of data exchanged during a disk access, wherein said using further comprises comparing said probability with a rejection probability, and allowing the new data stream to be scheduled based on said comparing, wherein said using further comprises determining a parameter based on the relationship between a disk's average read bandwidth and average write bandwidth, determining a first percentage related to a disk bandwidth reserved for disk reading; and determining a second percentage related to an average amount of data to be retrieved relative to an average amount of data to be recorded based on calculations comprising reading and writing requirements for the data stream.

2. A method as in claim 1, wherein said first, second and third parameters include probability density functions related to said parameters.

3. A method as in claim 2, wherein further comprising at least one of said first, second and third parameters also include a load factor that relates to a probability of disk access being reading versus writing.

4. A method as in claim 2, wherein at least one of said first, second and third parameters also includes a zone factor that relates probabilistically to a distance of writing relative to a spindle of the disk.

5. A method for determining disk bandwidth overcommitment, comprising:
receiving a request to allow a data stream to access one or more disks;
determining a probability that a first parameter, comprising the amount of data to be retrieved and recorded by the one or more disks during a time interval, is greater than the amount of data the one or more disks can retrieve and record during the time interval based on a selection of disk characteristics of the one or more disks that comprises a second parameter based on an average seek time for the one or more disks, and a third parameter based on an average bandwidth for the one or more disks, wherein determining the third parameter further comprises determining a parameter based on the relationship between a disk's average read bandwidth and average write bandwidth;
determining a first percentage related to a disk bandwidth reserved for disk reading;
determining a second percentage related to an average amount of data to be retrieved relative to an average amount of data to be recorded based on calculations comprising reading and writing requirements for the data stream;
comparing the probability against a threshold value; and
accepting or rejecting the data stream based on the comparing.

6. The method of claim 5 wherein determining the third parameter further comprises:
determining a parameter based on the average read bandwidth for the one or more disks; and
determining a parameter based on the average write bandwidth for the one or more disks.

7. The method of claim 5, wherein determining the third parameter further comprises:
determining a parameter based on the average read bandwidth for the one or more disks.

8. The method of claim 5, wherein the selection of disk characteristics further comprises:
a fourth parameter based on the ratio of an average amount of data to be retrieved relative to an average amount of data to be recorded.

9. The method of claim 5, wherein the parameters are determined probabilistically.

10. The method of claim 9, wherein the parameters include probability density functions related to the parameters.

11. The method of claim 5, wherein the first parameter further comprises the number of disks in said set of disks.

12. The method of claim 5, wherein the accepting or rejecting comprises:
accepting the data stream if the probability is less than or equal to the threshold value;
rejecting the data stream if the probability is greater than the threshold value.

13. The method of claim 5 further comprising:
accepting or rejecting the data stream based on comparing the first percentage and the second percentage.

14. The method of claim 5 further comprising:
updating one or more of the parameters based on the reading and writing requirements of the data stream prior to calculating the probability.

15. The method of claim 14, wherein the reading and writing requirements comprise a mean and a variance of a bit rate of the data stream.

16. The method of claim 5 further comprising:
storing the results of the updating if the data stream is accepted.