Patent ID: 11893266
Assignee: UNIVERSITY OF PITTSBURGH—OF THE COMMONWEALTH SYSTEM OF HIGHER EDUCATION
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 12:
13. A method of managing data during execution of an application in a system that includes a host memory, a near memory, and a near device associated with the near memory, wherein the application uses a working set of data that is distributed between a far memory and the near memory, the method comprising:
counting a number of times that the near device accesses a unit of the working set of data from the far memory;
determining whether the number of times exceeds a dynamically changing access counter threshold, wherein the unit of the working set of data is a page, and wherein the dynamically changing access counter threshold (td) is determined based on the following equation:, t
    d
  
  =
  
    {
    
      
        
          
            
              
                
                  t
                  s
                
                *
                
                  
                    
                      Num
                      .
                      
                        
                      
                      ⁢
                      of
                    
                    ⁢
                    
                      
                    
                    ⁢
                    allocated
                    ⁢
                    
                      
                    
                    ⁢
                    pages
                  
                  
                    Total
                    ⁢
                    
                      
                    
                    ⁢
                    
                      num
                      .
                      
                        
                      
                      ⁢
                      of
                    
                    ⁢
                    
                      
                    
                    ⁢
                    pages
                  
                
              
              +
              1
            
            ,
          
        
        
          
            if
            ⁢
            
              
            
            ⁢
            no
            ⁢
            
              
            
            ⁢
            oversubscription
          
        
      
      
        
          
            
              
                t
                s
              
              *
              
                (
                
                  r
                  +
                  1
                
                )
              
              *
              p
            
            ,
          
        
        
          otherwise, where ts=a static threshold that is set for the system, r=a number of roundtrips of a given data size during the execution of the application, Num. of allocated pages is a number of pages allocated to the near device, Total num. of pages is the capacity of the near device, and p=a multiplicative migration penalty; and
responsive to determining that the number of times exceeds the dynamically changing access counter threshold, migrating the unit of data from the far memory to the near memory.