Class CloudInstance

java.lang.Object
org.apache.sysds.resource.CloudInstance

public class CloudInstance extends Object
This class describes the configurations of a single VM instance. The idea is to use this class to represent instances of different cloud hypervisors - currently supporting only EC2 instances by AWS.
  • Constructor Details

    • CloudInstance

      public CloudInstance(String instanceName, double pricePerHour, double extraFee, double storagePrice, long memory, int vCPUCores, double GFlops, double memoryBandwidth, double diskReadBandwidth, double diskWriteBandwidth, double networkBandwidth, boolean NVMeStorage, int numberStorageVolumes, double sizeStorageVolumes)
  • Method Details

    • getInstanceName

      public String getInstanceName()
    • getMemory

      public long getMemory()
      Returns:
      memory of the instance in B
    • getVCPUs

      public int getVCPUs()
      Returns:
      number of virtual CPU cores of the instance
    • getPrice

      public double getPrice()
      Returns:
      price per second of the instance
    • getExtraStoragePrice

      public double getExtraStoragePrice()
      Returns:
      price per second of whole extra storage (to be) attached
    • getExtraFee

      public double getExtraFee()
      Returns:
      price per second for extra fee per instance (cluster management)
    • getFLOPS

      public long getFLOPS()
      Returns:
      number of FLOPS of the instance
    • getMemoryBandwidth

      public double getMemoryBandwidth()
      Returns:
      memory bandwidth of the instance in MB/s
    • getDiskReadBandwidth

      public double getDiskReadBandwidth()
      Returns:
      disk read bandwidth of the instance in MB/s
    • getDiskWriteBandwidth

      public double getDiskWriteBandwidth()
      Returns:
      disk write bandwidth of the instance in MB/s
    • getNetworkBandwidth

      public double getNetworkBandwidth()
      Returns:
      network bandwidth of the instance in MB/s
    • isNVMeStorage

      public boolean isNVMeStorage()
      Returns:
      flag if the instance has attached NVMe-based storage volume(s)
    • getNumStorageVolumes

      public int getNumStorageVolumes()
      Returns:
      number of storage volumes (attached or to be configured)
    • getSizeStoragePerVolume

      public double getSizeStoragePerVolume()
      Returns:
      size of each storage volume (all equally sized) in GB