Deployment configurations - Pyosch/powertac-server GitHub Wiki

up
To fulfill its research mission, the Power TAC server needs to be deployable in two different configurations: a Research configuration and a Tournament configuration.

Research deployment

The goal of the Research configuration is to support development of agents and server models (customers, markets, etc.) and to support empirical research. In this configuration, the server must be easily deployable on a desktop workstation, without requiring special privileges, and with minimal dependencies on other installed software, such as a database. In addition, this configuration must meet the following requirements:

  • Single-simulation setup from command-line or a simple web interface.
  • Optionally allow agent login without credentials.
  • Visualizer support for at least one browser.

The figure below shows the components of this configuration. The Simulation server is identical to the tournament version, and the visualizer contains a simple UI for starting and monitoring games. Through the web interface, a user can configure and start a game, and use the visualizer to watch the game. Weather and price data may be contained in flat files, or a research server could potentially access the weather and price services from a tournament installation. The game data is continuously dumped to a flat file as the simulation runs. Brokers log into the simulation server directly, without authentication.

research configuration

Tournament deployment

The tournament configuration is intended to support multi-round tournaments, with large numbers of visualizers. The administration portion of the web application supports tournament scheduling and access to records of past games. The web-app also serves as a proxy to allow visualizers access to running games on potentially several simulation servers.

tournament configuration

A single web app called the [Tournament Manager](Tournament Scheduler) can control multiple servers on multiple hosts, by storing game configuration in a shared database and then starting a server on a remote host, or notifying a running server of a game configuration that is ready to run. Weather and market price data will be served by remote services, hosted on their own databases. The shared database will hold summary information for completed games, including access information for retrieving game logs.

Brokers register with the web app, and join a game by requesting credentials and a URL for an active simulation. With this information, it then logs into the simulation server and runs its game interactions.

Experiment support

Empirical research using the Power TAC system often involves running at least hundreds of games with multiple brokers and control of random-number seeds. A typical study will choose one factor to vary across sets of games; once the sets have finished, logfiles are analyzed to determine the impact of the tested variation. In the Power TAC environment, there are four kinds of factors that might be varied in an empirical study:

  1. The number of competing brokers, to study the impact of competition on brokers and customers.
  2. Broker population, to study the impact of including or excluding a single broker.
  3. Broker configuration, to study the impact of modifying one of the brokers in a population.
  4. Server configuration, to study the impact of policies, such as market rules, or of customer populations or behaviors.

In each type of study, the researcher must be able to specify

  • the type of study;
  • the game sizes (numbers of brokers to be used/game), which might vary for a type-1 study;
  • the brokers to be used, which might vary for a type-2 study;
  • the broker for which configuration is to be varied, and the variations, for a type-3 study;
  • the server configuration, which might vary for a type-4 study;
  • the number of games to run in each set, or the number of combination-sets to run if the game sizes are varied or if the game size is less than the number of brokers;
  • the set of random-number seeds to be used for each game.

The setup is similar to the tournament setup, except that all the brokers are run locally, under control of the jenkins installation, and visualizers are not necessarily started for each game, or may not be needed at all. Game logs need not be archived for public access, but must be readily accessible by the researcher in a way that reflects the structure of the study -- in other words, if three different configurations of a single broker are being compared (a type-3 study), it should be clear which logs correspond to each of the configurations.

experiment configuration

⚠️ **GitHub.com Fallback** ⚠️