Download Latest Version bioprob-1.0.0.zip (116.7 kB)
Email in envelope

Get an email when there's a new version of HPC Middleware

Home / vl-1.0.0 / 1.0.0
Name Modified Size InfoDownloads / Week
Parent folder
README 2004-07-14 4.3 kB
bioprob-1.0.0.zip 2003-08-09 116.7 kB
vlbinsrc-1.0.0.zip 2003-08-08 423.2 kB
vlsrc-1.0.0.zip 2003-08-08 73.2 kB
lsm.zip 2003-08-07 5.9 kB
UtilServer.zip 2003-08-07 4.6 kB
tm.zip 2003-08-07 1.9 kB
RegServer.zip 2003-08-07 10.9 kB
pse.zip 2003-08-07 10.3 kB
prob.zip 2003-08-07 5.5 kB
Include.zip 2003-08-07 8.2 kB
ddm.zip 2003-08-07 9.3 kB
caps.zip 2003-08-07 16.2 kB
Totals: 13 Items   690.3 kB 0
#VL-1 README v1.0
#Written by: Nabeel Shaheen
#Dated: 14th jul 2004


This document is targetted to explain the installation and functionality of VL-1 as per released on Aug,2003 on http://hpc-middleware.sourceforge.net


Installation
############
- Currently there is no Makefile for vl-1 there you have to compile and build all the directories yourself(FIXME)
- This is the folder hierarchy
vl
vl/bin
vl/bin/RegServer
....../UtilServer
....../lsm
....../ddm
....../pse
....../prob
vl/src/caps
....../RegServer
....../UtilServer
....../lsm
....../ddm
....../pse
....../prob
....../Include
....../tm

- Files that should be modified before compiling
	/vl/src/Include/Globals/constants.inf
		- change VLPATH to source code directory  of vl,  e.g /vl/src (FIXME)

- Command line compiler can be used as follows

 g++ /vl/src/RegServer/RegServerd.cpp -lpthread -o /vl/bin/RegServer/RegServerd
 g++ /vl/src/RegServer/RegClientd.cpp -o /vl/bin/RegServer/RegClientd -lpthread
 g++ /vl/src/UtilServer/UtilServerd.cpp -lpthread -o /vl/bin/UtilServer/UtilServerd
 g++ /vl/src/lsm/LSMServerd.cpp -lpthread -o /vl/bin/lsm/LSMServerd
 g++ /vl/src/ddm/ddm.cpp -o /vl/bin/ddm/DDMServerd -lpthread
 g++ /vl/src/pse/Codedist.cpp -o /vl/bin/pse/CodeDistributor -lpthread
 g++ /vl/src/pse/Stimulus.cpp -o /vl/bin/pse/Stimulusd -ldl -lpthread
 g++ /vl/src/prob/factorial/factMaster.cpp -o /vl/bin/prob/factorial/factMaster -lpthread


- Files that can be modified  after  compiling
	/vl/src/RegServer/conf-nodes/conf
			- change this file to have MASTER's hostname  for  all  master modules currently like c1 is master.
	/vl/src/RegServer/conf-nodes/*
		-  create configuration files with the hostnames of all nodes,  please use n1,n2 as  templates(where n1 is hostname of another pc)



EXECUTION
#########
Any node that is running following modules becomes Master of the VL-1 network(of course, there must be an entry of master in conf file)
- A Master node is the one which has following components running
	- RegServerd
	- UtilServerd
	- DDMServerd

- These modules are compiled from
	- RegServerd.cpp
	- UtilServerd.cpp
	- ddm.cpp

- All slaves should execute following modules to function properly as VL-1 computational node
  - RegClientd
	- LSMServerd
	- Stimulusd
	- DDMServerd


- Howto use VL-1(End user)
	- After you have executed all the above required modules, follow these steps to execute and distribute a program
		1. codeDistributor [source filename] [Problem ID(3digit)] (e.g. ./codeDistributor /vl/src/prob/factorial/fact.cpp 123)
		. if all the servers are working properly this should be able to distribute the files to all registered VL-1 slave nodes
		. after distribution the source will be compiled by LSMServerd at slave(for target-platform compilation) and the shared object will be linked up for use by Stimulusd
		2. After codeDistributor user should execute master modules of the problem to run the problem on the vl-1.
			(e.g. ./vl/bin/prob/factorial/factMaster 123) (Note: argument 123 depends on how enduser has written his problem and what ID has been allocated to this particular problem)
 			This step should give user the desired results from the problem.


- How VL-1 works(Developer)
	- (Note: I can not write up this part of this document at the moment, I might write this later sometime)


FIXME:
#####
- If any of the servers generate segfaults, it is better to restart all the servers, specially if LSMServerd segfaults, because currently we do not remove an entry in UtilServerd if any LSMServerd terminates unexpectedly, thus execution structure will fail.
- Problems can be written using fact.cpp and factMaster.cpp and mySlave.cpp, myMasterc.cpp as samples, there are no as such particular guidelines written to write a problem
- CAPS has not yet been interfaced neither in ddm nor in any of the servers, even though caps is the only module i think that is complete at the moment
- All servers need to have a debug mode and normal so that outputs can be monitored in debug mode and outputs can go in /var/log/messeges in normal mode.
- Scheduler is a bit clumsy as it doesn't count which is the best resource for the current job.
- If a job is sent to a slave and no response is returned to master(due to some problems at slave) then master will keep on waiting to hear from that slave


Source: README, updated 2004-07-14