code
checkout from http://svn.larkc.eu/public/marvin/
- no anonymous access (yet), ask eyal for account
make a subversion branch, see the manual for howto create branches, copy changes between them, and merging back
eculture.cs.vu.nl
- big machine, 32Gb RAM, 8x quad-core
- careful: many people use this, don't abuse it!
- why? with so much RAM,
- you can run MaRVIN in simulation mode using 4-8 nodes in parallel
- you can load and analyse DAS-3 heap dumps (3.5Gb usually)
- how?
ssh -X eculture.cs.vu.nl (X11 forward, see putty docs for Windows)
/data/eclipse/eclipse& starts Eclipse (running remotely on eculture)
/data/visualvm/bin/visualvm& starts VisualVM for memory profiling and heap analysis
getting started
- main packages: eu.larkc.marvin.node, eu.larkc.marvin.reasoner
eu.larkc.marvin.simulation is an abstraction over Ibis nodes (so you can run more nodes on one core), naming is a bit misleading and will change, it is the starting point for execution though, see main() in eu.larkc.marvin.simulation.?SimpleNodeSimulation
- look at the build.xml
- run 'ant simulate': starts an Ibis server and 3 nodes on localhost
- current settings need lots of RAM per node (settings tuned for DAS-3)
- to run on laptop: decrease -Xmx in build.xml, and maybe adjust some values in conf/marvin.properties
to check general setup: run using ?NullReasoner: not very useful, but uses little memory, so you can test with several nodes on one machine
common settings when experimenting on the DAS: MarvinSettings
useful experiments, showing wrongly configured behaviour: MarvinExperiments
visualisation
- during a run, marvin logs statistics to mysql on eculture.cs.vu.nl
you can view these statistics on http://larkc.eu/marvin/visualise
- to disable/enable, set STATISTICS_TO_DB in conf/marvin.properties
- to send statistics, you need to set the MySQL password in conf/marvin.secure.properties (which is not in svn)
configuration
- all settings can be changed in conf/marvin.properties (overriding defaults set in the code)
- see javadoc comments in eu.larkc.marvin.configuration.Config for some explanation of these settings
- to decrease amount of load on each node, eg
- decrease INPUTPOOL_MAX_CHUNKSFROMFS (so they read less)
- decrease MAX_REPOSITORY_SIZE (so they keep less triples in reasoner memory)
- decrease SIZEOFBLOOMFILTER (so they use a smaller bloomfilter)
- etc.
documentation
- javadoc code comments is coming (really)
- some classes/methods already have some documentation
generated javadoc on http://larkc.eu/marvin/javadoc (soon)
see also paper and poster on http://larkc.eu/marvin
communication
email list: marvin-dev@larkc.cs.vu.nl
private archives: http://larkc.cs.vu.nl/mailman/private/marvin-dev/
