jeremy cowles, eric heien , adam kornafeld ,

14
Jeremy Cowles, Eric Heien, Adam Kornafeld, Yusuke Takata, Kenichi Hagihara, Nicolás Alvarez

Upload: tucker

Post on 08-Jan-2016

33 views

Category:

Documents


1 download

DESCRIPTION

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. Google Summer of Code. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Jeremy Cowles, Eric  Heien , Adam  Kornafeld ,

Jeremy Cowles, Eric Heien, Adam Kornafeld, Yusuke Takata, Kenichi Hagihara, Nicolás Alvarez

Page 2: Jeremy Cowles, Eric  Heien , Adam  Kornafeld ,

2

Overview

PyMW & Summer of Code Recent Enhancements in 0.3 PyBOINC: Distributable Python

Interpreter BOINC & PyMW at U.C. Berkeley Future plans for PyMW

Page 3: Jeremy Cowles, Eric  Heien , Adam  Kornafeld ,

3

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

Page 4: Jeremy Cowles, Eric  Heien , Adam  Kornafeld ,

4

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

Page 5: Jeremy Cowles, Eric  Heien , Adam  Kornafeld ,

5

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

Page 6: Jeremy Cowles, Eric  Heien , Adam  Kornafeld ,

6

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

Page 7: Jeremy Cowles, Eric  Heien , Adam  Kornafeld ,

7

PyBOINC Python Interpreter

Collaboration with Nicolás Alvarez Official Python interpreter

(embedded) BOINC compatible, distributable Statically compiled for

Windows Linux Mac OS X

Page 8: Jeremy Cowles, Eric  Heien , Adam  Kornafeld ,

8

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

Page 9: Jeremy Cowles, Eric  Heien , Adam  Kornafeld ,

9

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?

Page 10: Jeremy Cowles, Eric  Heien , Adam  Kornafeld ,

10

PyMW & BOINC @ Berkeley

CS188: Introduction to Artificial IntelligencePacman AI Tournament

Page 11: Jeremy Cowles, Eric  Heien , Adam  Kornafeld ,

11

Pacman AI Tournament

Large framework in Python w/data files

Student teams submit agents Matches run nightly Takes ~16 hours to run tournament

(serial)

Page 12: Jeremy Cowles, Eric  Heien , Adam  Kornafeld ,

12

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

Page 13: Jeremy Cowles, Eric  Heien , Adam  Kornafeld ,

13

Future Plans for PyMW

Security & signing scripts Support for BOINC Graphic API Python 3.0 Support Check-pointing support

Page 14: Jeremy Cowles, Eric  Heien , Adam  Kornafeld ,

14

Online Resources

PyMWhttp://pymw.sourceforge.net/

PyMW Documentation http://pymw.sourceforge.net/doc/

PyBOINChttp://bitbucket.org/jeremycowles/pyboinc