def __init__(self, n_buckets, name = None):
        if name:
            self.name = name
        else:
            self.name = self.__class__.__name__

        self.nodes_cur = SortedCollection(key = attrgetter("priority"))
        self.nodes_next = SortedCollection(key = attrgetter("priority"))
        self.H = 0
        self.n_buckets = n_buckets
        self.error_numer = 0
        self.error_denom = 1
    def __init__(self, driver = None, name = "PK_Freq", **kwargs):
        self.name = name

        self.nodes = SortedCollection(key=attrgetter('priority'))
        self.error_numer = 0
        self.error_denom = 1
        self.driver_access = driver
        self.watch_for_shift = (driver_access and "just_shifted" in driver_access.__dict__)
Exemple #3
0
 def __init__(self, bucket_bounds):
     super(CostBucket_Frequency, self).__init__(0)
     self.bucket_bounds = bucket_bounds
     self.bucket_queues = [
         SortedCollection(key=self._get_count) for _ in bucket_bounds
     ]
     self.bucket_values = [(0, 0) for _ in bucket_bounds]
     self.counts = defaultdict(lambda: 0)
     self.generator = None
     self.Nodes = DummyList()
    def __init__(self, bucket_bounds, name = None, **kwargs):
        if name:
            self.name = name
        else:
            self.name = self.__class__.__name__

        self.bucket_bounds = bucket_bounds
        self.bucket_costs = [float(a + b)/2 for a,b in zip([0] + bucket_bounds[:-1], bucket_bounds)]
        self.bucket_frac = [(0,0) for _ in bucket_bounds]
        self.nodes = SortedCollection(key=self.objective_f)
        self.H = 0
        self.time = 0
    def __init__(self, count, theta):
        zetan = zipfian_zeta(theta, count)
        zeta2theta = zipfian_zeta(theta, 2)

        self.count = count
        self.theta = theta

        freqs = [float(i)**-theta for i in range(1, count + 1)]
        s = sum(freqs)
        self.lambdas = [s / i for i in freqs]
        self.t = 0
        self.next_arrivals = SortedCollection(iterable=enumerate(self.lambdas),
                                              key=itemgetter(1))
    def __init__(self, bucket_bounds, name = None):
        if name:
            self.name = name
        else:
            self.name = self.__class__.__name__

        self.bucket_bounds = bucket_bounds
        self.bucket_costs = [float(a + b)/2 for a,b in zip([0] + bucket_bounds[:-1], bucket_bounds)]
        self.bucket_frac = [(0,0) for _ in bucket_bounds]
        self.bucket_evictions = [0 for _ in self.bucket_bounds]
        self.bucket_misses = [0 for _ in self.bucket_bounds]

        self.nodes = SortedCollection(key=attrgetter("priority"))
        self.H = 0
        self.time = 0
        
        self.error_numer = 0
        self.error_denom = 1
Exemple #7
0
 def __init__(self, S, retain=0):
     super(LRU_Ranked, self).__init__(S, retain=retain)
     self.Nodes = SortedCollection(key=attrgetter("LA"))
     # using error to track the average eviction rank
     self.error_denom = 0
     self.error_numer = 0