Scheduling Algorithm used in sample 3

469 views
Skip to first unread message

eng.kha...@gmail.com

unread,
Dec 15, 2018, 12:46:51 AM12/15/18
to EdgeCloudSim
is the scheduling algorithm used in sample 3 online or off-line algorithm ... what should we change for on-line algorithms. also, I wanna ask about dependency between tasks.

Cagatay Sonmez

unread,
Dec 17, 2018, 7:08:33 AM12/17/18
to EdgeCloudSim
Hello,

All the algorithm used in the sample applications are online.
Using conventional offline optimization techniques with EdgeCloudSim is not reasonable since the offloading requests are received on the fly.

The dependency between the tasks is not considered in the sample applications.
In fact, the tasks are considered as stateless jobs.
If you want to support the task dependency, you should customize the offloading strategy.
The tasks are generated in SimManager.java according to the provided task generator model, you can check lines 197-199 of SimManager.java.

Regards,
Cagatay

eng.kha...@gmail.com

unread,
Dec 17, 2018, 10:38:13 PM12/17/18
to EdgeCloudSim
hello friend,
could you please told me how the code generate the tasks.... another question about selecting VM on mobile.
how you select VM  when it is local execute in mobile ... i mean depending on what (utilization?).

Cagatay Sonmez

unread,
Dec 18, 2018, 3:57:51 AM12/18/18
to EdgeCloudSim
Hello,

The task are generated by the concrete implementation of LoadGeneratorModel abstract class.
By default EdgeCloudSim provides IdleActiveLoadGenerator class.
You can implement your own load generator model if you want, and provide it to the system via your ScenarioFactory class.

Basically, LoadGeneratorModel uses a hashmap which includes the time and task pairs.
In SimManager.java, this hashmap is iterated and the related tasks are injected to the system.
Please consider lines 197-199:

//Creation of tasks are scheduled here!
for(int i=0; i< loadGeneratorModel.getTaskList().size(); i++)
schedule(getId(), loadGeneratorModel.getTaskList().get(i).startTime, CREATE_TASK, loadGeneratorModel.getTaskList().get(i));

Selecting the VMs on mobile depends on the scenario you designed.
In sample_app3, we have 3 different scenarios and the workload orchestration works as follows:

ONLY_EDGE: all the tasks are offloaded to the edge servers
ONLY_MOBILE: all the tasks are executed on the mobile device
HYBRID: The task is executed on the mobile device if it has enough processing capacity. Otherwise the task is offloaded to the edge servers

Please note that these are the simple policies just for demonstration purpose.
Normally, you should have more sophisticated orchestration policy (algorithm).

Regards,
Cagatay

5192...@qq.com

unread,
Jan 1, 2019, 8:12:04 PM1/1/19
to EdgeCloudSim
Hello,thanks for your interpretation.

The orchestration policy HYBRID executed a method that can offload tasks on the edge or mobile devices,do you think about a new way that edge and mobile devices work at the same time?
I think the hybrid policy use both of devices to work according to some kind of indicator, such as the computing power of the devices,that will be more high-efficiency.

在 2018年12月18日星期二 UTC+8下午4:57:51,Cagatay Sonmez写道:

Cagatay Sonmez

unread,
Jan 2, 2019, 5:39:37 AM1/2/19
to EdgeCloudSim
Hello,

I couldn't understand what you mean with "edge and mobile devices work at the same time". Do you mean something like distributed/grid computing? Default task generation module generates independent tasks, and they are executed on the offloaded device only. In order to support the distributed computing, the tasks should be simulated in higher resolution. Currently, the tasks are modeled in a simple way.

Please note that the orchestrators provided in the sample applications are proof of concept solutions. The researchers would probably use more sophisticated ones in their work.

Regards,
Cagatay

5192...@qq.com

unread,
Jan 2, 2019, 8:03:01 AM1/2/19
to EdgeCloudSim

Hello, 

I mean that edge and mobile devices work at the same time is the something like distributed computing. With the advent of edge computing, cloud computing, as the traditional data processing model, will be influenced,but the edge computing and the cloud computing is not a substitutional relationship. In the future, it will be the integration of two kinds of computing.
I want to use your edgecloudsim project to develop cloud and edge collaborative work model. At present, I just think about the method of using the mips to divide the length of task, could you give my some advice?

thanks for your time. 
在 2019年1月2日星期三 UTC+8下午6:39:37,Cagatay Sonmez写道:

5192...@qq.com

unread,
Jan 2, 2019, 8:19:23 AM1/2/19
to EdgeCloudSim
In addition,I want to ask something about the cost of communication and computing, I can think about the bandwidth and the power cost.

Thanks.

在 2019年1月2日星期三 UTC+8下午9:03:01,5192...@qq.com写道:

Cagatay Sonmez

unread,
Jan 2, 2019, 9:49:57 AM1/2/19
to EdgeCloudSim
Hello,

I recommend you to modify your mobile device manager class in a way to divide the generated tasks into the sub tasks.
Normally, the tasks are created and then assigned to a device in the submitTask function:

public void submitTask(EdgeTask edgeTask) {
    ...
    //create a task
    Task task = createTask(edgeTask);
    ...
}

You can dive incoming task into the sub tasks, then assign them to the proper devices (cloud, edge or mobile) as following:

public void submitTask(EdgeTask edgeTask) {
    ...
    //create sub tasks
    //do not forget to implement createSubTask function
    //you need to arrange task length and input/output size properly
    Task task1 = createSubTask(edgeTask);
    Task task2 = createSubTask(edgeTask);

    //assign sub tasks to the proper devices
...
}

By the way, EdgeTask class name is updated as TaskProperty, but I did not push this change yet.
Do not confuse with the class name, this class just holds the properties of the task.
In the initial version of EdgeCloudSim, the tasks can only be offloaded to the edge servers, that why the class name is EdgeTask.

I hope this helps,
Cagatay

程瑞

unread,
Nov 1, 2020, 10:33:32 PM11/1/20
to EdgeCloudSim

hi,i'm also working on   cloud-edge collaborative work mode,did you implement it on EdgeCloudSim?

MUHAMMAD FAUZAN

unread,
Jun 11, 2023, 10:55:48 AM6/11/23
to EdgeCloudSim
Hi Cagatz Sonmez, I admire your work in building the edgecloudsim simulator, I has study a little bit about the parallel computing, can I get more deep guidance from you to modify the mobile device manager class to divide the task into subtask based on the original generated task, so that it can be divide the task only when the task is offload to other edge nodes. Should i modify the SimManager, application file, and create subtask.java like task.java to divide the task into subtask?

I hope you can reply my message soon.
Megat
Reply all
Reply to author
Forward
0 new messages