US2019196969A1PendingUtilityA1

Method and apparatus for adaptive cache load balancing for ssd-based cloud computing storage system

49
Assignee: SAMSUNG ELECTRONICS CO LTDPriority: Dec 22, 2017Filed: May 4, 2018Published: Jun 27, 2019
Est. expiryDec 22, 2037(~11.4 yrs left)· nominal 20-yr term from priority
H04L 67/1097H04L 67/1008G06F 3/061H04L 67/1019G06F 3/0685G06F 3/0635H04L 43/0882H04L 67/104H04L 41/142G06F 2212/1024G06F 2212/608G06F 2212/22H04L 47/125G06F 12/0811G06F 3/067G06F 3/0688G06F 3/0653G06F 3/0616G06F 3/0664G06F 2206/1012G06F 3/0631
49
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

An apparatus, a method, a method of manufacturing an apparatus, and a method of constructing an integrated circuit are provided. A processor of an application server layer detects a degree of a change in a workload in an input/output stream received through a network from one or more user devices. The processor determines a degree range, from a plurality of preset degree ranges, that the degree of the change in the workload is within. The processor determines a distribution strategy, from among a plurality of distribution strategies, to distribute the workload across one or more of a plurality of solid state devices (SSDs) in a performance cache tier of a centralized multi-tier storage pool, based on the determined degree range. The processor distributes the workload across the one or more of the plurality of solid state devices based on the determined distribution strategy.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . An apparatus, comprising:
 a memory; and   a processor configured to:
 detect a degree of a change in a workload in an input/output stream received through a network from one or more user devices; 
 determine a degree range, from a plurality of preset degree ranges, that the degree of the change in the workload is within; 
 determine a distribution strategy, from among a plurality of distribution strategies, to distribute the workload across one or more of a plurality of solid state devices (SSDs) in a performance cache tier of a centralized multi-tier storage pool, based on the determined degree range; and 
 distribute the workload across the one or more of the plurality of solid state devices based on the determined distribution strategy. 
   
     
     
         2 . The apparatus of  claim 1 , wherein each of the plurality of distribution strategies corresponds to a respective one of the plurality of preset degree ranges. 
     
     
         3 . The apparatus of  claim 2 , wherein the plurality of preset degree ranges comprises a strong workload spike range, a weak workload spike range, and a non-spike range. 
     
     
         4 . The apparatus of  claim 3 , wherein the plurality of distribution strategies comprises:
 a join shortest queue (JSQ)-based runtime random-greedy algorithm used in accordance with a large range of idlest SSDs from the plurality of SSDs, which corresponds to the strong workload spike range;   a JSQ-based runtime random-greedy algorithm used in accordance with a small range of idlest SSDs from the plurality of SSDs, which corresponds to the weak workload spike range; and   an optimization framework calculation, which corresponds to the non-spike range.   
     
     
         5 . The apparatus of  claim 4 , wherein, when the determined distribution strategy comprises the JSQ-based runtime random-greed algorithm, the processor is further configured to:
 sort the plurality of SSDs by a number of active I/O streams that are queued; and   randomly select an SSD from the large range of idlest SSDs or the small range of idlest SSDs for assignment of a job of the workload.   
     
     
         6 . The apparatus of  claim 4 , wherein, when the determined distribution strategy comprises the optimization framework calculation, the processor is further configured to:
 calculate a coefficient variation for each of the plurality of SSDs using a plurality of resources;   determine whether any one of the plurality of resources exceeds a respective upper bound for each of the plurality of SSDs based on the respective coefficient variation;   skip assignment to a given SSD, when any one of the plurality of resources exceeds the respective upper bound; and   choose an SSD with a minimal coefficient variation result for assignment of a job of the workload.   
     
     
         7 . The apparatus of  claim 1 , wherein the degree of the change of the workload is calculated as an index of dispersion I: 
       
         
           
             
               I 
               = 
               
                 SCV 
                 ( 
                 
                   1 
                   + 
                   
                     α 
                     · 
                     
                       
                         ∑ 
                         
                           k 
                           ∈ 
                           
                             [ 
                             
                               k 
                               , 
                               
                                 K 
                                 max 
                               
                             
                             ] 
                           
                         
                       
                        
                       
                         ACF 
                          
                         
                           ( 
                           k 
                           ) 
                         
                       
                     
                   
                 
                 ) 
               
             
           
         
       
       where SCV is a squared coefficient of variation and ACF(k) is an autocorrelation function at lag K. 
     
     
         8 . The apparatus of  claim 1 , wherein the degree of the change of the workload is determined based on working volume, working volume size, or working set size. 
     
     
         9 . The apparatus of  claim 8 , wherein the degree of the change of the workload is further determined based on at least one of a read/write ratio and a sequential/random ratio. 
     
     
         10 . A method, comprising:
 detecting, by a processor of an application server layer, a degree of a change in a workload in an input/output stream received through a network from one or more user devices;   determining, by the processor, a degree range, from a plurality of preset degree ranges, that the degree of the change in the workload is within;   determining, by the processor, a distribution strategy, from among a plurality of distribution strategies, to distribute the workload across one or more of a plurality of solid state devices (SSDs) in a performance cache tier of a centralized multi-tier storage pool, based on the determined degree range; and   distributing, by the processor, the workload across the one or more of the plurality of solid state devices based on the determined distribution strategy.   
     
     
         11 . The method of  claim 10 , wherein each of the plurality of distribution strategies corresponds to a respective one of the plurality of preset degree ranges 
     
     
         12 . The method of  claim 11 , wherein the plurality of preset degree ranges comprises a strong workload spike range, a weak workload spike range, and a non-spike range. 
     
     
         13 . The method of  claim 12 , wherein the plurality of distribution strategies comprises:
 a join shortest queue (JSQ)-based runtime random-greedy algorithm used in accordance with a large range of idlest SSDs from the plurality of SSDs, which corresponds to the strong workload spike range;   a JSQ-based runtime random-greedy algorithm used in accordance with a small range of idlest SSDs from the plurality of SSDs, which corresponds to the weak workload spike range; and   an optimization framework calculation, which corresponds to the non-spike range.   
     
     
         14 . The method of  claim 13 , wherein, when the determined distribution strategy comprises the JSQ-based runtime random-greed algorithm, the processor is further configured to:
 sort the plurality of SSDs by a number of active I/O streams that are queued; and   randomly select an SSD from the large range of idlest SSDs or the small range of idlest SSDs for assignment of a job of the workload.   
     
     
         15 . The method of  claim 13 , wherein, when the determined distribution strategy comprises the optimization framework calculation, further comprising:
 calculating a coefficient variation for each of the plurality of SSDs using a plurality of resources;   determining whether any one of the plurality of resources exceeds a respective upper bound for each of the plurality of SSDs based on the respective coefficient variation;   skipping assignment to a given SSD, when any one of the plurality of resources exceeds the respective upper bound; and   choosing an SSD with a minimal coefficient variation result for assignment of a job of the workload.   
     
     
         16 . The method of  claim 10 , wherein the degree of the change of the workload is calculated as an index of dispersion I: 
       
         
           
             
               I 
               = 
               
                 SCV 
                 ( 
                 
                   1 
                   + 
                   
                     α 
                     · 
                     
                       
                         ∑ 
                         
                           k 
                           ∈ 
                           
                             [ 
                             
                               k 
                               , 
                               
                                 K 
                                 max 
                               
                             
                             ] 
                           
                         
                       
                        
                       
                         ACF 
                          
                         
                           ( 
                           k 
                           ) 
                         
                       
                     
                   
                 
                 ) 
               
             
           
         
       
       where SCV is a squared coefficient of variation and ACF(k) is an autocorrelation function at lag K. 
     
     
         17 . The method of  claim 10 , wherein the degree of the change of the workload is determined based on working volume, working volume size, or working set size. 
     
     
         18 . The method of  claim 17 , wherein the degree of the change of the workload is further determined based on at least one of a read/write ratio and a sequential/random ratio.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.