Package org.apache.flink.runtime.instance

Examples of org.apache.flink.runtime.instance.Instance


          return sub;
        }
      }
      else {
        // disposed. get a new slot on the same instance
        Instance location = shared.getAllocatedSlot().getInstance();
        Pair<SharedSlot, Locality> p = getSlotForTaskInternal(constraint.getGroupId(), vertex, Collections.singleton(location), true);
        if (p == null) {
          return null;
        } else {
          shared = p.getLeft();
View Full Code Here


        // this was the last sub slot. remove this from the availability list
        // and trigger disposal
        try {
          allSlots.remove(sharedSlot);
         
          Instance location = sharedSlot.getAllocatedSlot().getInstance();

          if (groupId != null) {
            for (Map.Entry<AbstractID, Map<Instance, List<SharedSlot>>> mapEntry : availableSlotsPerJid.entrySet()) {
              AbstractID id = mapEntry.getKey();
             
View Full Code Here

      JobVertexID jid1 = new JobVertexID();
     
      SlotSharingGroup sharingGroup = new SlotSharingGroup(jid1);
     
      Scheduler scheduler = new Scheduler();
      Instance i1 = getRandomInstance(2);
      Instance i2 = getRandomInstance(2);
      scheduler.newInstanceAvailable(i1);
      scheduler.newInstanceAvailable(i2);
     
      // schedule 4 tasks from the first vertex group
      AllocatedSlot s1 = scheduler.scheduleImmediately(new ScheduledUnit(getTestVertex(jid1, 0, 8), sharingGroup));
View Full Code Here

      JobVertexID jid1 = new JobVertexID();
      JobVertexID jid2 = new JobVertexID();
     
      SlotSharingGroup sharingGroup = new SlotSharingGroup(jid1, jid2);
     
      Instance i1 = getRandomInstance(2);
      Instance i2 = getRandomInstance(2);
     
      Scheduler scheduler = new Scheduler();
      scheduler.newInstanceAvailable(i1);
      scheduler.newInstanceAvailable(i2);
     
     
      // schedule one to each instance
      AllocatedSlot s1 = scheduler.scheduleImmediately(new ScheduledUnit(getTestVertexWithLocation(jid1, 0, 2, i1), sharingGroup));
      AllocatedSlot s2 = scheduler.scheduleImmediately(new ScheduledUnit(getTestVertexWithLocation(jid1, 1, 2, i2), sharingGroup));
      assertNotNull(s1);
      assertNotNull(s2);
     
      assertEquals(2, sharingGroup.getTaskAssignment().getNumberOfSlots());
      assertEquals(1, i1.getNumberOfAvailableSlots());
      assertEquals(1, i2.getNumberOfAvailableSlots());
     
      // schedule one from the other group to each instance
      AllocatedSlot s3 = scheduler.scheduleImmediately(new ScheduledUnit(getTestVertexWithLocation(jid2, 0, 2, i1), sharingGroup));
      AllocatedSlot s4 = scheduler.scheduleImmediately(new ScheduledUnit(getTestVertexWithLocation(jid2, 1, 2, i2), sharingGroup));
      assertNotNull(s3);
      assertNotNull(s4);
     
      assertEquals(2, sharingGroup.getTaskAssignment().getNumberOfSlots());
      assertEquals(1, i1.getNumberOfAvailableSlots());
      assertEquals(1, i2.getNumberOfAvailableSlots());
     
      // check the scheduler's bookkeeping
      assertEquals(4, scheduler.getNumberOfLocalizedAssignments());
      assertEquals(0, scheduler.getNumberOfNonLocalizedAssignments());
      assertEquals(0, scheduler.getNumberOfUnconstrainedAssignments());
View Full Code Here

      JobVertexID jid1 = new JobVertexID();
      JobVertexID jid2 = new JobVertexID();
     
      SlotSharingGroup sharingGroup = new SlotSharingGroup(jid1, jid2);
     
      Instance i1 = getRandomInstance(2);
      Instance i2 = getRandomInstance(2);
     
      Scheduler scheduler = new Scheduler();
      scheduler.newInstanceAvailable(i1);
      scheduler.newInstanceAvailable(i2);
     
     
      // schedule one to each instance
      AllocatedSlot s1 = scheduler.scheduleImmediately(new ScheduledUnit(getTestVertexWithLocation(jid1, 0, 2, i1), sharingGroup));
      AllocatedSlot s2 = scheduler.scheduleImmediately(new ScheduledUnit(getTestVertexWithLocation(jid1, 1, 2, i1), sharingGroup));
      assertNotNull(s1);
      assertNotNull(s2);
     
      assertEquals(2, sharingGroup.getTaskAssignment().getNumberOfSlots());
      assertEquals(0, i1.getNumberOfAvailableSlots());
      assertEquals(2, i2.getNumberOfAvailableSlots());
     
      // schedule one from the other group to each instance
      AllocatedSlot s3 = scheduler.scheduleImmediately(new ScheduledUnit(getTestVertexWithLocation(jid2, 0, 2, i2), sharingGroup));
      AllocatedSlot s4 = scheduler.scheduleImmediately(new ScheduledUnit(getTestVertexWithLocation(jid2, 1, 2, i2), sharingGroup));
      assertNotNull(s3);
      assertNotNull(s4);
     
      assertEquals(4, sharingGroup.getTaskAssignment().getNumberOfSlots());
      assertEquals(0, i1.getNumberOfAvailableSlots());
      assertEquals(0, i2.getNumberOfAvailableSlots());
     
      // check the scheduler's bookkeeping
      assertEquals(4, scheduler.getNumberOfLocalizedAssignments());
      assertEquals(0, scheduler.getNumberOfNonLocalizedAssignments());
      assertEquals(0, scheduler.getNumberOfUnconstrainedAssignments());
View Full Code Here

      JobVertexID jid1 = new JobVertexID();
      JobVertexID jid2 = new JobVertexID();
     
      SlotSharingGroup sharingGroup = new SlotSharingGroup(jid1, jid2);
     
      Instance i1 = getRandomInstance(2);
      Instance i2 = getRandomInstance(2);
     
      Scheduler scheduler = new Scheduler();
      scheduler.newInstanceAvailable(i1);
      scheduler.newInstanceAvailable(i2);
     
      // schedule until the one instance is full
      AllocatedSlot s1 = scheduler.scheduleImmediately(new ScheduledUnit(getTestVertexWithLocation(jid1, 0, 2, i1), sharingGroup));
      AllocatedSlot s2 = scheduler.scheduleImmediately(new ScheduledUnit(getTestVertexWithLocation(jid1, 1, 2, i1), sharingGroup));
      AllocatedSlot s3 = scheduler.scheduleImmediately(new ScheduledUnit(getTestVertexWithLocation(jid2, 0, 4, i1), sharingGroup));
      AllocatedSlot s4 = scheduler.scheduleImmediately(new ScheduledUnit(getTestVertexWithLocation(jid2, 1, 4, i1), sharingGroup));

      // schedule two more with preference of same instance --> need to go to other instance
      AllocatedSlot s5 = scheduler.scheduleImmediately(new ScheduledUnit(getTestVertexWithLocation(jid2, 3, 4, i1), sharingGroup));
      AllocatedSlot s6 = scheduler.scheduleImmediately(new ScheduledUnit(getTestVertexWithLocation(jid2, 4, 4, i1), sharingGroup));
     
      assertNotNull(s1);
      assertNotNull(s2);
      assertNotNull(s3);
      assertNotNull(s4);
      assertNotNull(s5);
      assertNotNull(s6);
     
      assertEquals(4, sharingGroup.getTaskAssignment().getNumberOfSlots());
     
      assertEquals(0, i1.getNumberOfAvailableSlots());
      assertEquals(0, i2.getNumberOfAvailableSlots());
     
      assertEquals(i1, s1.getInstance());
      assertEquals(i1, s2.getInstance());
      assertEquals(i1, s3.getInstance());
      assertEquals(i1, s4.getInstance());
View Full Code Here

      JobVertexID jid3 = new JobVertexID();
      JobVertexID jid4 = new JobVertexID();
     
      Scheduler scheduler = new Scheduler();
     
      Instance i1 = getRandomInstance(1);
      Instance i2 = getRandomInstance(1);
     
      scheduler.newInstanceAvailable(i1);
      scheduler.newInstanceAvailable(i2);
     
      assertEquals(2, scheduler.getNumberOfAvailableSlots());
     
      SlotSharingGroup sharingGroup = new SlotSharingGroup();
      CoLocationConstraint c1 = new CoLocationConstraint(new CoLocationGroup());
     
      AllocatedSlot s1 = scheduler.scheduleImmediately(new ScheduledUnit(getTestVertex(jid1, 0, 1), sharingGroup, c1));
      AllocatedSlot s2 = scheduler.scheduleImmediately(new ScheduledUnit(getTestVertex(jid2, 0, 1), sharingGroup, c1));
     
      AllocatedSlot sSolo = scheduler.scheduleImmediately(new ScheduledUnit(getTestVertex(jid4, 0, 1)));
     
      Instance loc = s1.getInstance();
     
      s1.releaseSlot();
      s2.releaseSlot();
      sSolo.releaseSlot();
     
View Full Code Here

      JobVertexID jid2 = new JobVertexID();
      JobVertexID jid3 = new JobVertexID();
     
      Scheduler scheduler = new Scheduler();
     
      Instance i1 = getRandomInstance(1);
      Instance i2 = getRandomInstance(1);
     
      scheduler.newInstanceAvailable(i1);
      scheduler.newInstanceAvailable(i2);
     
      assertEquals(2, scheduler.getNumberOfAvailableSlots());
View Full Code Here

      JobVertexID jid2 = new JobVertexID();
      JobVertexID jid3 = new JobVertexID();
     
      Scheduler scheduler = new Scheduler();
     
      Instance i1 = getRandomInstance(1);
      Instance i2 = getRandomInstance(1);
     
      scheduler.newInstanceAvailable(i2);
      scheduler.newInstanceAvailable(i1);
     
      assertEquals(2, scheduler.getNumberOfAvailableSlots());
View Full Code Here

      JobVertexID jid1 = new JobVertexID();
      JobVertexID jid2 = new JobVertexID();
     
      Scheduler scheduler = new Scheduler();
     
      Instance i1 = getRandomInstance(1);
      Instance i2 = getRandomInstance(1);
     
      scheduler.newInstanceAvailable(i2);
      scheduler.newInstanceAvailable(i1);
     
      assertEquals(2, scheduler.getNumberOfAvailableSlots());
View Full Code Here

TOP

Related Classes of org.apache.flink.runtime.instance.Instance

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.