List of usage examples for org.apache.hadoop.conf Configuration setDouble
public void setDouble(String name, double value)
name
property to a double
. From source file:org.apache.tez.runtime.common.resources.TestMemoryDistributor.java
License:Apache License
@Test(timeout = 5000) public void testReserveFractionConfigured() { Configuration conf = new Configuration(this.conf); conf.setDouble(TezConfiguration.TEZ_TASK_SCALE_MEMORY_RESERVE_FRACTION, 0.5d); MemoryDistributor dist = new MemoryDistributor(2, 1, conf); dist.setJvmMemory(10000l);// w w w . j a va 2 s . co m // First request MemoryUpdateCallbackForTest e1Callback = new MemoryUpdateCallbackForTest(); InputContext e1InputContext1 = createTestInputContext(); InputDescriptor e1InDesc1 = createTestInputDescriptor(); dist.requestMemory(10000, e1Callback, e1InputContext1, e1InDesc1); // Second request MemoryUpdateCallbackForTest e2Callback = new MemoryUpdateCallbackForTest(); InputContext e2InputContext2 = createTestInputContext(); InputDescriptor e2InDesc2 = createTestInputDescriptor(); dist.requestMemory(10000, e2Callback, e2InputContext2, e2InDesc2); // Third request - output MemoryUpdateCallbackForTest e3Callback = new MemoryUpdateCallbackForTest(); OutputContext e3OutputContext1 = createTestOutputContext(); OutputDescriptor e3OutDesc2 = createTestOutputDescriptor(); dist.requestMemory(5000, e3Callback, e3OutputContext1, e3OutDesc2); dist.makeInitialAllocations(); // Total available: 50% of 10K = 7000 // 3 requests - 10K, 10K, 5K // Scale down to - 2000, 2000, 1000 assertEquals(2000, e1Callback.assigned); assertEquals(2000, e2Callback.assigned); assertEquals(1000, e3Callback.assigned); }
From source file:org.apache.tez.runtime.common.resources.TestWeightedScalingMemoryDistributor.java
License:Apache License
@Test(timeout = 5000) public void testAdditionalReserveFractionWeightedScaling() { Configuration conf = new Configuration(this.conf); conf.setStrings(TezConfiguration.TEZ_TASK_SCALE_MEMORY_WEIGHTED_RATIOS, WeightedScalingMemoryDistributor.generateWeightStrings(0, 2, 3, 6, 1, 1)); conf.setDouble(TezConfiguration.TEZ_TASK_SCALE_MEMORY_ADDITIONAL_RESERVATION_FRACTION_PER_IO, 0.025d); conf.setDouble(TezConfiguration.TEZ_TASK_SCALE_MEMORY_ADDITIONAL_RESERVATION_FRACTION_MAX, 0.2d); MemoryDistributor dist = new MemoryDistributor(2, 2, conf); dist.setJvmMemory(10000l);//from ww w . j a v a 2 s.co m // First request - ScatterGatherShuffleInput [weight 6] MemoryUpdateCallbackForTest e1Callback = new MemoryUpdateCallbackForTest(); InputContext e1InputContext1 = createTestInputContext(); InputDescriptor e1InDesc1 = createTestInputDescriptor(OrderedGroupedKVInput.class); dist.requestMemory(10000, e1Callback, e1InputContext1, e1InDesc1); // Second request - BroadcastInput [weight 2] MemoryUpdateCallbackForTest e2Callback = new MemoryUpdateCallbackForTest(); InputContext e2InputContext2 = createTestInputContext(); InputDescriptor e2InDesc2 = createTestInputDescriptor(UnorderedKVInput.class); dist.requestMemory(10000, e2Callback, e2InputContext2, e2InDesc2); // Third request - randomOutput (simulates MROutput) [weight 1] MemoryUpdateCallbackForTest e3Callback = new MemoryUpdateCallbackForTest(); OutputContext e3OutputContext1 = createTestOutputContext(); OutputDescriptor e3OutDesc1 = createTestOutputDescriptor(); dist.requestMemory(10000, e3Callback, e3OutputContext1, e3OutDesc1); // Fourth request - OnFileSortedOutput [weight 3] MemoryUpdateCallbackForTest e4Callback = new MemoryUpdateCallbackForTest(); OutputContext e4OutputContext2 = createTestOutputContext(); OutputDescriptor e4OutDesc2 = createTestOutputDescriptor(OrderedPartitionedKVOutput.class); dist.requestMemory(10000, e4Callback, e4OutputContext2, e4OutDesc2); dist.makeInitialAllocations(); // Total available: 60% of 10K = 7000 // 4 requests (weight) - 10K (6), 10K(2), 10K(1), 10K(3) // Scale down to - 3000, 1000, 500, 1500 assertEquals(3000, e1Callback.assigned); assertEquals(1000, e2Callback.assigned); assertEquals(500, e3Callback.assigned); assertEquals(1500, e4Callback.assigned); }