Jeremy Cowles Eric Heien Adam Kornafeld Yusuke Takata














- Slides: 14
Jeremy Cowles, Eric Heien, Adam Kornafeld, Yusuke Takata, Kenichi Hagihara, Nicolás Alvarez
Overview § § § Py. MW & Summer of Code Recent Enhancements in 0. 3 Py. BOINC: Distributable Python Interpreter BOINC & Py. MW at U. C. Berkeley Future plans for Py. MW 2
Google Summer of Code § Proposal accepted via Python Foundation § Worked with Eric Heien as project mentor § Goals: § Improve BOINC integration in Py. MW § Reduce barriers to creating BOINC apps § Remove the Python requirement on the Client 3
Py. MW v 0. 2 Limitations § Need to compile assimilator from C source § Manual project setup via script § Modules, libraries & data bundled by BOINC application, not by work unit § No direct support for BOINC API § Python installation is assumed on client 4
Enhancements in v 0. 3 § Pure-Python assimilator § Abstract base class, easy to extend § Leverage existing Python code § Automated project setup § Validates project setup on every execution § Installs required daemons § Installs/upgrades science application 5
Enhancements in v 0. 3 § Bundle arbitrary files with work units § Individual Python libraries § Domain-specific data § Customizable work unit generation § Number of target results, output size, etc § Native Python support for BOINC API 6
Py. BOINC Python Interpreter § § Collaboration with Nicolás Alvarez Official Python interpreter (embedded) BOINC compatible, distributable Statically compiled for § Windows § Linux § Mac OS X 7
Py. BOINC Features § Customizable standard library § Uses Python’s support for zipped modules § 2. 6 bundled with current release § Add or remove components as needed § 3 rd party libraries § BOINC API module included by default § Compiled C modules & dynamic libraries 8
Py. MW 0. 3 Workflow § § Download Py. MW & Py. BOINC Write Py. MW science application Install BOINC server & create a project Run the application: § $ myapp. py –d ~/projects/my_proj § Does it work with real applications? 9
Py. MW & BOINC @ Berkeley CS 188: Introduction to Artificial Intelligence Pacman AI Tournament 10
Pacman AI Tournament § § Large framework in Python w/data files Student teams submit agents Matches run nightly Takes ~16 hours to run tournament (serial) 11
Using Py. MW & BOINC § BOINC formulation: § Wrapped tourney framework with Py. MW § One match per work unit § § 99% orthogonal to Py. MW/BOINC Students can volunteer compute time Py. MW multi-core for debugging New tourney runs in about 1 hour 12
Future Plans for Py. MW § § Security & signing scripts Support for BOINC Graphic API Python 3. 0 Support Check-pointing support 13
Online Resources § Py. MW http: //pymw. sourceforge. net/ § Py. MW Documentation http: //pymw. sourceforge. net/doc/ § Py. BOINC http: //bitbucket. org/jeremycowles/pyboinc 14














