AMH001 (acmse03.ppt - 03/7/03) 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 This material is based upon work funded by the National Science Foundation under grant no
Introduction – remote distribution Description of remote distribution methods Design of REMOTE++ Evaluation of REMOTE++ Summary and future work AMH002 Topics
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
Remote distribution from one master to many remotes AMH004 Introduction continued Network Master Remote
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
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 Remote Distribution Methods continued
AMH007 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
AMH008 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.
AMH009 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.
AMH010 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 Server Arrivals Queue Departures Exponential interarrival Exponential service First Come First Served Infinite queue capacity Infinite customer population
AMH011 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
AMH012 Evaluation of REMOTE++ continued As the target utilization approaches 100% the simulation time of the M/M/1 queue increasingly grows longer.
AMH013 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
AMH014 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
AMH015 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
AMH016 Questions? Ashley Hopkins Department of Computer Science and Engineering University of South Florida Tampa, Florida REMOTE++ soon available at: