Simple Grid Protocol 1.2 - Copyright (c) Brendan Kosowski 2004, 2005, 2015, 2019 (updated 30-Aug-2019) XML GRID INTERFACE INTRODUCTION ------------------------------- The xml interface allows any xml capable programming language on any computer on the grid network to send a single line of lisp code to the grid for execution. The interface comprises 2 lisp programs that are placed in the apache httpd cgi-bin: 1.) xml_show_track.lisp : a simplified version of the tracking server that lists all cycle sharing nodes (best node first) and flags nodes that are XML capable. 2.) xml_cpurs.lisp : a modified version of the cpu resource server. Both of these programs accept HTTP POST inputs, and output results in XML. SETUP ----- First get the lisp grid running as in "GRID_HOW_TO.txt". TO SETUP THE TRACKING SERVER (aka CONTROL NODE) 1.) Setup apache httpd to run as user "grid". This is done in the file "httpd.conf". You will also need to find out which group "grid" belongs to ("id grid") and run apache as that group also. 2.) Copy the file "xml_show_track.lisp" to the apache httpd cgi-bin and change it's permission to "r-xr-xr-x" using the command "chmod 555 xml_show_track.lisp". TO SETUP THE CPU RESOURCE SERVERS (aka CYCLE SHARING NODES) 1.) Setup apache httpd to run as user "nobody". This is done in the file "httpd.conf". You will also need to find out which group "nobody" belongs to ("id nobody") and run apache as that group also. 2.) Edit the file flags.dat and replace "(:xml nil)" with "(:xml t)". This tells the grid that your computer shares cycles via xml. 3.) Copy the file "xml_cpurs.lisp" to the apache httpd cgi-bin and change it's permission to "r-xr-xr-x" using the command "chmod 555 xml_cpurs.lisp". START WRITING GRID FRIENDLY SOFTWARE 1.) The program "xml_example.php" is a PHP Script that does the following: a.) Finds the cycle sharing node that has the most available CPU resources and is XML capable. b.) Send a single line of lisp code to the grid for execution and receives the result. This requires PHP with CURL and Simple-XML libraries installed. *** Have Fun! ***