download pacman
Download
Report
Transcript download pacman
Jeremy Cowles, Eric Heien, Adam Kornafeld,
Yusuke Takata, Kenichi Hagihara, Nicolás Alvarez
Overview
PyMW & Summer of Code
Recent Enhancements in 0.3
PyBOINC: Distributable Python Interpreter
BOINC & PyMW at U.C. Berkeley
Future plans for PyMW
2
Google Summer of Code
Proposal accepted via Python Foundation
Worked with Eric Heien as project mentor
Goals:
Improve BOINC integration in PyMW
Reduce barriers to creating BOINC apps
Remove the Python requirement on the Client
3
PyMW v0.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 v0.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 v0.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
PyBOINC Python Interpreter
Collaboration with Nicolás Alvarez
Official Python interpreter (embedded)
BOINC compatible, distributable
Statically compiled for
Windows
Linux
Mac OS X
7
PyBOINC Features
Customizable standard library
Uses Python’s support for zipped modules
2.6 bundled with current release
Add or remove components as needed
3rd party libraries
BOINC API module included by default
Compiled C modules & dynamic libraries
8
PyMW 0.3 Workflow
Download PyMW & PyBOINC
Write PyMW science application
Install BOINC server & create a project
Run the application:
$ myapp.py –d ~/projects/my_proj
Does it work with real applications?
9
PyMW & BOINC @ Berkeley
CS188: 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 PyMW & BOINC
BOINC formulation:
Wrapped tourney framework with PyMW
One match per work unit
99% orthogonal to PyMW/BOINC
Students can volunteer compute time
PyMW multi-core for debugging
New tourney runs in about 1 hour
12
Future Plans for PyMW
Security & signing scripts
Support for BOINC Graphic API
Python 3.0 Support
Check-pointing support
13
Online Resources
PyMW
http://pymw.sourceforge.net/
PyMW Documentation
http://pymw.sourceforge.net/doc/
PyBOINC
http://bitbucket.org/jeremycowles/pyboinc
14