Commit 693bcad3 authored by Ahmad Siavashi's avatar Ahmad Siavashi

Decopule RemoteGpuTask

parent 7da71f9a
...@@ -33,10 +33,10 @@ import org.cloudbus.cloudsim.gpu.VgpuScheduler; ...@@ -33,10 +33,10 @@ import org.cloudbus.cloudsim.gpu.VgpuScheduler;
import org.cloudbus.cloudsim.gpu.VideoCard; import org.cloudbus.cloudsim.gpu.VideoCard;
import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicy; import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicy;
import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicyNull; import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicyNull;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridGpuVmAllocationPolicyDepthFirst; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridGpuVmAllocationPolicyDepthFirst;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridVgpuSchedulerFairShare; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridVgpuSchedulerFairShare;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridVgpuTags; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridVgpuTags;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridVideoCardTags; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridVideoCardTags;
import org.cloudbus.cloudsim.gpu.provisioners.GpuBwProvisionerShared; import org.cloudbus.cloudsim.gpu.provisioners.GpuBwProvisionerShared;
import org.cloudbus.cloudsim.gpu.provisioners.GpuGddramProvisionerSimple; import org.cloudbus.cloudsim.gpu.provisioners.GpuGddramProvisionerSimple;
import org.cloudbus.cloudsim.gpu.provisioners.VideoCardBwProvisioner; import org.cloudbus.cloudsim.gpu.provisioners.VideoCardBwProvisioner;
...@@ -52,7 +52,7 @@ import de.vandermeer.asciitable.AsciiTable; ...@@ -52,7 +52,7 @@ import de.vandermeer.asciitable.AsciiTable;
/** /**
* This example demonstrates the use of gpu package in simulations. <br> * This example demonstrates the use of gpu package in simulations. <br>
* GPU virtualization mode: hardware-assisted <br> * GPU virtualization mode: GRID <br>
* Performance Model: off <br> * Performance Model: off <br>
* Interference Model: off <br> * Interference Model: off <br>
* Power Model: off * Power Model: off
...@@ -185,7 +185,7 @@ public class CloudSimGpuExample1 { ...@@ -185,7 +185,7 @@ public class CloudSimGpuExample1 {
UtilizationModel gddramBwUtilizationModel = new UtilizationModelFull(); UtilizationModel gddramBwUtilizationModel = new UtilizationModelFull();
GpuTask gpuTask = new GpuTask(gpuTaskId, taskLength, numberOfBlocks, taskInputSize, taskOutputSize, GpuTask gpuTask = new GpuTask(gpuTaskId, taskLength, numberOfBlocks, taskInputSize, taskOutputSize,
requestedGddramSize, 0, gpuUtilizationModel, gddramUtilizationModel, gddramBwUtilizationModel); requestedGddramSize, gpuUtilizationModel, gddramUtilizationModel, gddramBwUtilizationModel);
GpuCloudlet gpuCloudlet = new GpuCloudlet(gpuCloudletId, length, pesNumber, fileSize, outputSize, GpuCloudlet gpuCloudlet = new GpuCloudlet(gpuCloudletId, length, pesNumber, fileSize, outputSize,
cpuUtilizationModel, ramUtilizationModel, bwUtilizationModel, gpuTask, false); cpuUtilizationModel, ramUtilizationModel, bwUtilizationModel, gpuTask, false);
......
...@@ -34,10 +34,10 @@ import org.cloudbus.cloudsim.gpu.VgpuScheduler; ...@@ -34,10 +34,10 @@ import org.cloudbus.cloudsim.gpu.VgpuScheduler;
import org.cloudbus.cloudsim.gpu.VideoCard; import org.cloudbus.cloudsim.gpu.VideoCard;
import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicy; import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicy;
import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicyNull; import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicyNull;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridGpuVmAllocationPolicyBreadthFirst; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridGpuVmAllocationPolicyBreadthFirst;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridVgpuSchedulerFairShare; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridVgpuSchedulerFairShare;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridVgpuTags; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridVgpuTags;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridVideoCardTags; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridVideoCardTags;
import org.cloudbus.cloudsim.gpu.interference.InterferenceGpuTaskSchedulerLeftover; import org.cloudbus.cloudsim.gpu.interference.InterferenceGpuTaskSchedulerLeftover;
import org.cloudbus.cloudsim.gpu.interference.models.InterferenceModel; import org.cloudbus.cloudsim.gpu.interference.models.InterferenceModel;
import org.cloudbus.cloudsim.gpu.interference.models.InterferenceModelGpuMemory; import org.cloudbus.cloudsim.gpu.interference.models.InterferenceModelGpuMemory;
...@@ -56,7 +56,7 @@ import de.vandermeer.asciitable.AsciiTable; ...@@ -56,7 +56,7 @@ import de.vandermeer.asciitable.AsciiTable;
/** /**
* This example demonstrates the use of gpu package in simulations. <br> * This example demonstrates the use of gpu package in simulations. <br>
* GPU virtualization mode: hardware-assisted <br> * GPU virtualization mode: GRID <br>
* Performance Model: off <br> * Performance Model: off <br>
* Interference Model: on <br> * Interference Model: on <br>
* Power Model: off * Power Model: off
...@@ -189,7 +189,7 @@ public class CloudSimGpuExample2 { ...@@ -189,7 +189,7 @@ public class CloudSimGpuExample2 {
UtilizationModel gddramBwUtilizationModel = new UtilizationModelFull(); UtilizationModel gddramBwUtilizationModel = new UtilizationModelFull();
GpuTask gpuTask = new GpuTask(gpuTaskId, taskLength, numberOfBlocks, taskInputSize, taskOutputSize, GpuTask gpuTask = new GpuTask(gpuTaskId, taskLength, numberOfBlocks, taskInputSize, taskOutputSize,
requestedGddramSize, 0, gpuUtilizationModel, gddramUtilizationModel, gddramBwUtilizationModel); requestedGddramSize, gpuUtilizationModel, gddramUtilizationModel, gddramBwUtilizationModel);
GpuCloudlet gpuCloudlet = new GpuCloudlet(gpuCloudletId, length, pesNumber, fileSize, outputSize, GpuCloudlet gpuCloudlet = new GpuCloudlet(gpuCloudletId, length, pesNumber, fileSize, outputSize,
cpuUtilizationModel, ramUtilizationModel, bwUtilizationModel, gpuTask, false); cpuUtilizationModel, ramUtilizationModel, bwUtilizationModel, gpuTask, false);
......
...@@ -34,10 +34,10 @@ import org.cloudbus.cloudsim.gpu.VgpuScheduler; ...@@ -34,10 +34,10 @@ import org.cloudbus.cloudsim.gpu.VgpuScheduler;
import org.cloudbus.cloudsim.gpu.VideoCard; import org.cloudbus.cloudsim.gpu.VideoCard;
import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicy; import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicy;
import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicyNull; import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicyNull;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridGpuVmAllocationPolicyBreadthFirst; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridGpuVmAllocationPolicyBreadthFirst;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridPerformanceVgpuSchedulerFairShare; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridPerformanceVgpuSchedulerFairShare;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridVgpuTags; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridVgpuTags;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridVideoCardTags; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridVideoCardTags;
import org.cloudbus.cloudsim.gpu.interference.InterferenceGpuTaskSchedulerLeftover; import org.cloudbus.cloudsim.gpu.interference.InterferenceGpuTaskSchedulerLeftover;
import org.cloudbus.cloudsim.gpu.interference.models.InterferenceModel; import org.cloudbus.cloudsim.gpu.interference.models.InterferenceModel;
import org.cloudbus.cloudsim.gpu.interference.models.InterferenceModelGpuMemory; import org.cloudbus.cloudsim.gpu.interference.models.InterferenceModelGpuMemory;
...@@ -59,7 +59,7 @@ import de.vandermeer.asciitable.AsciiTable; ...@@ -59,7 +59,7 @@ import de.vandermeer.asciitable.AsciiTable;
/** /**
* This example demonstrates the use of gpu package in simulations. <br> * This example demonstrates the use of gpu package in simulations. <br>
* GPU virtualization mode: hardware-assisted <br> * GPU virtualization mode: GRID <br>
* Performance Model: on <br> * Performance Model: on <br>
* Interference Model: on <br> * Interference Model: on <br>
* Power Model: off * Power Model: off
...@@ -134,7 +134,7 @@ public class CloudSimGpuExample3 { ...@@ -134,7 +134,7 @@ public class CloudSimGpuExample3 {
UtilizationModel gddramBwUtilizationModel = new UtilizationModelFull(); UtilizationModel gddramBwUtilizationModel = new UtilizationModelFull();
GpuTask gpuTask = new GpuTask(gpuTaskId, taskLength, numberOfBlocks, taskInputSize, taskOutputSize, GpuTask gpuTask = new GpuTask(gpuTaskId, taskLength, numberOfBlocks, taskInputSize, taskOutputSize,
requestedGddramSize, 0, gpuUtilizationModel, gddramUtilizationModel, requestedGddramSize, gpuUtilizationModel, gddramUtilizationModel,
gddramBwUtilizationModel); gddramBwUtilizationModel);
GpuCloudlet gpuCloudlet = new GpuCloudlet(gpuCloudletId, length, pesNumber, fileSize, outputSize, GpuCloudlet gpuCloudlet = new GpuCloudlet(gpuCloudletId, length, pesNumber, fileSize, outputSize,
......
...@@ -32,11 +32,11 @@ import org.cloudbus.cloudsim.gpu.VgpuScheduler; ...@@ -32,11 +32,11 @@ import org.cloudbus.cloudsim.gpu.VgpuScheduler;
import org.cloudbus.cloudsim.gpu.VideoCard; import org.cloudbus.cloudsim.gpu.VideoCard;
import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicy; import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicy;
import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicyNull; import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicyNull;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridGpuVmAllocationPolicyBreadthFirst; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridGpuVmAllocationPolicyBreadthFirst;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridPerformanceVgpuSchedulerFairShare; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridPerformanceVgpuSchedulerFairShare;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridVgpuTags; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridVgpuTags;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridVideoCardPowerModelK1; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridVideoCardPowerModelK1;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridVideoCardTags; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridVideoCardTags;
import org.cloudbus.cloudsim.gpu.performance.models.PerformanceModel; import org.cloudbus.cloudsim.gpu.performance.models.PerformanceModel;
import org.cloudbus.cloudsim.gpu.performance.models.PerformanceModelGpuConstant; import org.cloudbus.cloudsim.gpu.performance.models.PerformanceModelGpuConstant;
import org.cloudbus.cloudsim.gpu.power.PowerGpuDatacenter; import org.cloudbus.cloudsim.gpu.power.PowerGpuDatacenter;
...@@ -61,7 +61,7 @@ import de.vandermeer.asciitable.AsciiTable; ...@@ -61,7 +61,7 @@ import de.vandermeer.asciitable.AsciiTable;
/** /**
* This example demonstrates the use of gpu package in simulations. <br> * This example demonstrates the use of gpu package in simulations. <br>
* GPU virtualization mode: hardware-assisted <br> * GPU virtualization mode: GRID <br>
* Performance Model: on <br> * Performance Model: on <br>
* Interference Model: off <br> * Interference Model: off <br>
* Power Model: on * Power Model: on
...@@ -194,7 +194,7 @@ public class CloudSimGpuExample4 { ...@@ -194,7 +194,7 @@ public class CloudSimGpuExample4 {
UtilizationModel gddramBwUtilizationModel = new UtilizationModelFull(); UtilizationModel gddramBwUtilizationModel = new UtilizationModelFull();
GpuTask gpuTask = new GpuTask(gpuTaskId, taskLength, numberOfBlocks, taskInputSize, taskOutputSize, GpuTask gpuTask = new GpuTask(gpuTaskId, taskLength, numberOfBlocks, taskInputSize, taskOutputSize,
requestedGddramSize, 0, gpuUtilizationModel, gddramUtilizationModel, gddramBwUtilizationModel); requestedGddramSize, gpuUtilizationModel, gddramUtilizationModel, gddramBwUtilizationModel);
GpuCloudlet gpuCloudlet = new GpuCloudlet(gpuCloudletId, length, pesNumber, fileSize, outputSize, GpuCloudlet gpuCloudlet = new GpuCloudlet(gpuCloudletId, length, pesNumber, fileSize, outputSize,
cpuUtilizationModel, ramUtilizationModel, bwUtilizationModel, gpuTask, false); cpuUtilizationModel, ramUtilizationModel, bwUtilizationModel, gpuTask, false);
......
...@@ -32,11 +32,11 @@ import org.cloudbus.cloudsim.gpu.VgpuScheduler; ...@@ -32,11 +32,11 @@ import org.cloudbus.cloudsim.gpu.VgpuScheduler;
import org.cloudbus.cloudsim.gpu.VideoCard; import org.cloudbus.cloudsim.gpu.VideoCard;
import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicy; import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicy;
import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicyNull; import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicyNull;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridGpuVmAllocationPolicyBreadthFirst; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridGpuVmAllocationPolicyBreadthFirst;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridPerformanceVgpuSchedulerFairShare; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridPerformanceVgpuSchedulerFairShare;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridVgpuTags; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridVgpuTags;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridVideoCardPowerModelK1; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridVideoCardPowerModelK1;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridVideoCardTags; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridVideoCardTags;
import org.cloudbus.cloudsim.gpu.performance.models.PerformanceModel; import org.cloudbus.cloudsim.gpu.performance.models.PerformanceModel;
import org.cloudbus.cloudsim.gpu.performance.models.PerformanceModelGpuConstant; import org.cloudbus.cloudsim.gpu.performance.models.PerformanceModelGpuConstant;
import org.cloudbus.cloudsim.gpu.power.PowerGpuDatacenter; import org.cloudbus.cloudsim.gpu.power.PowerGpuDatacenter;
...@@ -62,7 +62,7 @@ import de.vandermeer.asciitable.AsciiTable; ...@@ -62,7 +62,7 @@ import de.vandermeer.asciitable.AsciiTable;
/** /**
* This example demonstrates the use of gpu package for the simulation of mixed * This example demonstrates the use of gpu package for the simulation of mixed
* workloads. <br> * workloads. <br>
* GPU virtualization mode: hardware-assisted <br> * GPU virtualization mode: GRID <br>
* Performance Model: on <br> * Performance Model: on <br>
* Interference Model: off <br> * Interference Model: off <br>
* Power Model: on * Power Model: on
...@@ -195,7 +195,7 @@ public class CloudSimGpuExample5 { ...@@ -195,7 +195,7 @@ public class CloudSimGpuExample5 {
UtilizationModel gddramBwUtilizationModel = new UtilizationModelFull(); UtilizationModel gddramBwUtilizationModel = new UtilizationModelFull();
GpuTask gpuTask = new GpuTask(gpuTaskId, taskLength, numberOfBlocks, taskInputSize, taskOutputSize, GpuTask gpuTask = new GpuTask(gpuTaskId, taskLength, numberOfBlocks, taskInputSize, taskOutputSize,
requestedGddramSize, 0, gpuUtilizationModel, gddramUtilizationModel, gddramBwUtilizationModel); requestedGddramSize, gpuUtilizationModel, gddramUtilizationModel, gddramBwUtilizationModel);
GpuCloudlet gpuCloudlet = new GpuCloudlet(gpuCloudletId, length, pesNumber, fileSize, outputSize, GpuCloudlet gpuCloudlet = new GpuCloudlet(gpuCloudletId, length, pesNumber, fileSize, outputSize,
cpuUtilizationModel, ramUtilizationModel, bwUtilizationModel, gpuTask, false); cpuUtilizationModel, ramUtilizationModel, bwUtilizationModel, gpuTask, false);
......
...@@ -32,8 +32,8 @@ import org.cloudbus.cloudsim.gpu.VgpuScheduler; ...@@ -32,8 +32,8 @@ import org.cloudbus.cloudsim.gpu.VgpuScheduler;
import org.cloudbus.cloudsim.gpu.VideoCard; import org.cloudbus.cloudsim.gpu.VideoCard;
import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicy; import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicy;
import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicySimple; import org.cloudbus.cloudsim.gpu.allocation.VideoCardAllocationPolicySimple;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridVideoCardTags; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridVideoCardPowerModelK1;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridVideoCardPowerModelK1; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridVideoCardTags;
import org.cloudbus.cloudsim.gpu.performance.models.PerformanceModel; import org.cloudbus.cloudsim.gpu.performance.models.PerformanceModel;
import org.cloudbus.cloudsim.gpu.performance.models.PerformanceModelGpuConstant; import org.cloudbus.cloudsim.gpu.performance.models.PerformanceModelGpuConstant;
import org.cloudbus.cloudsim.gpu.placement.GpuDatacenterBrokerEx; import org.cloudbus.cloudsim.gpu.placement.GpuDatacenterBrokerEx;
...@@ -47,6 +47,7 @@ import org.cloudbus.cloudsim.gpu.provisioners.GpuGddramProvisionerSimple; ...@@ -47,6 +47,7 @@ import org.cloudbus.cloudsim.gpu.provisioners.GpuGddramProvisionerSimple;
import org.cloudbus.cloudsim.gpu.provisioners.VideoCardBwProvisioner; import org.cloudbus.cloudsim.gpu.provisioners.VideoCardBwProvisioner;
import org.cloudbus.cloudsim.gpu.provisioners.VideoCardBwProvisionerShared; import org.cloudbus.cloudsim.gpu.provisioners.VideoCardBwProvisionerShared;
import org.cloudbus.cloudsim.gpu.remote.RemoteGpuDatacenterEx; import org.cloudbus.cloudsim.gpu.remote.RemoteGpuDatacenterEx;
import org.cloudbus.cloudsim.gpu.remote.RemoteGpuTask;
import org.cloudbus.cloudsim.gpu.remote.RemoteGpuVmAllocationPolicySimple; import org.cloudbus.cloudsim.gpu.remote.RemoteGpuVmAllocationPolicySimple;
import org.cloudbus.cloudsim.gpu.remote.RemoteVgpuSchedulerFairShareEx; import org.cloudbus.cloudsim.gpu.remote.RemoteVgpuSchedulerFairShareEx;
import org.cloudbus.cloudsim.gpu.remote.RemoteVgpuTags; import org.cloudbus.cloudsim.gpu.remote.RemoteVgpuTags;
...@@ -195,8 +196,8 @@ public class CloudSimGpuExample6 { ...@@ -195,8 +196,8 @@ public class CloudSimGpuExample6 {
UtilizationModel gddramUtilizationModel = new UtilizationModelFull(); UtilizationModel gddramUtilizationModel = new UtilizationModelFull();
UtilizationModel gddramBwUtilizationModel = new UtilizationModelFull(); UtilizationModel gddramBwUtilizationModel = new UtilizationModelFull();
GpuTask gpuTask = new GpuTask(gpuTaskId, taskLength, numberOfBlocks, taskInputSize, taskOutputSize, GpuTask gpuTask = new RemoteGpuTask(gpuTaskId, taskLength, numberOfBlocks, taskInputSize, taskOutputSize,
requestedGddramSize, 0, gpuUtilizationModel, gddramUtilizationModel, gddramBwUtilizationModel); requestedGddramSize, 1.5f, gpuUtilizationModel, gddramUtilizationModel, gddramBwUtilizationModel);
GpuCloudlet gpuCloudlet = new GpuCloudlet(gpuCloudletId, length, pesNumber, fileSize, outputSize, GpuCloudlet gpuCloudlet = new GpuCloudlet(gpuCloudletId, length, pesNumber, fileSize, outputSize,
cpuUtilizationModel, ramUtilizationModel, bwUtilizationModel, gpuTask, false); cpuUtilizationModel, ramUtilizationModel, bwUtilizationModel, gpuTask, false);
......
package org.cloudbus.cloudsim.gpu; package org.cloudbus.cloudsim.gpu;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridVideoCardTags; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridVideoCardTags;
/** /**
* *
......
...@@ -48,11 +48,6 @@ public class GpuTask { ...@@ -48,11 +48,6 @@ public class GpuTask {
*/ */
private final long requestedGddramSize; private final long requestedGddramSize;
/**
* The communication overhead when executed on a remote GPU.
*/
private float communicationOverhead;
/** /**
* Total number of task block. The length of the task is * Total number of task block. The length of the task is
* {@link #getBlockLength()} * {@link #numberOfBlocks} * {@link #getBlockLength()} * {@link #numberOfBlocks}
...@@ -216,10 +211,10 @@ public class GpuTask { ...@@ -216,10 +211,10 @@ public class GpuTask {
* @post $none * @post $none
*/ */
public GpuTask(final int taskId, final long blockLength, final int numberOfBlocks, final long inputSize, public GpuTask(final int taskId, final long blockLength, final int numberOfBlocks, final long inputSize,
final long outputSize, final long requestedGddramSize, final float communicationOverhead, final long outputSize, final long requestedGddramSize,
final UtilizationModel utilizationModelGpu, final UtilizationModel utilizationModelGddram, final UtilizationModel utilizationModelGpu, final UtilizationModel utilizationModelGddram,
final UtilizationModel utilizationModelBw) { final UtilizationModel utilizationModelBw) {
this(taskId, blockLength, numberOfBlocks, inputSize, outputSize, requestedGddramSize, communicationOverhead, this(taskId, blockLength, numberOfBlocks, inputSize, outputSize, requestedGddramSize,
utilizationModelGpu, utilizationModelGddram, utilizationModelBw, false); utilizationModelGpu, utilizationModelGddram, utilizationModelBw, false);
} }
...@@ -245,7 +240,7 @@ public class GpuTask { ...@@ -245,7 +240,7 @@ public class GpuTask {
* @post $none * @post $none
*/ */
public GpuTask(final int taskId, final long blockLength, final int numberOfBlocks, final long inputSize, public GpuTask(final int taskId, final long blockLength, final int numberOfBlocks, final long inputSize,
final long outputSize, final long requestedGddramSize, final float communicationOverhead, final long outputSize, final long requestedGddramSize,
final UtilizationModel utilizationModelGpu, final UtilizationModel utilizationModelGddram, final UtilizationModel utilizationModelGpu, final UtilizationModel utilizationModelGddram,
final UtilizationModel utilizationModelBw, final boolean record) { final UtilizationModel utilizationModelBw, final boolean record) {
status = CREATED; status = CREATED;
...@@ -261,7 +256,6 @@ public class GpuTask { ...@@ -261,7 +256,6 @@ public class GpuTask {
this.taskInputSize = Math.max(1, inputSize); this.taskInputSize = Math.max(1, inputSize);
this.taskOutputSize = Math.max(1, outputSize); this.taskOutputSize = Math.max(1, outputSize);
this.requestedGddramSize = Math.max(1, requestedGddramSize); this.requestedGddramSize = Math.max(1, requestedGddramSize);
this.communicationOverhead = communicationOverhead;
// Normally, a task is only executed on a resource without being // Normally, a task is only executed on a resource without being
// migrated to others. Hence, to reduce memory consumption, set the // migrated to others. Hence, to reduce memory consumption, set the
...@@ -561,10 +555,6 @@ public class GpuTask { ...@@ -561,10 +555,6 @@ public class GpuTask {
return taskOutputSize; return taskOutputSize;
} }
public float getCommunicationOverhead() {
return communicationOverhead;
}
/** /**
* Sets the resource parameters for which the task is going to be executed. From * Sets the resource parameters for which the task is going to be executed. From
* the second time this method is called, every call make the task to be * the second time this method is called, every call make the task to be
......
...@@ -11,7 +11,7 @@ import org.apache.commons.collections.CollectionUtils; ...@@ -11,7 +11,7 @@ import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.Predicate; import org.apache.commons.collections.Predicate;
import org.cloudbus.cloudsim.Pe; import org.cloudbus.cloudsim.Pe;
import org.cloudbus.cloudsim.Vm; import org.cloudbus.cloudsim.Vm;
import org.cloudbus.cloudsim.gpu.hardware_assisted.GridVideoCardTags; import org.cloudbus.cloudsim.gpu.hardware_assisted.grid.GridVideoCardTags;
import org.cloudbus.cloudsim.gpu.selection.PgpuSelectionPolicy; import org.cloudbus.cloudsim.gpu.selection.PgpuSelectionPolicy;
/** /**
......
package org.cloudbus.cloudsim.gpu.hardware_assisted; package org.cloudbus.cloudsim.gpu.hardware_assisted.grid;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
......
package org.cloudbus.cloudsim.gpu.hardware_assisted; package org.cloudbus.cloudsim.gpu.hardware_assisted.grid;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
......
package org.cloudbus.cloudsim.gpu.hardware_assisted; package org.cloudbus.cloudsim.gpu.hardware_assisted.grid;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
......
package org.cloudbus.cloudsim.gpu.hardware_assisted; package org.cloudbus.cloudsim.gpu.hardware_assisted.grid;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
......
package org.cloudbus.cloudsim.gpu.hardware_assisted; package org.cloudbus.cloudsim.gpu.hardware_assisted.grid;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
......
package org.cloudbus.cloudsim.gpu.hardware_assisted; package org.cloudbus.cloudsim.gpu.hardware_assisted.grid;
import java.util.List; import java.util.List;
import java.util.Map.Entry; import java.util.Map.Entry;
......
package org.cloudbus.cloudsim.gpu.hardware_assisted; package org.cloudbus.cloudsim.gpu.hardware_assisted.grid;
import java.util.List; import java.util.List;
import java.util.Map.Entry; import java.util.Map.Entry;
......
package org.cloudbus.cloudsim.gpu.hardware_assisted; package org.cloudbus.cloudsim.gpu.hardware_assisted.grid;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
......
package org.cloudbus.cloudsim.gpu.hardware_assisted; package org.cloudbus.cloudsim.gpu.hardware_assisted.grid;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
......
package org.cloudbus.cloudsim.gpu.hardware_assisted; package org.cloudbus.cloudsim.gpu.hardware_assisted.grid;
import org.cloudbus.cloudsim.gpu.VideoCard; import org.cloudbus.cloudsim.gpu.VideoCard;
......
...@@ -44,7 +44,7 @@ public class RemoteGpuDatacenterEx extends GpuDatacenterEx { ...@@ -44,7 +44,7 @@ public class RemoteGpuDatacenterEx extends GpuDatacenterEx {
@Override @Override
protected void processGpuMemoryTransfer(SimEvent ev) { protected void processGpuMemoryTransfer(SimEvent ev) {
GpuTask gt = (GpuTask) ev.getData(); RemoteGpuTask gt = (RemoteGpuTask) ev.getData();
double bandwidth = Double.valueOf(BusTags.PCI_E_3_X16_BW); double bandwidth = Double.valueOf(BusTags.PCI_E_3_X16_BW);
......
package org.cloudbus.cloudsim.gpu.remote;
import org.cloudbus.cloudsim.UtilizationModel;
import org.cloudbus.cloudsim.gpu.GpuTask;
public class RemoteGpuTask extends GpuTask {
/**
* The communication overhead when executed on a remote GPU.
*/
private float communicationOverhead;
public RemoteGpuTask(int taskId, long blockLength, int numberOfBlocks, long inputSize, long outputSize,
long requestedGddramSize, float communicationOverhead, UtilizationModel utilizationModelGpu,
UtilizationModel utilizationModelGddram, UtilizationModel utilizationModelBw) {
super(taskId, blockLength, numberOfBlocks, inputSize, outputSize, requestedGddramSize, utilizationModelGpu,
utilizationModelGddram, utilizationModelBw);
this.communicationOverhead = communicationOverhead;
}
public RemoteGpuTask(int taskId, long blockLength, int numberOfBlocks, long inputSize, long outputSize,
long requestedGddramSize, float communicationOverhead, UtilizationModel utilizationModelGpu,
UtilizationModel utilizationModelGddram, UtilizationModel utilizationModelBw, boolean record) {
super(taskId, blockLength, numberOfBlocks, inputSize, outputSize, requestedGddramSize, utilizationModelGpu,
utilizationModelGddram, utilizationModelBw, record);
this.communicationOverhead = communicationOverhead;
}
public float getCommunicationOverhead() {
return communicationOverhead;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment