Skip to content

Housekeeping: small TODOs and minor improvements #591

Open

Description

@manoelcampos

Small, independent TODOs. Each one can be fixed in its own commit.

Possible bugs

  • utilizationmodels/UtilizationModelPlanetLab.java: the interval size should add 1, but it uses the original formula.
    Check the impact on tests (fixing it may change simulation results).
  • selectionpolicies/VmSelectionPolicyMinimumMigrationTime.java: the migration time is computed from the RAM capacity.
    It must use the current RAM usage and also consider the VM size (see DatacenterSimple.timeToMigrateVm).

Redundant or unused API

  • core/SimEntity.java: isStarted and isAlive seem to be redundant.
  • cloudlets/Cloudlet.java: an attribute that seems unused and should be removed (confirm first).
  • vms/Vm.java: isSuitableForCloudlet isn't called anywhere.
  • vms/VmAbstract.java: a method that is confusing because there is also a getRequestedMips() (generated by Lombok).

Design

  • faultinjection/HostFaultInjection.java: the class has multiple responsibilities.
    Fault injection must be separated from fault recovery (the cloner methods). Also fix the 2TODO typo.
  • resources/SanStorage.java: see the warning in the class documentation.
  • distributions/PoissonDistr.java: the PoissonDistribution from Apache Commons Statistics is only used to compute
    eventsArrivalProbability(). It could also generate the random numbers, like the classes extending ContinuousDistributionAbstract.
  • distributions/PoissonDistr.java: a method that should be moved to an example class that creates Cloudlets.

Performance

  • heuristics/Heuristic.java: try to parallelize the solution search (e.g. using parallel streams).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    cleanupRemove useless, redundant or duplicated codeimprovement

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions