- separated net topology from the simulation nodes - moved files in a better hierarchy
38 lines
1.4 KiB
Java
38 lines
1.4 KiB
Java
package net.berack.upo.valpre;
|
|
|
|
import net.berack.upo.valpre.rand.Distribution;
|
|
import net.berack.upo.valpre.sim.SimulationMultiple;
|
|
import net.berack.upo.valpre.sim.Net;
|
|
import net.berack.upo.valpre.sim.ServerNode;
|
|
|
|
public class Main {
|
|
public static void main(String[] args) throws Exception {
|
|
// Parameters for the simulation
|
|
var seed = 2007539552;
|
|
var total = 10000;
|
|
var lambda = 1.0 / 4.5;
|
|
var mu = 3.2;
|
|
var sigma = 0.6;
|
|
|
|
// Build the network
|
|
var net = new Net();
|
|
var node1 = ServerNode.createLimitedSource("Source", new Distribution.Exponential(lambda), total);
|
|
var node2 = ServerNode.createQueue("Queue", 1, new Distribution.NormalBoxMuller(mu, sigma));
|
|
net.addNode(node1);
|
|
net.addNode(node2);
|
|
net.addConnection(node1.name, node2.name, 1.0);
|
|
net.normalizeWeights();
|
|
|
|
/// Run multiple simulations
|
|
// var maxDepartures = new EndSimulationCriteria.MaxDepartures("Queue", total);
|
|
// var maxTime = new EndSimulationCriteria.MaxTime(1000.0);
|
|
var nano = System.nanoTime();
|
|
var sim = new SimulationMultiple(net);
|
|
var results = sim.runParallel(seed, 1000);
|
|
nano = System.nanoTime() - nano;
|
|
|
|
System.out.print(results.average.getHeader());
|
|
System.out.print(results.average.getSummaryAsTable());
|
|
System.out.println("Final time " + nano / 1e6 + "ms");
|
|
}
|
|
} |