• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java SubstrateNetwork类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中vnreal.network.substrate.SubstrateNetwork的典型用法代码示例。如果您正苦于以下问题:Java SubstrateNetwork类的具体用法?Java SubstrateNetwork怎么用?Java SubstrateNetwork使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



SubstrateNetwork类属于vnreal.network.substrate包,在下文中一共展示了SubstrateNetwork类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: findShortestPath

import vnreal.network.substrate.SubstrateNetwork; //导入依赖的package包/类
public static LinkedList<SubstrateLink> findShortestPath(
		SubstrateNetwork sNetwork,
		SubstrateNode n1, SubstrateNode n2,
		Transformer<SubstrateLink, Double> t) {

	if (n1.getId() == n2.getId()) {
		return new LinkedList<SubstrateLink>();
	}

	MyDijkstraShortestPath<SubstrateNode, SubstrateLink> dijkstra =
			new MyDijkstraShortestPath<SubstrateNode, SubstrateLink>(
					sNetwork, t, true);

	LinkedList<SubstrateLink> path = dijkstra.getPath(n1, n2, -1);

	return path;
}
 
开发者ID:KeepTheBeats,项目名称:alevin-svn2,代码行数:18,代码来源:Utils.java


示例2: generate

import vnreal.network.substrate.SubstrateNetwork; //导入依赖的package包/类
@Override
public NetworkStack generate(ArrayList<Object> parameters) {
	Double alpha = (Double) parameters.get(0);
	Double beta = (Double) parameters.get(1);
	Integer sNetSize = ConversionHelper.paramObjectToInteger(parameters.get(2));
	Integer numVNodesPerNet = ConversionHelper.paramObjectToInteger(parameters.get(3));
	Integer numVNets = ConversionHelper.paramObjectToInteger(parameters.get(4));
	Long seed = ConversionHelper.paramObjectToLong(parameters.get(5));
	
	Random random = seed == null ? new Random() : new Random(seed);
	SubstrateNetwork sn = createSubstrateNetwork(alpha, beta, sNetSize, random);
	
	List<VirtualNetwork> vns = createVirtualNetworks(alpha, beta, numVNets, numVNodesPerNet, random);
	
	NetworkStack ns = new NetworkStack(sn, vns);
	
	
	return ns;
}
 
开发者ID:KeepTheBeats,项目名称:alevin-svn2,代码行数:20,代码来源:FixedWaxmanNetworkGenerator.java


示例3: map

import vnreal.network.substrate.SubstrateNetwork; //导入依赖的package包/类
@Override
public NetworkStack map(AlgorithmParameter data, SubstrateNetwork substrate, List<VirtualNetwork> virtuals) {
	NetworkStack stack = new NetworkStack(substrate, virtuals);
	
	LinkedList<IHiddenHopMapping> hhMappings = new LinkedList<IHiddenHopMapping>();
	double hiddenHopsFactor = 0;
	hhMappings.add(new BandwidthCpuHiddenHopMapping(hiddenHopsFactor));

	AlgorithmParameter param = new AlgorithmParameter();
	param.put("weightCpu", "0");
	param.put("weightBw", "0");
	param.put("distance", "35");
	param.put("PathSplitting", "true");
	GenericMappingAlgorithm algo = new AvailableResources(param);
	algo.setStack(stack);
	if (algo instanceof GenericMappingAlgorithm)
		((GenericMappingAlgorithm) algo).setHhMappings(hhMappings);

	algo.performEvaluation();
	
	return stack;
}
 
开发者ID:KeepTheBeats,项目名称:alevin-svn2,代码行数:23,代码来源:RWMMPSTest.java


示例4: createSubstrateNetwork

import vnreal.network.substrate.SubstrateNetwork; //导入依赖的package包/类
/**
 * This method creates the substrateNEtwork
 * 
 * @param alpha Alpha value
 * @param beta  Beta value
 * @param bidirectEdges True if edges should be bidrectional
 * @param sNetSize size of the SubstrateNetwork
 * @return
 */
protected SubstrateNetwork createSubstrateNetwork(Double alpha, Double beta, Integer sNetSize) {
	
	WaxmanGraphGenerator<SubstrateNode, SubstrateLink> sGenerator = new WaxmanGraphGenerator<SubstrateNode, SubstrateLink>(
			alpha, beta, false);
	
	SubstrateNetwork sNetwork = new SubstrateNetwork(false);
	for (int i = 0; i < sNetSize; ++i) {
		SubstrateNode sn = new SubstrateNode();
		sn.setName(sn.getId() + "");
		sNetwork.addVertex(sn);
	}
	
	sGenerator.generate(sNetwork);

	
	return sNetwork;
}
 
开发者ID:KeepTheBeats,项目名称:alevin-svn2,代码行数:27,代码来源:WaxmanNetworkStackGenerator.java


示例5: mapNetwork

import vnreal.network.substrate.SubstrateNetwork; //导入依赖的package包/类
@Override
public boolean mapNetwork(SubstrateNetwork network, VirtualNetwork vNetwork) {
	List<VirtualNetwork> vns = new LinkedList<VirtualNetwork>();
	vns.add(vNetwork);
	NetworkStack stack = new NetworkStack(network, vns);
	LinkedList<IHiddenHopMapping> hhMappings = new LinkedList<IHiddenHopMapping>();
	double hiddenHopsFactor = 0;
	hhMappings.add(new BandwidthCpuHiddenHopMapping(hiddenHopsFactor));
	
	AlgorithmParameter param = new AlgorithmParameter();
	param.put("weightCpu", "0");
	param.put("weightBw", "0");
	param.put("distance", "35");
	param.put("PathSplitting", "true");
	GenericMappingAlgorithm algo = new AvailableResources(param);
	algo.setStack(stack);
	if (algo instanceof GenericMappingAlgorithm)
		((GenericMappingAlgorithm) algo).setHhMappings(hhMappings);

	algo.performEvaluation();
	return VnrUtils.isMapped(vNetwork);

}
 
开发者ID:KeepTheBeats,项目名称:alevin-svn2,代码行数:24,代码来源:GARPS.java


示例6: generate

import vnreal.network.substrate.SubstrateNetwork; //导入依赖的package包/类
public NetworkStack generate(int numVNets,
		NetworkGeneratorParameter sNetGeneratorParam,
		NetworkGeneratorParameter vNetGeneratorParam,
		Random random) {

	SubstrateNetwork sNetwork = sNetGenerator.generate(random, sNetConstraintGenerator, sNetGeneratorParam);

	LinkedList<VirtualNetwork> vNetworks = new LinkedList<VirtualNetwork>();
	for (int layer = 1; layer <= numVNets; ++layer) {
		boolean validated = false;
		while (!validated) {
			VirtualNetwork vNetwork = vNetGenerator.generate(random, vNetConstraintGenerator, vNetGeneratorParam);

			if (!vNetwork.isConnected()) {
				System.out.println("NOTE: vNet was not connected -> regenerate");
				continue;
			}

			validated = true;
			vNetworks.add(vNetwork);
		}
	}

	return new NetworkStack(sNetwork, vNetworks);
}
 
开发者ID:KeepTheBeats,项目名称:alevin-svn2,代码行数:26,代码来源:StackGenerator.java


示例7: generateSubstrateNetwork

import vnreal.network.substrate.SubstrateNetwork; //导入依赖的package包/类
@Override
public SubstrateNetwork generateSubstrateNetwork(
		final boolean autoUnregisterConstraints) {
	return new Generator<SubstrateNetwork, SubstrateNode, SubstrateLink>() {

		@Override
		protected SubstrateNetwork createNetwork() {
			return new SubstrateNetwork(autoUnregisterConstraints);
		}

		@Override
		protected SubstrateNode createNode() {
			return new SubstrateNode();
		}

		@Override
		protected SubstrateLink createLink() {
			return new SubstrateLink();
		}
	}.generateGraph(this.numPods, this.clientsGenerated);
}
 
开发者ID:KeepTheBeats,项目名称:alevin-svn2,代码行数:22,代码来源:AlFaresGenerator.java


示例8: generateRandomCPUResources

import vnreal.network.substrate.SubstrateNetwork; //导入依赖的package包/类
public static void generateRandomCPUResources(SubstrateNetwork sNetwork,
		int minResourceCPU, int maxResourceCPU, Random random, boolean useCommonConstraints) {

	for (SubstrateNode n : sNetwork.getVertices()) {
		int value = Utils.rnd(minResourceCPU, maxResourceCPU, random);
		
		if (useCommonConstraints) {
			CommonResource r = new CommonResource(value, n);
			n.add(r);
		} else {
			CpuResource cpu = new CpuResource(n);
			cpu.setCycles((double) value);
			n.add(cpu);
		}
	}
}
 
开发者ID:KeepTheBeats,项目名称:alevin-svn2,代码行数:17,代码来源:RandomResourceGenerator.java


示例9: occupyPathResources

import vnreal.network.substrate.SubstrateNetwork; //导入依赖的package包/类
public static LinkedList<ResourceDemandEntry> occupyPathResources(
		List<AbstractDemand> demands, List<AbstractDemand> hiddenhopDemands,
		List<SubstrateLink> path, SubstrateNetwork sNetwork) {
	
	LinkedList<ResourceDemandEntry> resources =
			new LinkedList<ResourceDemandEntry>();

		int i = 1;
		for (SubstrateLink e : path) {
			resources.addAll(occupyResources(demands, e.get()));

			if (i != path.size()) {
				Pair<SubstrateNode> endpoints = sNetwork.getEndpoints(e);
				Collection<ResourceDemandEntry> entry =
					occupyHiddenHop(endpoints.getSecond(), hiddenhopDemands);
				resources.addAll(entry);
			}
			++i;
		}
		
		return resources;
}
 
开发者ID:KeepTheBeats,项目名称:alevin-svn2,代码行数:23,代码来源:Utils.java


示例10: nodePotential

import vnreal.network.substrate.SubstrateNetwork; //导入依赖的package包/类
public double nodePotential(SubstrateNetwork sNetwork, SubstrateNode v,
		Collection<SubstrateNode> v_a) {

	SubstrateLinkStressTransformer transformer = new SubstrateLinkStressTransformer(
			this, sNetwork, null, biggestLinkStress, delta_L);

	double sum = 0.0;
	for (SubstrateNode n : v_a) {
		DistanceEntry distance = getDistance(sNetwork, v, n, transformer);
		if (distance != null) {
			sum += distance.distance;
		}
	}

	double tmp = biggestNodeStress - getStressLevel(sNetwork, v);

	return tmp == 0 ? sum : (sum / tmp);
}
 
开发者ID:KeepTheBeats,项目名称:alevin-svn2,代码行数:19,代码来源:BasicVNAssignmentAlgorithm.java


示例11: mapNetwork

import vnreal.network.substrate.SubstrateNetwork; //导入依赖的package包/类
@Override
public boolean mapNetwork(SubstrateNetwork network, VirtualNetwork vNetwork) {
	List<VirtualNetwork> vns = new LinkedList<VirtualNetwork>();
	vns.add(vNetwork);
	NetworkStack stack = new NetworkStack(network, vns);
	LinkedList<IHiddenHopMapping> hhMappings = new LinkedList<IHiddenHopMapping>();
	double hiddenHopsFactor = 0;
	hhMappings.add(new BandwidthCpuHiddenHopMapping(hiddenHopsFactor));

	AlgorithmParameter param = new AlgorithmParameter();
	param.put("weightCpu", "0");
	param.put("weightBw", "0");
	param.put("randomize", "false");
	param.put("overload", "false");
	param.put("distance", "35");
	param.put("PathSplitting", "true");
	GenericMappingAlgorithm algo = new CoordinatedMapping(param);
	algo.setStack(stack);
	if (algo instanceof GenericMappingAlgorithm)
		((GenericMappingAlgorithm) algo).setHhMappings(hhMappings);

	algo.performEvaluation();
	return VnrUtils.isMapped(vNetwork);

}
 
开发者ID:KeepTheBeats,项目名称:alevin-svn2,代码行数:26,代码来源:CoordinatedMappingPS.java


示例12: findDemandedNode

import vnreal.network.substrate.SubstrateNetwork; //导入依赖的package包/类
/**
 * 
 * @param IDdem
 * @param tmp
 * @return the substrate node with the IDresource demanded by the virtual
 *         node tmp
 */
private SubstrateNode findDemandedNode(SubstrateNetwork sNet, AbstractDemand IDdem) {
	SubstrateNode sNode = new SubstrateNode();
	String resID = Integer.toString(0);
	String demID = Integer.toString(0);
	for (SubstrateNode n : sNet.getVertices()) {
		for (AbstractResource res : n) {
			if (res instanceof IdResource) {
				resID = ((IdResource) res).getId();
				demID = ((IdDemand) IDdem).getDemandedId();
				if (resID.equals(demID))
					sNode = n;
			}
		}
	}
	return sNode;
}
 
开发者ID:KeepTheBeats,项目名称:alevin-svn2,代码行数:24,代码来源:AbstractNodeMapping.java


示例13: createCandidateSet

import vnreal.network.substrate.SubstrateNetwork; //导入依赖的package包/类
/**
 * 
 * @param vNet
 * @return The set of substrate candidates for each virtual node of vNet
 */
private Map<VirtualNode, List<SubstrateNode>> createCandidateSet(
		SubstrateNetwork sNet, VirtualNetwork vNet) {
	Map<VirtualNode, List<SubstrateNode>> candidateSet = new LinkedHashMap<VirtualNode, List<SubstrateNode>>();
	List<SubstrateNode> substrateSet;
	for (Iterator<VirtualNode> itt = vNet.getVertices().iterator(); itt
			.hasNext();) {
		substrateSet = new LinkedList<SubstrateNode>();
		VirtualNode currVnode = itt.next();
		if (nodeMapping.containsKey(currVnode)) {
			substrateSet.add(nodeMapping.get(currVnode));
		} else {
			substrateSet.addAll(findFulfillingNodes(sNet, currVnode));
		}
		candidateSet.put(currVnode, substrateSet);
	}
	return candidateSet;
}
 
开发者ID:KeepTheBeats,项目名称:alevin-svn2,代码行数:23,代码来源:CompleteNodeLinkMappingHiddenHop.java


示例14: generate

import vnreal.network.substrate.SubstrateNetwork; //导入依赖的package包/类
@Override
public List<BandwidthResource> generate(ArrayList<Object> parameters) {
	ArrayList<BandwidthResource> resList = new ArrayList<BandwidthResource>();
	
	Random random = new Random();
	
	NetworkStack ns = (NetworkStack)parameters.get(0);
	Integer minBW = ConversionHelper.paramObjectToInteger(parameters.get(1));
	Integer maxBW = ConversionHelper.paramObjectToInteger(parameters.get(2));
	
	SubstrateNetwork sNet = ns.getSubstrate();
	
	for (SubstrateLink l : sNet.getEdges()) {
		BandwidthResource bw = new BandwidthResource(l);
		int value = (int) (minBW + (maxBW
				- minBW + 1)
				* random.nextDouble());
		bw.setBandwidth((double) value);
		l.add(bw);
		resList.add(bw);
	}
	
	return resList;
}
 
开发者ID:KeepTheBeats,项目名称:alevin-svn2,代码行数:25,代码来源:RandomBandwidthResourceGenerator.java


示例15: buildSubstrateNet

import vnreal.network.substrate.SubstrateNetwork; //导入依赖的package包/类
private static SubstrateNetwork buildSubstrateNet(List<Node> nodes) {
	SubstrateNetwork network = new SubstrateNetwork(false);
	Map<Node, SubstrateNode> nodeToSnode = new HashMap<Node, SubstrateNode>();

	for (Node node : nodes) {
		SubstrateNode sNode = new SubstrateNode();
		sNode.setCoordinateX(ShiipImporter.rng.nextDouble() * SCALE);
		sNode.setCoordinateY(ShiipImporter.rng.nextDouble() * SCALE);
		nodeToSnode.put(node, sNode);
		network.addVertex(sNode);
	}

	for (Node origin : nodes) {
		SubstrateNode sOrigin = nodeToSnode.get(origin);
		for (Node dest : origin.outgoing) {
			SubstrateNode sDest = nodeToSnode.get(dest);
			SubstrateLink sLink = new SubstrateLink();
			network.addEdge(sLink, sOrigin, sDest);
		}
	}

	return network;
}
 
开发者ID:KeepTheBeats,项目名称:alevin-svn2,代码行数:24,代码来源:ShiipImporter.java


示例16: calculate

import vnreal.network.substrate.SubstrateNetwork; //导入依赖的package包/类
public double calculate(NetworkStack stack) {
	int result = 0;
	SubstrateNetwork sNetwork = stack.getSubstrate();
	for (SubstrateNode sn : sNetwork.getVertices()) {
		PowerResource res = Utils.getEnergyResource(sn);
		if (res.getClass().getSimpleName()
				.equals(PowerResource.class.getSimpleName())) {
			if (!warning) {
				System.out
						.println("ATTENTION: subclass of PowerResource expected!");
				warning = true;
			}
		} else {
			if (res.isUsed()) {
				result += res.getCurrentConsumption();
			}
		}
	}

	return result;
}
 
开发者ID:KeepTheBeats,项目名称:alevin-svn2,代码行数:22,代码来源:PowerConsumption.java


示例17: generateSubstrateNetwork

import vnreal.network.substrate.SubstrateNetwork; //导入依赖的package包/类
@Override
public SubstrateNetwork generateSubstrateNetwork(
		final boolean autoUnregisterConstraints) {
	return new Generator<SubstrateNetwork, SubstrateNode, SubstrateLink>() {

		@Override
		protected SubstrateNetwork createNetwork() {
			return new SubstrateNetwork(autoUnregisterConstraints);
		}

		@Override
		protected SubstrateNode createNode() {
			return new SubstrateNode();
		}

		@Override
		protected SubstrateLink createLink() {
			return new SubstrateLink();
		}
	}.generateGraph(this.numNodes);
}
 
开发者ID:KeepTheBeats,项目名称:alevin-svn2,代码行数:22,代码来源:StarGenerator.java


示例18: findShortestPath

import vnreal.network.substrate.SubstrateNetwork; //导入依赖的package包/类
LinkedList<SubstrateLink> findShortestPath(SubstrateNetwork sNetwork,
		SubstrateNode n1, SubstrateNode n2,
		Collection<AbstractDemand> vldemands, int epsilon) {

	if (n1.getId() == n2.getId()) {
		return new LinkedList<SubstrateLink>();
	}

	MyDijkstraShortestPath<SubstrateNode, SubstrateLink> dijkstra = new MyDijkstraShortestPath<SubstrateNode, SubstrateLink>(
			sNetwork, new SubstrateLinkDemandTransformer(vldemands), true);

	LinkedList<SubstrateLink> path = dijkstra.getPath(n1, n2, epsilon);
	assert (path == null || Utils.fulfills(path, vldemands));

	return path;
}
 
开发者ID:KeepTheBeats,项目名称:alevin-svn2,代码行数:17,代码来源:SubgraphIsomorphismAlgorithm.java


示例19: calculate

import vnreal.network.substrate.SubstrateNetwork; //导入依赖的package包/类
public double calculate(NetworkStack stack) {
	SubstrateNetwork sNetwork = stack.getSubstrate();

	int visitedNodes = 0;
	double maxOccuredSecuritySpread = 0;

	// Visit all Substrate-Nodes
       	for (SubstrateNode sn : sNetwork.getVertices()) {
       	    double returnedValue = VnrUtils.getSecuritySpreadDemProv(sn);
       	    
       	    if (returnedValue != -1) {
       		++visitedNodes;
       		maxOccuredSecuritySpread += returnedValue;
       	    }
       	}

	return (maxOccuredSecuritySpread / visitedNodes);
}
 
开发者ID:KeepTheBeats,项目名称:alevin-svn2,代码行数:19,代码来源:AvSecSpreadDemProv.java


示例20: generate

import vnreal.network.substrate.SubstrateNetwork; //导入依赖的package包/类
@Override
public List<CpuResource> generate(ArrayList<Object> parameters) {
	ArrayList<CpuResource> resList = new ArrayList<CpuResource>();
	
	NetworkStack ns = (NetworkStack)parameters.get(0);
	Integer minCPU = ConversionHelper.paramObjectToInteger(parameters.get(1));
	Integer maxCPU = ConversionHelper.paramObjectToInteger(parameters.get(2));
	Long seed = ConversionHelper.paramObjectToLong(parameters.get(3));
	
	Random random = new Random();
	random.setSeed(seed);
	
	
	SubstrateNetwork sn = ns.getSubstrate();
	
	for(SubstrateNode n : sn.getVertices()) {
		CpuResource cpu = new CpuResource(n);
                       int value = (int) (minCPU + random.nextInt(maxCPU - minCPU + 1));
		cpu.setCycles((double) value);
		n.add(cpu);
		resList.add(cpu);
	}
	
	return resList;
}
 
开发者ID:KeepTheBeats,项目名称:alevin-svn2,代码行数:26,代码来源:FixedCpuResourceGenerator.java



注:本文中的vnreal.network.substrate.SubstrateNetwork类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java DefaultLogger类代码示例发布时间:2022-05-16
下一篇:
Java WxMpKfSessionRequest类代码示例发布时间:2022-05-16
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap