Ticket #132 (closed defect: fixed)

Opened 9 years ago

Last modified 8 years ago

Oversubscription issue

Reported by: prateek Owned by: prateek
Priority: major Milestone:
Component: ORCA: Shirako Core Version: Bella 2.1
Keywords: Cc:


If an authority does not have resources to fulfill a lease, it just defers it. No update is being sent to the related SM.

Change History

Changed 9 years ago by prateek

  • status changed from new to accepted
  • owner changed from ibaldin to prateek

Changed 9 years ago by prateek

  • status changed from accepted to closed
  • component changed from Don't Know to Orca Core
  • resolution set to fixed

Code has been modified to fail a reservation in case an authority cannot fulfill a ticket.

Modified files:
/shirako/src/main/java/orca/shirako/kernel/AuthorityReservation.java (Revision 2442)
/policy/src/main/java/orca/policy/core/AuthorityCalendarPolicy.java (Revision 2442)
/policy/src/main/java/orca/policy/core/VMControl.java (Revision 2442)

Changed 8 years ago by ibaldin

  • status changed from closed to reopened
  • resolution fixed deleted

Addressed in r2442

Changed 8 years ago by ibaldin

Back in the day, we added ticket #132: it complained about the authority not sending an update if it cannot allocate the resources. The fix, committed by Prateek in r2442 essentially disabled retrying reservations that the policy could not allocate because it either had no resources or could not perform the allocation.

In the case of the BenNDLControl, the resources are available, however, the control cannot make the allocation until the configuration of the previous reservation has finished. This is so because to configure the new reservation, some of the configuration of the previous reservation may be needed. We deal with this dependencies by having the controller defer the reservation, not to fail it.

However, starting from r2442, defer is no longer supported, so the BenNDLControl is broken everyone someone tries to allocate from Ben while another reservation is being setup by BEN.

I disabled the code that used to fail the reservation and prevent its rescheduling. Reservations now will be retried until the policy assigns some resources to them or explicitly fails the reservation.

r3864 r3865

Changed 8 years ago by ibaldin

  • status changed from reopened to closed
  • resolution set to fixed

The solution should be improved:

  • a policy should be able to defer
  • if a policy believes the request cannot be satisfied it should fail it.

The concern expressed in the ticket was about no feedback if there are
no resources to satisfy the request. The only feedback that the system
allows is to fail the reservation. This should be decided by the
control making the assignment and not by the general purpose policy
glue around it.

I think our existing controls are fine. Going forward we must remember
that if a policy wishes to retry the request in the future, it should
reschedule it, otherwise it should fail it.

Note: See TracTickets for help on using tickets.