コード例 #1
0
    def evaluation(self):
        totalRelibility = 0
        for SFCId in sfcListSingleton.getSFCList():
            SFCInstance = SFC(SFCId, sfcListSingleton.dict_maxDelay[SFCId],
                              sfcListSingleton.dict_minReliability[SFCId],
                              sfcListSingleton.dict_VNFList[SFCId],
                              sfcListSingleton.dict_createdtime[SFCId])
            totalRelibility += SFCInstance.get_SFC_relialibility(
                SFCInstance.getVNFList())
            print("totalRelibility = %f" % totalRelibility)

        costInstance = MigrationCostCaculation()
        cost = costInstance.getCostOfMigratingVNFsOnOneSFC(
            self.migrated_SFC_id, self.SFCDelayBeforMigration,
            self.SFCRequestedResourceBefore, self.needMigratedVNFList,
            self.destinationPhysicalNodeList)
        print("cost = %f" % cost)
        return 100 + totalRelibility - cost
コード例 #2
0
    def getDelayIncreationOfSFC(self, migrated_SFC_id, SFCDelayBeforMigration):
        SFCInstance = SFC(
            migrated_SFC_id, sfcListSingleton.dict_maxDelay[migrated_SFC_id],
            sfcListSingleton.dict_minReliability[migrated_SFC_id],
            sfcListSingleton.dict_VNFList[migrated_SFC_id],
            sfcListSingleton.dict_createdtime[migrated_SFC_id])
        VNFList = SFCInstance.getVNFList()
        print(VNFList)
        nodeidlist = []
        i = 0
        for vnfid in VNFList:
            if vnfid == 15:
                VNFinstance = VNF(
                    vnfid, vnfListSingelton.dict_VNFListType[vnfid],
                    vnfListSingelton.dict_VNFRequestCPU[vnfid],
                    vnfListSingelton.dict_VNFRequestMemory[vnfid],
                    vnfListSingelton.dict_locatedVMID[vnfid],
                    vnfListSingelton.dict_locatedSFCIDList[vnfid],
                    vnfListSingelton.dict_numbersOnSFCList[vnfid],
                    vnfListSingelton.dict_VNFReliability[vnfid])
                vmid = VNFinstance.get_VM_id(vnfid)
                VMinstance = VM(
                    vmid, vmListSingelton.dict_VMRequestCPU[vmid],
                    vmListSingelton.dict_VMRequestMemory[vmid],
                    vmListSingelton.dict_VMLocatedPhysicalnode[vmid],
                    vmListSingelton.dict_VMReliability[vmid])
                nodeid = VMinstance.get_physicalNode_id(vmid)

                print("before node id = %d" % nodeid)

                VMinstance.setPhysicalNodeId(16)

        SFCDelayAfterMigration = SFCInstance.get_SFC_delay(VNFList)

        print("SFCDelayAfterMigration = %f" % SFCDelayAfterMigration)
        print("SFCDelayBeforMigration = %f" % SFCDelayBeforMigration)
        print(SFCDelayAfterMigration - SFCDelayBeforMigration)
        return SFCDelayAfterMigration - SFCDelayBeforMigration