@Override public Long2ObjectMap<Aggregator[]> makeDimExtractionAggregateStore() { return new Long2ObjectOpenHashMap<>(); }
@Override public Long2ObjectMap<Aggregator[]> makeDimExtractionAggregateStore() { return new Long2ObjectOpenHashMap<>(); }
public RandomWindowTinyLfuPolicy(double percentMain, RandomWindowTinyLfuSettings settings) { String name = String.format("sketch.RandomWindowTinyLfu (%.0f%%)", 100 * (1.0d - percentMain)); policyStats = new PolicyStats(name); admittor = new TinyLfu(settings.config(), policyStats); random = new Random(settings.randomSeed()); data = new Long2ObjectOpenHashMap<>(); maximumSize = settings.maximumSize(); int maxMain = (int) (maximumSize * percentMain); window = new Node[maximumSize - maxMain + 1]; main = new Node[maxMain + 1]; }
public ClockProPolicy(Config config) { BasicSettings settings = new BasicSettings(config); policyStats = new PolicyStats("irr.ClockPro"); maximumColdSize = settings.maximumSize(); data = new Long2ObjectOpenHashMap<>(); maximumSize = settings.maximumSize(); // All the hands move in the clockwise direction handHot = handCold = handTest = null; }
public ClairvoyantPolicy(Config config) { BasicSettings settings = new BasicSettings(config); policyStats = new PolicyStats("opt.Clairvoyant"); accessTimes = new Long2ObjectOpenHashMap<>(); infiniteTimestamp = Integer.MAX_VALUE; maximumSize = settings.maximumSize(); future = new LongArrayFIFOQueue(); data = new IntRBTreeSet(); }
public FrequentlyUsedPolicy(Admission admission, EvictionPolicy policy, Config config) { this.policyStats = new PolicyStats(admission.format("linked." + policy.label())); this.admittor = admission.from(config, policyStats); BasicSettings settings = new BasicSettings(config); this.data = new Long2ObjectOpenHashMap<>(); this.maximumSize = settings.maximumSize(); this.policy = requireNonNull(policy); this.freq0 = new FrequencyNode(); }
public LruWindowTinyLfuPolicy(double percentMain, LruWindowTinyLfuSettings settings) { String name = String.format("sketch.LruWindowTinyLfu (%.0f%%)", 100 * (1.0d - percentMain)); this.policyStats = new PolicyStats(name); this.admittor = new TinyLfu(settings.config(), policyStats); this.maxMain = (int) (settings.maximumSize() * percentMain); this.maxEden = settings.maximumSize() - maxMain; this.data = new Long2ObjectOpenHashMap<>(); this.headEden = new Node(); this.headMain = new Node(); }
public FeedbackTinyLfuPolicy(Config config) { FeedbackTinyLfuSettings settings = new FeedbackTinyLfuSettings(config); this.policyStats = new PolicyStats("sketch.FeedbackTinyLfu"); this.admittor = new TinyLfu(settings.config(), policyStats); this.data = new Long2ObjectOpenHashMap<>(); this.maximumSize = settings.maximumSize(); this.head = new Node(); maxGain = Math.min(15, settings.maximumInsertionGain()); sampleSize = Math.min(settings.maximumSampleSize(), maximumSize); feedback = settings.membershipFilter().create(sampleSize, settings.adaptiveFpp(), config); }
public SampledPolicy(Admission admission, EvictionPolicy policy, Config config) { this.policyStats = new PolicyStats(admission.format("sampled." + policy.label())); this.admittor = admission.from(config, policyStats); SampledSettings settings = new SampledSettings(config); this.sampleStrategy = settings.sampleStrategy(); this.random = new Random(settings.randomSeed()); this.data = new Long2ObjectOpenHashMap<>(); this.maximumSize = settings.maximumSize(); this.sampleSize = settings.sampleSize(); this.table = new Node[maximumSize + 1]; this.policy = policy; }
public LinkedPolicy(Admission admission, EvictionPolicy policy, Config config) { this.policyStats = new PolicyStats(admission.format("linked." + policy.label())); this.admittor = admission.from(config, policyStats); BasicSettings settings = new BasicSettings(config); this.data = new Long2ObjectOpenHashMap<>(); this.maximumSize = settings.maximumSize(); this.sentinel = new Node(); this.policy = policy; }
public LirsPolicy(Config config) { LirsSettings settings = new LirsSettings(config); this.maximumNonResidentSize = (int) (settings.maximumSize() * settings.nonResidentMultiplier()); this.maximumHotSize = (int) (settings.maximumSize() * settings.percentHot()); this.policyStats = new PolicyStats("irr.Lirs"); this.data = new Long2ObjectOpenHashMap<>(); this.maximumSize = settings.maximumSize(); this.evicted = new ArrayList<>(); this.headNR = new Node(); this.headS = new Node(); this.headQ = new Node(); }
public CartPolicy(Config config) { BasicSettings settings = new BasicSettings(config); this.policyStats = new PolicyStats("adaptive.Cart"); this.data = new Long2ObjectOpenHashMap<>(); this.maximumSize = settings.maximumSize(); this.headT1 = new Node(); this.headT2 = new Node(); this.headB1 = new Node(); this.headB2 = new Node(); }
public S4LruPolicy(Admission admission, Config config) { this.policyStats = new PolicyStats(admission.format("linked.S4Lru")); this.admittor = admission.from(config, policyStats); S4LruSettings settings = new S4LruSettings(config); this.data = new Long2ObjectOpenHashMap<>(); this.maximumSize = settings.maximumSize(); this.levels = settings.levels(); this.headQ = new Node[levels]; this.sizeQ = new int[levels]; Arrays.setAll(headQ, Node::sentinel); }
public ArcPolicy(Config config) { BasicSettings settings = new BasicSettings(config); this.policyStats = new PolicyStats("adaptive.Arc"); this.maximumSize = settings.maximumSize(); this.data = new Long2ObjectOpenHashMap<>(); this.headT1 = new Node(); this.headT2 = new Node(); this.headB1 = new Node(); this.headB2 = new Node(); }
public CarPolicy(Config config) { BasicSettings settings = new BasicSettings(config); this.policyStats = new PolicyStats("adaptive.Car"); this.data = new Long2ObjectOpenHashMap<>(); this.maximumSize = settings.maximumSize(); this.headT1 = new Node(); this.headT2 = new Node(); this.headB1 = new Node(); this.headB2 = new Node(); }
public TuQueuePolicy(Config config) { TuQueueSettings settings = new TuQueueSettings(config); this.headHot = new Node(); this.headWarm = new Node(); this.headCold = new Node(); this.maximumSize = settings.maximumSize(); this.data = new Long2ObjectOpenHashMap<>(); this.policyStats = new PolicyStats("two-queue.TuQueue"); this.maxHot = (int) (maximumSize * settings.percentHot()); this.maxWarm = (int) (maximumSize * settings.percentWarm()); }
public SegmentedLruPolicy(Admission admission, Config config) { this.policyStats = new PolicyStats(admission.format("linked.SegmentedLru")); this.admittor = admission.from(config, policyStats); SegmentedLruSettings settings = new SegmentedLruSettings(config); this.headProtected = new Node(); this.headProbation = new Node(); this.maximumSize = settings.maximumSize(); this.data = new Long2ObjectOpenHashMap<>(); this.maxProtected = (int) (maximumSize * settings.percentProtected()); }
public FrdPolicy(Config config) { FrdSettings settings = new FrdSettings(config); this.maximumMainResidentSize = (int) (settings.maximumSize() * settings.percentMain()); this.maximumFilterSize = settings.maximumSize() - maximumMainResidentSize; this.policyStats = new PolicyStats("irr.Frd"); this.data = new Long2ObjectOpenHashMap<>(); this.maximumSize = settings.maximumSize(); this.headFilter = new Node(); this.headMain = new Node(); }
public TwoQueuePolicy(Config config) { TwoQueueSettings settings = new TwoQueueSettings(config); this.headIn = new Node(); this.headOut = new Node(); this.headMain = new Node(); this.maximumSize = settings.maximumSize(); this.data = new Long2ObjectOpenHashMap<>(); this.maxIn = (int) (maximumSize * settings.percentIn()); this.policyStats = new PolicyStats("two-queue.TwoQueue"); this.maxOut = (int) (maximumSize * settings.percentOut()); }
public IndicatorFrdPolicy(Config config) { FrdSettings settings = new FrdSettings(config); this.period = settings.period(); this.maximumMainResidentSize = (int) (settings.maximumSize() * settings.percentMain()); this.maximumFilterSize = settings.maximumSize() - maximumMainResidentSize; this.policyStats = new PolicyStats("irr.AdaptiveFrd"); this.data = new Long2ObjectOpenHashMap<>(); this.maximumSize = settings.maximumSize(); this.headFilter = new Node(); this.headMain = new Node(); this.indicator = new Indicator(config); }