Differences between revisions 4 and 5

Deletions are marked like this. Additions are marked like this.
Line 23: Line 23:
  * update: The update site. Update site is http://acme.able.cs.cmu.edu/rainbow; on baobab at /home/apache/sites/rainbow. To build update, do the usual stuff in site.xml, and then check it in. IN /home/apache/sites/rainbow/update do (((svn update))) to update the update site.   * update: The update site. Update site is http://acme.able.cs.cmu.edu/rainbow; on baobab at /home/apache/sites/rainbow. To build update, do the usual stuff in site.xml, and then check it in. IN /home/apache/sites/rainbow/update do {{{
svn update}}} to update the update site.
Line 39: Line 40:
    * Configuring mysql
      * mysqladmin -u root -p create wiki_wwwp
      * mysql -u root -p wiki_wwwp < wiki_wwwp-dump.sql
      * Give user "wikiuser" access to the database, command and expected output shown below: {{{
mysql> create user wikiuser@localhost identified by '';
Query OK, 0 rows affected (0.00 sec)
mysql> grant select on wiki_wwwp.* to wikiuser@localhost;
Query OK, 0 rows affected (0.00 sec)}}}

Setting up Eclipse

  • Start eclipse in a new workspace
  • Check out the following projects from svn://acme.able.cs.cmu.edu/rainbow in framework/trunk
    • core/*
    • deployment/*
    • eclipse/*
    • system/*
    • test/*
  • Should compile automatically. Unknown extension point error in org.sa.rainbow.core/plugin.xml can be ignored

Packages

  • common: The Interfaces defining the APIs, and some abstract implementations, and utility classes.
  • communication: Defines the communication layer between the target system and Rainbow, i.e., essentially the translation layer. Think Gauge and Probe bus APIs + effectors. Queue and RMI are implemented, JMS has some permissions related issues, and so is not really implemented. Queue is used for single machine instantiation, RMI is used for multi-machine.
  • core: implementation of Rainbow architecture layer; model manager, evaluator, am, and strategy executor. Also contains target system API to interact with target.
    • src-sim provides simulation environment for target system (so you don't need to run the real znn, for example).
    • stitch defines the library of operators accessible from stitch script. Confounds architecture operator and effector. Any operator or query that gets used by stitch is defined in here.
  • lang: Stitch grammar, parser, evaluator code. Uses ANTLR, Stitch[L|P|T] (Lexer, Parser, Tree). Build by ant buildGrammar.xml
  • stitch.editor: Eclipse editor for stitch, mostly written by Ali
  • translator: Implementation for probes, gauges, effectors. Also, RainbowDelegate, which allows Rainbow to run distributed (each sub-machine has a RainbowDelegate running on it).

  • feature: the rainbow feature
  • update: The update site. Update site is http://acme.able.cs.cmu.edu/rainbow; on baobab at /home/apache/sites/rainbow. To build update, do the usual stuff in site.xml, and then check it in. IN /home/apache/sites/rainbow/update do

    svn update
    to update the update site.
  • translator.contrib: engagement-specific probes, gauges, and effectors (currently for talkshoe and znews)
  • config: All example engagements (talkshoe, znn, etc).
  • deploy: Has all required jar files for rainbow; eclipse launch configuration files; deploy for preparing deployment packages for various parts of rainbow om multiple machines for engagements.
  • test: Unit test files, and a playground
  • sdk.template: The set-up for Rainbow SDK, which is a way to package this stuff to give to researchers to use.

Executing znn.com example, Simulation

  • config/znews0
  • From eclipse, run configuration oracle-znews0. This will terminate at 100s. The default (as defined in rainbow.properties of znews0) is oscillation, which reduces the fidelity, gets good service but under-utilized, then raises fidelity, gets bad service, reduce fidelity, etc.

Executing znn.com example, Single machine

  • in deploy, run deploy.xml, refresh and look in build. Copy app.rainbow.master.zip somewhere.
  • in cygwin, cd somewhere and unzip app.rainbow...
  • Install software needed by Znn.com, following instructions on the Znn.com benchmark site

    • Configuring mysql
      • mysqladmin -u root -p create wiki_wwwp
      • mysql -u root -p wiki_wwwp < wiki_wwwp-dump.sql

      • Give user "wikiuser" access to the database, command and expected output shown below:

        mysql> create user wikiuser@localhost identified by '';
        Query OK, 0 rows affected (0.00 sec)
        mysql> grant select on wiki_wwwp.* to wikiuser@localhost;
        Query OK, 0 rows affected (0.00 sec)

Rainbow: RainbowInstall (last edited 2009-06-04 17:39:58 by ShangWenCheng)