Pike requirements:
- ruby >= 1.9
Ruby gems requests:
- pathname
- fileutils
- parseconfig
- securerandom
- net/http
- thread
- open-uri
Pike structure:
pike4cotson-code/
|
|-bin/
|
|-lib/pike/
|
|-tools/
|
\_pike.conf
bin => pike binary , like env_* and bsd_creator
lib/pike => pike library, used by binary
tools => supports like conf example, skel creator script, and bash script binary
pike.conf => pike configuration base file
Skel of cotson's working directory:
cotson_env/
|
|-bin/
|
|-config/
|
|-image/
|
|-log/
|
|-src/
|
\_pike.conf
bin => binary executed into simnow node
config => custom rom and other files
image => iso image of OS for simnow
log => log files
src => src of simnow and others
pike.conf => configuration file modified for the simulation
You can create this skeleton using tools/create_skel.sh
Usage:
ruby -W2 -I pike4cotson-code/lib pike4cotson-code/bin/env_installer
ruby -W2 -I pike4cotson-code/lib pike4cotson-code/bin/bsd_creator
ruby -W2 -I pike4cotson-code/lib pike4cotson-code/bin/env_simulation
Warning options:
-W2 => warning on
-W0 => warning off
-d => debug mode
Examples:
Example config (pike_example.conf) is present in tools/ folder.
Use it if you want to try a dummy simulation.
CHANGELOG:
- Added MPI support for multiple node
- Added single and multiple node support
- Added multiple simulation support through thread pool
- Added auxiliary file support: you can put custom file (like input set) on guest
- Multibinary mode: in a single conf you can set multiple binary simulations
- Custom image support (through image/ directory)
- Custom *-reset.bsd support (through config/ directory)
- Custom bios rom support (through config/ directory)
- Maximize CPU usage during simulation
- Custom cache configuration support
- Custom timer model support
- Added external package installation in runtime (using mediator NAT)
- Use new or existing cotson folder
- Use custom simnow url for fetch
- Use src/ directory (it avoid Internet request for simnow)
- Added mpi check compatibility with used iso
IMPORTANT: pike for teraflux needs custom files and images not preset in git!
# TODO: Fetch output simulation in a controlled way
# TODO: env_cleaner <run_id>
# TODO: heterogeneous nodes
# Need fix: ruby -W2 -I lib bin/env_cleaner
# Need fix: ruby -W2 -I lib bin/cotson_restore