Figure 8
Implementation architecture. (a) An experiment is represented in Condor as a Python object that includes a source object, one or several sample particle objects, and a detector object. A call of the method propagate() starts a simulation and returns the diffraction data. (b) The web version of Condor is realized as a hierarchical client–server model. The web server provides a dynamic web page under the address https://lmb.icm.uu.se/condor. Under this page users can configure their experiment, and upon submission data are validated and then cached in a database. Simulation jobs are scheduled by a scheduling server that manages a network of worker clients. This worker farm is dynamically extended and shrunk depending on the number of requests. After completion of a simulation the web server presents previews and links to download to the user. |