You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Nexmark simulates an online auction setting and was originally designed as an benchmark for the Niagara streaming system (see http://datalab.cs.pdx.edu/niagara/NEXMark/).

In this scenario there are three streams Person, Auction and Bid and stored information (Category). At every time, new users can register themself in the system and create new auctions. Each user can also generate bids for auction. The Schema can be found in the picture above.

We adapted this scenario for Odysseus and allow to configure the scenario.

Get and Start Nexmark Generator

Go to http://odysseus.informatik.uni-oldenburg.de/download/nexmark/ and download a version that fits to your operatoring system (e.g. nexmark.win32.win32.x86_64.zip for a 64bit Windows).

Unzip the archive and start the "nexmark.exe" within the nexmark folder. This should look like in the following:

You may see that the benchmark opens 4 servers on ports 65440 - 65443 where you can connect to.Now Odysseus can use the nexmark sources. Each time an Odysseus query connects to one of the servers a new scenario is started, i.e. the same users and the same auctions are generated, so the same queries will always create the same results.

Optional: Configure Nexmark

Nexmark has some standard configuration that will be used in our examples.The configuration can be changed in nexmark.ini.

The following parameters can be adapted:

  • pr: This is the starting port of the first server (Auction). The next servers (PERSON, BID, CATEGORY) will get the next 3 ports.
  • gcf: This parameter references a file that describes the behaviour of the nexmark server, e.g. how long is the delay between different elements in the stream. We deliver two standard configurations that can be found in the plugin de.uniol.inf.is.odysseus.nexmark:
    • /config/NEXMarkGeneratorConfiguration_SLOW.properties: Here elements are delivered with a rather slow rate. This should be used when creating queries.
    • /config/NEXMarkGeneratorConfiguration.properties: Here elements are created with a higher rate. This can be used to test, if the application scales.
Nexmark Configuration File

In the following code block is an example of a nexmark configuration (/config/NEXMarkGeneratorConfiguration_SLOW.properties). All time elements are in milliseconds.

The following elements can be used:

minDistBetweenPersons
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>

<!-- Konfiguration des NEXMarkGenerators -->
<!-- Zeitangaben in MS -->

<entry key="minDistBetweenPersons">5000</entry>
<entry key="maxDistBetweenPersons">5000</entry>

<entry key="minDistBetweenAuctions">2000</entry>
<entry key="maxDistBetweenAuctions">2000</entry>

<entry key="minDistBetweenBids">500</entry>
<entry key="maxDistBetweenBids">500</entry>

<!-- Faktor um den die Zeit beschleunigt werden soll. -->
<entry key="accelerationFactor">1</entry>

<!-- wie lange Auktionen offen bleiben sollen -->
<entry key="minAuctionDuration">600000</entry>
<entry key="maxAuctionDuration">600000</entry>


<!-- Zeit zwischen zwei Bursts (MIN und MAX) in ms -->
<!-- Ein Wert von 0 bei beiden simuliert ohne Bursts. -->
<!-- Diese Zeit wird nicht vom "accelerationFactor" beeinflusst -->
<entry key="minTimeBetweenBursts">0</entry>
<entry key="maxTimeBetweenBursts">0</entry>

<!-- Dauer eines Bursts --> 
<!-- Ein Wert von 0 bei beiden simuliert ohne Bursts. -->
<!-- Diese Zeit wird nicht vom "accelerationFactor" beeinflusst -->
<entry key="minBurstDuration">0</entry>
<entry key="maxBurstDuration">0</entry>

<!-- Beschleunigungsfaktor waehrend eines Bursts -->
<entry key="burstAccelerationFactor">0</entry>

</properties>

 

 

 

  • No labels