11:30 a.m. Distributed SAGE Yi Qiang Main Objectives: Accessible, scalable, cross-platform (SAGE-dependant), uses local and non-local resources. Many times, the computing power will be there, but there will be no infrastructure to take use of those resources. "Department of Hidden Resources" Suited for coarse parallel tasks. NOT "embarassingly" parallelizable problems. Proudly parallelizable. Should have low requirements for synchronization A Worker in DSAGE consists of a monitor, which spawns multiple instances of SAGE to work on the tasks. Technologies: Python Twisted ("Build the engine of your Internet") ZODB ("Zope Object Database") Why DSAGE? Xgrid, BOINC, Chainsaw (IPython 1), et al. seem to do the same things. These packages don't seem to make sense for the types of jobs the casual user (us?) may want to do. Xgrid knows nothing about math/science, proprietary, and only works on OS X BOINC is suitable for one massive job. Chainsaw has no fault tolerance or authentication Fault Tolerance Servers, workers, or clients can disappear at any time. These factors must be taken into account in order to keep jobs running smoothly. Security SSL communication by default Public key authentication of clients Run workers in a virtual machine (in the near future) Applications Implemented Distributed Functions (such as Ray-Tracing or Integer Factorization) Many other possibilities. Distributed Factorization (qsieve just implemented) DSAGE (8 processors) factored 11^150+1 in 2 minutes, SAGE factored it in 4 hours It's actually easy to write this yourself (see slides) The number of workers is dynamic. Jobs cannot be sent to specific workers--they're just sent to the server, and the server passes them around. Since SAGE is based upon Python, makes use of Python's pickling to pass information from server to workers and back. Future Development Tracking and scoring of users (similar to SETI@home) Integrity checking schemes (especially an allowance for redundancy) Run workers SETI@home-style Has been included in SAGE since version 1.7 Latest dsage is version 0.2