[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] storm/doc/pegboard/storm_with_tapestry--hemppah...
From: |
Hermanni Hyytiälä |
Subject: |
[Gzz-commits] storm/doc/pegboard/storm_with_tapestry--hemppah... |
Date: |
Mon, 21 Jul 2003 07:59:58 -0400 |
CVSROOT: /cvsroot/storm
Module name: storm
Branch:
Changes by: Hermanni Hyytiälä <address@hidden> 03/07/21 07:59:58
Modified files:
doc/pegboard/storm_with_tapestry--hemppah: peg.rst
Log message:
something about config files + twids
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/storm/storm/doc/pegboard/storm_with_tapestry--hemppah/peg.rst.diff?tr1=1.25&tr2=1.26&r1=text&r2=text
Patches:
Index: storm/doc/pegboard/storm_with_tapestry--hemppah/peg.rst
diff -u storm/doc/pegboard/storm_with_tapestry--hemppah/peg.rst:1.25
storm/doc/pegboard/storm_with_tapestry--hemppah/peg.rst:1.26
--- storm/doc/pegboard/storm_with_tapestry--hemppah/peg.rst:1.25 Fri Jul
18 03:50:05 2003
+++ storm/doc/pegboard/storm_with_tapestry--hemppah/peg.rst Mon Jul 21
07:59:58 2003
@@ -5,8 +5,8 @@
:Authors: Hermanni Hyytiälä
:Date-Created: 2003-07-03
-:Last-Modified: $Date: 2003/07/18 07:50:05 $
-:Revision: $Revision: 1.25 $
+:Last-Modified: $Date: 2003/07/21 11:59:58 $
+:Revision: $Revision: 1.26 $
:Status: Incomplete
.. :Stakeholders:
@@ -101,6 +101,7 @@
has approximately 57000 lines of code and shares some code with Oceanstore's
code base.
+
Overview of SEDA
================
@@ -118,6 +119,7 @@
phase, a stage specifies which event and messages it wants to "listen" to. For
Storm, the Tapestry application stage is the most important.
+SEDA version 2.0 is included within the Tapestry 2.0 release.
Overview of Tapestry API
========================
@@ -249,7 +251,7 @@
block being sent to a original requester
-Please notice that the above classes provide only basic functionality in a
+Please notice that the above message classes provide only basic functionality
in a
Tapestry overlay, i.e., a Storm peer is able to perform lookups based
on Storm Block ID, get lookup results (optional), get error messages
(optional) and get a a requested Storm block. If needed, other messages
@@ -459,7 +461,213 @@
// this method.
}
}
+
+
+Appendix A
+==========
+
+Sandstorm configuration files for Storm
+--------------------------------------
+
+According to the `Tapestry programmer's guide`_, we have to have
+three different config files for a Storm peer:
+
+1. A config file for a federation Storm peer:
+
+The federation peer is responsible for synchonizing and stabilizing the
+initial Tapestry network.
+
+2. A config file for a static Storm peer(s)
+
+Number of static peers are required for bootstrapping a Tapestry network. A
static
+peer uses the TClient stage for routing table operations.
+
+3. A config file for a dynamic Storm peer
+
+This is a 'normal' Storm peer. These kind of peers can join and leave a network
+dynamically. A dynamic peer uses DTClient stage for routing table operations.
+
+Once the initial static network is stabilized, dynamic peers can join the
network.
+
+For more information how a Tapestry network is bootstrapped and stabilized,
please
+see the `Tapestry programmer's guide`_. Here's an example config file for a
+dynamic Storm peer as the config file includes the DTClient stage:
+
+- - -
+
+# Example Sandstorm configuration file for Storm/Tapestry.
+#
+# !!! Please notice that the documentation of this file is based
+# on a config file distributed within the Tapestry/SEDA 2.0 release. Some
+# parts of this config file are edited to provide better idea which parts
+# 'Storm specific', mandatory/optional &c !!!
+#
+# The '#' starts a comment which extends to the end of the line
+# This file uses an XML-like format consisting of nested sections.
+#
+# Most of the sections of this file are optional. The complete set of
+# options is given here just to document their use, and leaving options
+# unspecified causes them to use their default values. In general it is
+# a good idea to just use the defaults.
+
+# The outermost section in the file must be called 'sandstorm'.
+<sandstorm>
+
+ # Global options
+ <global>
+
+ # The default thread manager for stages.
+ # Allowable values are 'TPSTM' (thread-per-stage) and 'TPPTM'
+ # (thread-per-CPU).
+ defaultThreadManager TPSTM
+
+ # Options for TPSTM thread manager
+ <TPSTM>
+ # Enable the thread governor. This resizes the thread pool for each
+ # stage when the stage's incoming event queue reaches its threshold.
+ governor false
+ # The sampling delay (in milliseconds) for the thread governor.
+ governorDelay 2000
+ # The maximum number of threads allocated to each thread pool
+ governorMaxThreads 10
+ </TPSTM>
+
+ # Options for TPPTM thread manager
+ <TPPTM>
+ # The number of CPUs in the system. Eventually this will be
+ # determined automatically.
+ numCpus 1
+ # The maximum number of threads to allocate.
+ # In general this value should be equal to numCpus.
+ maxThreads 1
+ </TPPTM>
+
+ # The Sandstorm profiler is extremely valuable for understanding the
+ # performance of applications, and for identifiying bottlenecks
+ <profile>
+ # specify whether the Sandstorm system profiler should be enabled.
+ enable false
+
+ # specify the samplying delay(in milliseconds) for the profiler.
+ # Default is 1000 ms.
+ delay 1000
+
+ # specify the filename that the profile will be written to.
+ # default is ./sandstorm-profile.txt
+ filename /tmp/sandstorm-profile.txt
+
+ # specify the graphfilename that the graph profile will be written to.
+ # default is ./sandstorm-graph.txt
+ graphfilename /tmp/sandstorm-graph.txt
+
+ # specify whether the profile should generate a graph of stage
+ # connectivity during runtime. Default is false.
+ graph false
+
+ # specify whether the outgoing queue length for sockets should be
+ # included in the profile. Default value is false.
+ sockets false
+ </profile>
+
+ <initargs>
+ # Global parameters are defined here, for instance, we could define
+ # my_node_id ip-address:port
+ </initargs>
+
+ </global>
+
+# Each stage is defined by a <stage> section
+
+ <stages>
+
+ # The name of the stage as registered with the system. Mandatory.
+ <Network>
+
+ # The fully-qualified classname of the stage's event handler. Mandatory.
+ class ostore.network.Network
+
+ # The size of the event queue threshold for this stage. Optional.
+ # The default is -1, which indicates an infinite threshold.
+ queueThreshold 1000
+
+ # Initial arguments to pass to the event handler's init() method
+ <initargs>
+ # Some parameters for this stage
+ </initargs>
+
+ </Network>
+
+ <Router>
+ class ostore.tapestry.impl.Router
+ queueThreshold 1000
+ <initargs>
+ # Some parameters for this stage
+ dynamic_route dynamic
+ </initargs>
+ </Router>
+
+ # The name of the stage as registered with the system. Mandatory.
+ <DTClient>
+ # The fully-qualified classname of the stage's event handler. Mandatory.
+ class ostore.tapestry.impl.DynamicTClient
+
+ # The size of the event queue threshold for this stage. Optional.
+ # The default is -1, which indicates an infinite threshold.
+ queueThreshold 1000
+ # Initial arguments to pass to the event handler's init() method
+ <initargs>
+ # An IP address of a gateway peer which bootsraps us into a Tapestry
network
+ # This is a mandatory for a dynamic Storm peer
+ gateway ${GatewayID}
+ # This parameter tells Tapestry to threat local routing tables dynamically
+ dynamic_route dynamic
+ </initargs>
+ </DTClient>
+
+ # This stage is not mandatory
+ # Patchwork stage can be used to monitor neighbor links' conditions &c
+ <Patchwork>
+ class ostore.network.patchwork.Patchwork
+ <initargs>
+ # list here some arguments which we want to define
+ </initargs>
+ </Patchwork>
+
+ # The name of the stage as registered with the system. Mandatory.
+ <StormTapestry>
+ class org.nongnu.storm.p2p.tapestry.StormTapestryManager
+ queueThreshold 1000
+
+ # Initial arguments to pass to the event handler's init() method
+ <initargs>
+ # list here some arguments which we want to define
+ </initargs>
+
+ </StormTapestry>
+ </stages>
+
+</sandstorm> # End of the configuration file
+
+- - -
+
+Also, any parameter's value can be set using a command line arguments. For
+more information about Sandstorm's config files, please refer to the
documentation
+distributed with the SEDA/Sandstorm release (included with the Tapestry 2.0
release).
+
+Running Storm with Tapestry
+---------------------------
+
+To run Tapestry with Storm, we must use the following syntax:
+
+ sandstorm <storm-configfile-name>
+
+where `sandstorm` is a script distributed within the Sandstorm package and
+`<storm-configfile-name>` is the Sandstorm configuration file for Storm.
+
+Also, we can use Perl scripts to handle more complex usage scenarios. In the
+Tapestry 2.0 release, Perl scripts are used to create `dynamic' configuration
+scripts for regression tests.
Changes
=======
- [Gzz-commits] storm/doc/pegboard/storm_with_tapestry--hemppah..., (continued)
- [Gzz-commits] storm/doc/pegboard/storm_with_tapestry--hemppah..., Hermanni Hyytiälä, 2003/07/08
- [Gzz-commits] storm/doc/pegboard/storm_with_tapestry--hemppah..., Hermanni Hyytiälä, 2003/07/08
- [Gzz-commits] storm/doc/pegboard/storm_with_tapestry--hemppah..., Hermanni Hyytiälä, 2003/07/08
- [Gzz-commits] storm/doc/pegboard/storm_with_tapestry--hemppah..., Hermanni Hyytiälä, 2003/07/08
- [Gzz-commits] storm/doc/pegboard/storm_with_tapestry--hemppah..., Hermanni Hyytiälä, 2003/07/08
- [Gzz-commits] storm/doc/pegboard/storm_with_tapestry--hemppah..., Hermanni Hyytiälä, 2003/07/09
- [Gzz-commits] storm/doc/pegboard/storm_with_tapestry--hemppah..., Hermanni Hyytiälä, 2003/07/10
- [Gzz-commits] storm/doc/pegboard/storm_with_tapestry--hemppah..., Hermanni Hyytiälä, 2003/07/10
- [Gzz-commits] storm/doc/pegboard/storm_with_tapestry--hemppah..., Hermanni Hyytiälä, 2003/07/14
- [Gzz-commits] storm/doc/pegboard/storm_with_tapestry--hemppah..., Hermanni Hyytiälä, 2003/07/18
- [Gzz-commits] storm/doc/pegboard/storm_with_tapestry--hemppah...,
Hermanni Hyytiälä <=
- [Gzz-commits] storm/doc/pegboard/storm_with_tapestry--hemppah..., Hermanni Hyytiälä, 2003/07/22
- [Gzz-commits] storm/doc/pegboard/storm_with_tapestry--hemppah..., Hermanni Hyytiälä, 2003/07/22
- [Gzz-commits] storm/doc/pegboard/storm_with_tapestry--hemppah..., Hermanni Hyytiälä, 2003/07/28