+ All Categories
Home > Technology > yt: Growing and Engaging a Community of Practice

yt: Growing and Engaging a Community of Practice

Date post: 26-Jan-2015
Category:
Upload: matthewturk
View: 126 times
Download: 1 times
Share this document with a friend
Description:
The yt project ( http://yt-project.org/ ) is a community developed analysis and visualization system for astrophysical simulation data. In this presentation I talk a bit about what yt is, and then discuss the challenges and strategies for growing a community of practice.
107
The yt Project : Growing & Engaging a Community of Practice Matthew Turk Columbia University
Transcript
Page 1: yt: Growing and Engaging a Community of Practice

The yt Project:Growing & Engaging a Community of Practice

Matthew TurkColumbia University

Page 2: yt: Growing and Engaging a Community of Practice

What is yt?

Page 3: yt: Growing and Engaging a Community of Practice

astro-ph/1011.3514astro-ph/1112.4482

yt-project.org

Page 4: yt: Growing and Engaging a Community of Practice

yt is a platform for analysis and visualization of astrophysical* simulations

Page 5: yt: Growing and Engaging a Community of Practice
Page 6: yt: Growing and Engaging a Community of Practice
Page 7: yt: Growing and Engaging a Community of Practice

install script:

Full dependency stackSource code

Development environmentGUI

Sample data

Page 8: yt: Growing and Engaging a Community of Practice

There are many simulation codes.

Page 9: yt: Growing and Engaging a Community of Practice

There are many simulation codes, but there’s only one sky.

Page 10: yt: Growing and Engaging a Community of Practice

data structures,methods,

assumptions,IO formats,

units,variable names,

...

Page 11: yt: Growing and Engaging a Community of Practice
Page 12: yt: Growing and Engaging a Community of Practice
Page 13: yt: Growing and Engaging a Community of Practice
Page 14: yt: Growing and Engaging a Community of Practice

Fully-Supported Semi-Supported In-Progress

EnzoFLASHOrionNyx

Uniform Data

ChomboAthena

ARTRAMSES

GDFPiernik

CactusHydra

Gadget

Page 15: yt: Growing and Engaging a Community of Practice

yt is designed to address physical,not computational,

entities and questions.

Page 16: yt: Growing and Engaging a Community of Practice

Orthogonal RaysNon-orthogonal Rays 1D

SlicesOblique SlicesProjections

2D

SpheresRectangular PrismsDisks/CylindersInclined BoxesClumpsExtracted RegionsEllipsoids

3D

Page 17: yt: Growing and Engaging a Community of Practice

Scripting interface, HTML5 GUI, in-situ processing, transparent multi-level parallelism...

Page 18: yt: Growing and Engaging a Community of Practice

yt is supposed to get out of the way.

Page 19: yt: Growing and Engaging a Community of Practice

from yt.mods import *pf = load(’galaxy0030/galaxy0030’)p = SlicePlot(pf, 2, ’Density’, ’c’, (200,’kpc’))p.save(’Galaxy’)

Page 20: yt: Growing and Engaging a Community of Practice
Page 21: yt: Growing and Engaging a Community of Practice
Page 22: yt: Growing and Engaging a Community of Practice
Page 23: yt: Growing and Engaging a Community of Practice
Page 24: yt: Growing and Engaging a Community of Practice

10-12 g/cc

Page 25: yt: Growing and Engaging a Community of Practice

6 C.B. Hummels et al.

Figure 1. Sample projections from the medium feedback and cooling suppression run at z = 0.5. Each image represent a column-densitymap of a region with 500 comoving kpc on a side. The white circle denotes r200 = 160 kpc.

tributions of a wide variety of atomic species, observable inabsorption against background quasars. We initially restrictourselves to low redshift, as there exists a substantial bodyof observations which link absorption strength to projecteddistance from the galaxy. In the following sections, we firstexamine the column density distributions, then explore thephysical properties of the gas giving rise to this absorption,and finally investigate the redshift evolution of the predictedabsorption strength.

3.1 Radial Profiles for Atomic Species

In this study, we examine the radial column density distri-bution for a number of absorption-line-generating species,well-sampling the range of ionization energies (and thus tem-perature/density regimes) of the CGM as shown in Table 2.At the two ends of the spectrum, the H I traces the cold,dense clouds, whereas the O VII probes the hot coronal gas.Between these regimes is a continuum of layers of mate-rial acting as the interface between these two phases. Thislayering e!ect takes place on many di!erent spatial scalesfrom small star-forming clumps of cold gas up to the galacticscale. Figure 1 demonstrates this at the latter scale, wherethe cold H I of the inner halo is enshrouded in warmer CIV-bearing gas, which is further encased and extended bygas exhibiting O VI. This provides us with some intuition

for understanding the following galactic profiles for thesespecies.

We produce radial profiles of the median gas columndensity in nine di!erent ionic species as a function of pro-jected radius extending from 2 kpc to 1 Mpc for our simu-lated galaxies. We probe this gas from the disk-dominatedregion (r < rinner ! 20 kpc) through the CGM (rinner <r < r200) into the intergalactic medium (r > r200). Figures2, 3, and 4 present these results (Figure 5 shows total gascolumn densities for comparison). The left and right sidesof each figure show the radial profiles of the same quantitybut for di!erent simulations. The left sides display a com-parison of simulations with and without di!erent forms offeedback: V, MF and MFCS, whereas the right sides exhibita progression of thermal feedback intensities: LF, MF andHF (the MF simulation is repeated on both sides to easecomparison). Each profile gives the median value expectedin an observation of a galaxy at a given radius over the red-shift range z = 0.1 " 0.5 (selected to approximately matchthe redshift ranges of the observations). To give some idea ofthe variation around the median absorber strength, in eachpanel we overplot a color band representing the quartiles ofthe column density distribution (i.e. 25% to 75%) for onemodel: MFCS (left) and HF (right). The quartile distribu-tion associated with the HF model is most indicative of thespread of all the other models, whereas MFCS produces a

c! 2012 RAS, MNRAS 000, 1–19

Page 26: yt: Growing and Engaging a Community of Practice

Canned Analysis Tasks

Page 27: yt: Growing and Engaging a Community of Practice

Absorption SpectrumCoordinate Transformations

Halo FindingMass FunctionsMerger TreesHalo Profiling

Level SetsLight ConesLight RaysTime Series

Star AnalysisTwo-Point Analysis

Page 28: yt: Growing and Engaging a Community of Practice

“Community”?

Page 29: yt: Growing and Engaging a Community of Practice

“Users”

“Developers”

Traditional View

Page 30: yt: Growing and Engaging a Community of Practice

“Users”

“Developers”

Most Scientific Software

Page 31: yt: Growing and Engaging a Community of Practice

“Devusers”

Community of Practice

Page 32: yt: Growing and Engaging a Community of Practice

“Developers”

Page 33: yt: Growing and Engaging a Community of Practice

“Developers”

Inspection and verification

Page 34: yt: Growing and Engaging a Community of Practice

“Developers”

Inspection and verificationTracking modifications

Page 35: yt: Growing and Engaging a Community of Practice

“Developers”

Inspection and verificationTracking modificationsSharing information

Page 36: yt: Growing and Engaging a Community of Practice

“Developers”

Inspection and verificationTracking modificationsSharing informationAdding functionality

Page 37: yt: Growing and Engaging a Community of Practice

“Developers”

Inspection and verificationTracking modificationsSharing informationAdding functionality

All are necessary characteristics of the scientific process as a whole.

Page 38: yt: Growing and Engaging a Community of Practice

“Users”

Page 39: yt: Growing and Engaging a Community of Practice

“Users”

Uncritical acceptance of code...?

Page 40: yt: Growing and Engaging a Community of Practice

“Users”

Uncritical acceptance of code...?

“These are people we give the code to that don’t care how it works.”

Page 41: yt: Growing and Engaging a Community of Practice

Developing as a Team

Page 42: yt: Growing and Engaging a Community of Practice

Challenges

Page 43: yt: Growing and Engaging a Community of Practice

Reward Structure

Page 44: yt: Growing and Engaging a Community of Practice

de facto and de jure

Page 45: yt: Growing and Engaging a Community of Practice

de facto and de jure

•Utilization of developed tools

•Respect from community

•Project involvements

•Invitations to speak

Page 46: yt: Growing and Engaging a Community of Practice

de facto and de jure

•Funding

•Publications

•Citation count

•Influence

Page 47: yt: Growing and Engaging a Community of Practice

Traditional astrophysics does not favor tool builders.

Page 48: yt: Growing and Engaging a Community of Practice

Chores

Page 49: yt: Growing and Engaging a Community of Practice

Chores

Documentation,testing,

outreach,infrastructure.

Page 50: yt: Growing and Engaging a Community of Practice

Tasks not fully-aligned with reward structure goals present great

motivational challenges.

Page 51: yt: Growing and Engaging a Community of Practice

Co-opetition

Page 52: yt: Growing and Engaging a Community of Practice

Co-opetition

•Funding

•Publications

•Citation count

•Influence( )

Page 53: yt: Growing and Engaging a Community of Practice

How developer community engagement -- as seen in cohesion, excitement, energy -- is

affected by funded improvements is unclear.

Page 54: yt: Growing and Engaging a Community of Practice

Strategies

Page 55: yt: Growing and Engaging a Community of Practice

The Art of Community by Bacon

Producing Open Source Software by Fogel

Team Geek by Fitzpatrick & Collins-Sussman

Organizing Simulation Code Collectives by Sundberg

Scientific Software Production by Howison & Herbsleb

Page 56: yt: Growing and Engaging a Community of Practice

You must design the community you want.

Page 57: yt: Growing and Engaging a Community of Practice

Technical& Social

Page 58: yt: Growing and Engaging a Community of Practice

Technical& Social

Page 59: yt: Growing and Engaging a Community of Practice

SVN hg

Repository

Users

Users & Repos

Users & Repos

Users & Repos

Users & Repos

Users & Repos

Users & Repos

Page 60: yt: Growing and Engaging a Community of Practice

Forky development:

very low barrier to entry; everything comes in the box.

Page 61: yt: Growing and Engaging a Community of Practice

Testing:

answer as well as integration tests get run every 30 minutes.

Page 62: yt: Growing and Engaging a Community of Practice

Code review:

eyes on (nearly) every changesetmentoring new developers

Page 63: yt: Growing and Engaging a Community of Practice

The path upstream must be obvious.

Page 64: yt: Growing and Engaging a Community of Practice

•Happy application

•Itch-scratching

•Submission

•Code review & mentoring

•Participation

Page 65: yt: Growing and Engaging a Community of Practice

Non-core contributed code:

a place for sharing scripts,data and images

Page 66: yt: Growing and Engaging a Community of Practice
Page 67: yt: Growing and Engaging a Community of Practice

Communication

Page 68: yt: Growing and Engaging a Community of Practice

Communication

All business is conducted openly.

Page 69: yt: Growing and Engaging a Community of Practice

Communication

Immediate

Page 70: yt: Growing and Engaging a Community of Practice

2 Communication

Low-Latency

Page 71: yt: Growing and Engaging a Community of Practice

Communication

High-Latency

Page 72: yt: Growing and Engaging a Community of Practice

Technical& Social

Page 73: yt: Growing and Engaging a Community of Practice

HRT

Page 74: yt: Growing and Engaging a Community of Practice

HumilityRT

Page 75: yt: Growing and Engaging a Community of Practice

HumilityRespectT

Page 76: yt: Growing and Engaging a Community of Practice

HumilityRespectTrust

Page 77: yt: Growing and Engaging a Community of Practice

HumilityRespectTrust

(Fitzpatrick & Collins-Sussman)

Page 78: yt: Growing and Engaging a Community of Practice

The most important thing I try to remember is that I want to foster a community of peers, not of elites.

Page 79: yt: Growing and Engaging a Community of Practice
Page 80: yt: Growing and Engaging a Community of Practice

I’ve noticed something is acting strangely with ...

““

Page 81: yt: Growing and Engaging a Community of Practice

I’ve noticed something is acting strangely with ...

You’re probably doing it wrong.““

““

Page 82: yt: Growing and Engaging a Community of Practice

Can you tell us how you would expect it to act?

I’ve noticed something is acting strangely with ...

““

““

Page 83: yt: Growing and Engaging a Community of Practice

I think that there might be a bug in the way ...

““

Page 84: yt: Growing and Engaging a Community of Practice

It’s like that for very good reasons. Don’t touch it.

I think that there might be a bug in the way ...

““

““

Page 85: yt: Growing and Engaging a Community of Practice

It behaves the way it does because ...

I think that there might be a bug in the way ...

““

““

Page 86: yt: Growing and Engaging a Community of Practice

Thoughtfulness,inquiry,

confidence,letting go.

Page 87: yt: Growing and Engaging a Community of Practice

This culture must be seeded directly.

Page 88: yt: Growing and Engaging a Community of Practice

This culture must be seeded directly,because culture will self-propagate.

Page 89: yt: Growing and Engaging a Community of Practice

letting go

Page 90: yt: Growing and Engaging a Community of Practice

Pride rather than ownership

Page 91: yt: Growing and Engaging a Community of Practice

Projects passing between people

Page 92: yt: Growing and Engaging a Community of Practice

Too much control can smother.

Page 93: yt: Growing and Engaging a Community of Practice

Too much control can smother.will

Page 94: yt: Growing and Engaging a Community of Practice

Successes

Page 95: yt: Growing and Engaging a Community of Practice
Page 96: yt: Growing and Engaging a Community of Practice

Developed by working astrophysicists.

Page 97: yt: Growing and Engaging a Community of Practice
Page 98: yt: Growing and Engaging a Community of Practice
Page 99: yt: Growing and Engaging a Community of Practice

Tom AbelDavid CollinsBrian CrosbyAndrew CunninghamNathan GoldbaumCameron HummelsJi-hoon KimSteffen KlemerKacper KowalikMichael KuhlenEve LeeChris MaloneChris MoodyAndrew MyersJeff Oishi

Jean-Claude PassyThomas RobitailleAnna RosenAnthony ScopatzDevin SilviaSam SkillmanStephen SkoryBritton SmithGeoffrey SoCasey StarkElizabeth TaskerMatthew TurkRick WagnerJohn WiseJohn ZuHone

Page 100: yt: Growing and Engaging a Community of Practice

Tom AbelDavid CollinsBrian CrosbyAndrew CunninghamNathan GoldbaumCameron HummelsJi-hoon KimSteffen KlemerKacper KowalikMichael KuhlenEve LeeChris MaloneChris MoodyAndrew MyersJeff Oishi

Jean-Claude PassyThomas RobitailleAnna RosenAnthony ScopatzDevin SilviaSam SkillmanStephen SkoryBritton SmithGeoffrey SoCasey StarkElizabeth TaskerMatthew TurkRick WagnerJohn WiseJohn ZuHone

Page 101: yt: Growing and Engaging a Community of Practice

“Usage of a HPC Data Analysis and Visualization System,” Szczepanski et al 2012

Usage on NSF NICS Nautlius

Page 102: yt: Growing and Engaging a Community of Practice
Page 103: yt: Growing and Engaging a Community of Practice
Page 104: yt: Growing and Engaging a Community of Practice

(play movie)

Page 105: yt: Growing and Engaging a Community of Practice

“... it seems likely that significant software contributions to existing scientific software projects are not likely to be rewarded through the traditional reputation economy of science. Together these factors provide a reason to expect the over-production of independent scientific software packages, and the under-production of collaborative projects in which later academics build on the work of earlier ones.”

Howison & Herbsleb (2011)

Page 106: yt: Growing and Engaging a Community of Practice

Thank you.

Page 107: yt: Growing and Engaging a Community of Practice

Tom AbelDavid CollinsBrian CrosbyAndrew CunninghamNathan GoldbaumCameron HummelsJi-hoon KimSteffen KlemerKacper KowalikMichael KuhlenEve LeeChris MaloneChris MoodyAndrew MyersJeff Oishi

Jean-Claude PassyThomas RobitailleAnna RosenAnthony ScopatzDevin SilviaSam SkillmanStephen SkoryBritton SmithGeoffrey SoCasey StarkElizabeth TaskerMatthew TurkRick WagnerJohn WiseJohn ZuHone


Recommended