160 likes | 250 Views
REMOTE++: A Script for Automatic Remote Distribution of Programs on Windows Computers. Ashley Hopkins Department of Computer Science and Engineering University of South Florida Tampa, Florida 33620 amhopki2 @ csee.usf.edu. This material is based upon work funded by the
E N D
REMOTE++: A Script for Automatic Remote Distribution of Programs on Windows Computers Ashley Hopkins Department of Computer Science and Engineering University of South Florida Tampa, Florida 33620 amhopki2@csee.usf.edu This material is based upon work funded by the National Science Foundation under grant no. 9875177 AMH001 (acmse03.ppt - 03/7/03)
Topics • Introduction – remote distribution • Description of remote distribution methods • Design of REMOTE++ • Evaluation of REMOTE++ • Summary and future work AMH002
Introduction • Simulation programs require significant time to execute • Many require multiple runs to complete a single experiment • Time parallelization of programs reduces overall execution time • No reduction in single instance • Enables independent parallel execution • Enables evaluation of different input parameters • Remote distribution of programs • Enables execution of independent programs in parallel • All results available at the local machine AMH003
Introduction continued • Remote distribution from one master to many remotes Remote Remote Remote Network Master Remote Remote AMH004
Remote Distribution Methods • Methods for remote distribution of executable programs • Batch systems • Remote shell (rsh) and remote execute (rexec) commands • Grid Computing [1] [4] • Unix based remote distribution tools [3] [6] • Drawbacks of current distribution tools • Primarily designed for Unix platforms • Many require extensive initialization and maintenance AMH005
Remote Distribution Methods continued • The challenge is… • Develop a Windows based Remote Distribution tool • that is easy to use, maintain, and modify. • Must be able to reduce overall execution time • Overhead in distribution of processes must be overcome • Must be able to execute many different programs • No modification to the programs • Various input and output methods allowed AMH006
Description of REMOTE++ • REMOTE++ is built upon REMOTE [2] • Sockets interface replaced by rcp/rsh commands • Programs read/write to standard input/ouput • REMOTE++ also has drawbacks • Each remote host required to have an rsh/rcp daemon • Security concerns with remote shell commands AMH007
Description of REMOTE++ continued • Set-up of REMOTE++ • 1) Each client must have a remote shell/remote copy daemon. • 2) REMOTE++ must be loaded on the master machine. • 3) A joblist.txt file must contain a list of jobs to be • executed. • 4) A hostlist.txt file must contain a list ofthe hostnames • of all remote machines. • 5) A status.txt file must be created as a log file containing • the success or failure of each job and each remote host. AMH008
Description of REMOTE++ continued • Operation of REMOTE++ • 1) The existence of each job in joblist.txt is validated. • 2) Threads are used to assign a job to each host in the host list. • 3) The executable is remote copied (rcp) to the remote host. • >> rcp failure makes host unavailable and job is reassigned • 4) The job is executed using a remote shell (rsh) command. • 5) When the job finishes the host is assigned another job • until all jobs in joblist.txt are complete. AMH009
Evaluation of REMOTE++ • Evaluated REMOTE++ with an M/M/1 queue simulation • Find relationship between simulation time and queue utilization • - Simulation must be executed multiple times Exponential interarrival Exponential service First Come First Served Infinite queue capacity Infinite customer population Queue Server Arrivals Departures AMH010
Evaluation of REMOTE++ • Evaluate the reduction in execution time when executing simulation • with REMOTE++ on five machines • M/M/1 queue simulation was evaluated for... • Utilization from 1% and to 99.5% • statistical mean of 10 executions of each interval AMH011
Evaluation of REMOTE++ continued • As the target utilization approaches 100% the simulation time • of the M/M/1 queue increasingly grows longer. AMH012
Evaluation of REMOTE++ continued • The M/M/1 queue execution... • Projected a five time speed up on five machines • Achieved about two and a half time speed-up on five machines • seven seconds of overhead per job • many jobs executed in several seconds AMH013
Summary and future work • Remote Distribution can be used to reduce execution time. • Existing systems are Unix-based and complex • Need a simple Windows based tool • REMOTE++ improves upon REMOTE • Complex sockets interface replaced by simple rsh/rcp script • Enables wider variety of programs to be executed AMH014
Summary and future work • Debugging a free daemon to use with REMOTE++ • Improve security features of REMOTE++. • Reduce overhead in distribution to further reduce execution time AMH015
Questions? Ashley Hopkins Department of Computer Science and Engineering University of South Florida Tampa, Florida 33620 amhopki2@csee.usf.edu • REMOTE++ soon available at: • http://www.csee.usf.edu/~amhopki2/ • http://www.csee.usf.edu/~christen/tools/toolpage.html AMH016