Class 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 Detail

      • 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 Detail

      • 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