#5, First Floor, 4th Street , Dr. Subbarayan Nagar Kodambakkam, Chennai-600 024 pro@slogix.in

Office Address

  • #5, First Floor, 4th Street Dr. Subbarayan Nagar Kodambakkam, Chennai-600 024 Landmark : Samiyar Madam
  • pro@slogix.in
  • +91- 81240 01111

Social List

How to perform game theory based resource allocation using CloudSim?
  • Configure datacenter, host, VMs, and cloudlets

    Createdcenter datacenter0 = createDC(“DataCenter”);

    broker = createBroker();

    brokerId = broker.getId();

    bvmlist = createVM();

  • coalition.add(“Coalition” + finalResult.get(key));

    list1.add(“VM#” + String.valueOf(key));

  • Associate payoff for each coalition. Payoff depends on the quantity and quality of resources. The coalition that is able to satisfy a task with the least wastage of resources is entitled to a higher payoff.

    //coalition of host1

    System.out.println(“\n” + “coalition of host 1”);

    capability[0] = h1Pe + h0Pe;

    capability[1] = h1Pe + h2Pe;

    capability[2] = h1Pe + h3Pe;

    idx[0] = “10”;

    idx[1] = “12”;

    idx[2] = “13”;

    for (int i = 0; i < vmlist.size(); i++) {

    VirtualMachine vm = vmlist.get(i);

    int numOfpe = vm.getNumberOfPes();

    int sf = numOfpe + 1; // Scalling Factor

    double payoff = 0.0;

    int vid = vm.getId();

    for (int j = 0; j < capability.length; j++) {

    int dc = capability[j];

    if (dc < numOfpe) {

    payoff = ((double) dc – (double) numOfpe) * ((double) h0Pe / (double) dc);

    } else if (dc == numOfpe) {

    payoff = sf * ((double) h0Pe / (double) dc);

    } else if (dc > numOfpe) {

    payoff = (sf – (((double) dc – (double) numOfpe))) * ((double) h0Pe / (double) dc);

    }

    if (hmap.containsKey(vid)) {

    double lastpf = hmap.get(vid);

    if (payoff > lastpf) {

    hmap.put(vid, payoff);

    finalResult.put(vid, idx[j]);

    }

    } else {

    hmap.put(vid, payoff);

    finalResult.put(vid, idx[j]);

    }

    System.out.println(“VM#” + vm.getId() + ” ===> ” + payoff);

    }

    }

  • Task is allocated to the selected best coalition.

    taskidList.add(String.valueOf(cllist.get(i)));

    vmIdlist.add(String.valueOf(vmidlist.get(k)));

    vmMipsList.add(String.valueOf(vmdisplay.get(k)));