* Rename gpuType/gpuNumber to skuType/skuNumber
Rename gpuType -> skuType, gpuNumber -> skuNumber.
* Rename gpu to device
Rename gpu to device when referring affinity and index.
* Add explanation for sku type and device
Add explanation for sku type and device.
* Revert term sku and device to leaf cell
Revert term sku and device to leaf cell.
* Fix
Fix.
* Convert old spec annotations for compatibility
Convert old spec annotations for backward compatibility.
* Update README
Update README.
* Resolve comments
Resolve comments.
* Update
Update.
* Split higher level cell when allocated bad cells
When buddy allocation failed due to bad cells,
try to split a higher level cell to get current level cells.
* Fix deletion errors
Fix deletion errors.
* Add allocate function to split higher level cells
Add allocate function to split higher level cells.
* Fix test
Fix test.
* Add test case
Add test case.
* Resolve comments
Resolve comments.
* Add free list in panic log when safety is broken
Add free list in panic log when safety is broken.
* Add test case when unable to split
Add test case when unable to split due to safety guarantee.
* Update
Update.
* Fix memory leak in removePickedGpus
Fix memory leak in `removePickedGpus`.
* Early stop safety check at current level
Early stop safety check at current level.
* intra-VC scheduler aware of bad (non-suggested nodes)
* doomed bad cells
* backtrack cell search
* refine logging
* add unit tests
* rename free vc cells to preassigned cells
* resolve comments
* fix failedReason overwritten to empty when searching a GPU type a VC not have
* add log for deleteOpporVirtualCell
* fix logger for intra-vc scheduler
* fix getLowestPriorityVirtualCell returns a doomed bad cell
* resolve comments
* add UT for lazy preemption revert
* fix bug in early stop chain
* keep searching the chains until placement within suggested nodes
* refine logging
* refactor h.Schedule() which was too long
* fix virtual cell's healthiness
* refine suggested nodes related logic
* resolve comments
* readme
* refactor package algorithm
* stateful preemption
* add unit tests
* fix bad cell tracking & cell state tracking
* deleteUnallocatedPod
* move cancellation of ongoing preemption out of mapVirtualPlacementToPhysical (should be clearer)
* early exit a chain when a VC does not have it
* refine comments
* resolve comments
* refine comment
* expose AG status & fix bad cell tracking when virtual cell is partially bound
* resolve comments
* two-phase scheduling
* resolve comments
* disable preemption in filtering phase & random in getFewestOpproCell
* fix UT
* refine log