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 25:
26. A system for executing an application, comprising:
a near device;
a near memory coupled to the near device; and
a far memory coupled to the near memory;
wherein the near device is configured to execute the application using a working set of data in a condition where the working set of data is distributed between the near memory and the far memory, and wherein the system is configured for:
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.