Package org.apache.sysds.resource
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 Summary
Constructors Constructor Description 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 Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getDiskReadBandwidth()
double
getDiskWriteBandwidth()
double
getExtraFee()
double
getExtraStoragePrice()
long
getFLOPS()
String
getInstanceName()
long
getMemory()
double
getMemoryBandwidth()
double
getNetworkBandwidth()
int
getNumStorageVolumes()
double
getPrice()
double
getSizeStoragePerVolume()
int
getVCPUs()
boolean
isNVMeStorage()
-
-
-
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
-
-