Download presentation
Presentation is loading. Please wait.
Published byEmil Ferguson Modified over 9 years ago
1
CLIENT (Web browser, GET, POST) WEB Server GRID Infrastructure GRID Worker Node my_cgi.cgi cgi2rcgi NetSchedule NetCache remote_cgi Original CGI executable (my_cgi.cgi) Original CGI, rebuilt after a 2-line code change my_cgi.cgi --- HTTP Job Info Job Data Converting a CGI into a GRID Worker Node Network
2
Exit code, STDOUT, STDERR Cmd-line args, STDIN, Input files CLIENTWEB Server GRID Infrastructure GRID Worker Node remote_app_ dispatcher.cgi NetSchedule NetCache remote_app my_app.pl my_app.pl –x –i foo.asn --- Job Info Job Data Running an arbitrary cmd-line app remotely, as a GRID Worker Node Network some_app.exe via CRADispatcherClient API some_app.exe via CRemoteApp* API E.g. a ready-to-use utility: ns_submit_remote_job.exe ---
3
CLIENT GRID Infrastructure GRID Worker Node NetSchedule NetCache Job Info & Small data Job Data (large) Creating and using a (multithreaded) GRID Worker Node Network CGridSubmitter -------------- SetJobInput(string) ostream GetOStream() CGridJobStatus -------------- string GetJobOutput() int GetReturnCode() istream GetIstream() EJobStatus GetStatus() string GetProgressMessage() class CMyNode::IWorkerNodeJob: virtual Do(CWorkerNodeJobContext&) NCBI_WORKER_NODE_MAIN (CMyNode, 1.0.1); Class CGridClient uses these two classes to submit the job and to get the results: string GetJobInput() istream GetIStream() -------------- CWorkerNodeJobContext -------------- SetJobOutput(string) PutProgressMessage(string) stream GetOStream()
4
Preconfigured environment to run GRID Worker Nodes service0(QA) service1service2service3 freezer service[0123]:~service/grid_nodes/*/ /net/freezer/vol/export3/netservice-stage/workers/apps/*/ stop_me[.host] kill_me[.host] upgrade_me[.host] dist/* (They also run several flavors of NetSchedule and NetCache servers for general use)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.