Difference between revisions of "OpenZFS Developer Summit 2015"

From OpenZFS
Jump to navigation Jump to search
(changing tense post-event)
Line 2: Line 2:
|-
|-
|valign="top" |[[file:2015_ozds_event_page_v5.png|250px]]
|valign="top" |[[file:2015_ozds_event_page_v5.png|250px]]
|valign="top" |The third annual OpenZFS Developer Summit will be held in San Francisco, October 19 - 20, 2015.  This will be the 10th anniversary of the open sourcing of ZFS!  All OpenZFS developers are invited to participate.
|valign="top" |The third annual OpenZFS Developer Summit was held in San Francisco, October 19 - 20, 2015.  This was the 10th anniversary of the open sourcing of ZFS!  All OpenZFS developers were invited to participate.
<br>
<br>
The goal of the event is to foster cross-community discussions of OpenZFS work and to make progress on some of the projects we have proposed. This 2-day event will consist of 1 day of presentation (Oct 19) and a 1 day hackathon (Oct 20).
The goal of the event was to foster cross-community discussions of OpenZFS work and to make progress on some of the projects we have proposed. This 2-day event consisted of 1 day of presentation (Oct 19) and a 1 day hackathon (Oct 20).
<br><br>
<br><br>
Details about registration, proposing presentations, deadlines, and sponsorship opportunities are provided on this page.
Details about registration, proposing presentations, deadlines, and sponsorship opportunities were provided on this page.
|}
|}
The event was streamed live, and you can find all videos and presentations below.
<html>
<!--<iframe src="http://livestream.com/accounts/15501788/events/4422403/player?width=560&height=315&autoPlay=true&mute=false" width="560" height="315" frameborder="0" scrolling="no"> </iframe>-->
<a href="https://twitter.com/openzfs" class="twitter-follow-button" data-show-count="true">Follow @openzfs</a></html> or use the [https://twitter.com/search?q=OpenZFS&src=typd #OpenZFS] tag on twitter.


Thanks to the 2015 Beer Bash and Platinum sponsors for their support!
Thanks to the 2015 Beer Bash and Platinum sponsors for their support!
Line 24: Line 30:
|}
|}


You can watch live using the player below, and interact with other participants in [http://webchat.freenode.net/?channels=openzfs #openzfs] on IRC, or use the [https://twitter.com/search?q=OpenZFS&src=typd #OpenZFS] tag on twitter.
== Event ==
 
=== Photos ===
<html>
Photos of the event can be viewed on the [https://plus.google.com/photos/107465241361512478015/albums/6081692632843588737 OpenZFS Google+ page].
<iframe src="http://livestream.com/accounts/15501788/events/4422403/player?width=560&height=315&autoPlay=true&mute=false" width="560" height="315" frameborder="0" scrolling="no"> </iframe>
<br><a href="https://twitter.com/openzfs" class="twitter-follow-button" data-show-count="true">Follow @openzfs</a>
</html>
 


== Registration ==
=== Presentations ===
Registration is full!  If you would like to attend, please contact us at admin@open-zfs.org or add yourself to the [http://www.eventbrite.com/e/2015-openzfs-developer-summit-tickets-17450402624 waitlist on Eventbrite].  Conversely, if you have registered but will not be able to attend, let us know so we can refund your fee and make the space available to someone else.
 
* Registration is $50 per attendee. If your company is a sponsor (as listed below), you may be eligible for a free registration. Please contact admin at open-zfs dot org if that is the case.  Speakers will also receive free registration.
 
All attendees are expected to contribute/participate.  Your ideas and questions are what make the event exciting!
 
== Event Logistics ==
=== Location ===
'''Note: Day 1 and Day 2 of the event will take place in different locations less than a 20 minute walk apart.'''
 
'''Day 1: Conference - Monday, October 19, 2015'''
 
[http://creativity.org/ Children’s Creativity Museum] at [https://www.google.com/maps/place/Children's+Creativity+Museum/@37.783326,-122.402066,15z/data=!4m2!3m1!1s0x80858087438c54b7:0x9229072a5964c7fb 221 Fourth Street, San Francisco, CA 94103], behind the Carousel at the corner of Fourth and Howard. This is the same location as Day 1 of the 2014 event, but we will be in the theater this time. 
 
'''Day 2: Hackathon - Tuesday, October 20, 2015'''
 
[http://github.com/about GitHub] at [https://www.google.com/maps/place/88+Colin+P+Kelly+Jr+St,+San+Francisco,+CA+94107/@37.7822671,-122.3912479,17z/data=!3m1!4b1!4m2!3m1!1s0x80858077fe6ae953:0x1cf829f1248fb8f4 88 Colin P. Kelly Jr St, San Francisco, CA 94107], which is a street that runs between Brannan and Townsend St, between 2nd and King Streets. The entrance is very close to the corner with Brannan St. Once there, let the security guard know that you are there for the hackathon.
 
If biking to the hackathon, go into the employee entrance at [https://www.google.com/maps/place/275+Brannan+St,+San+Francisco,+CA+94107/data=!4m2!3m1!1s0x808580783e915131:0x2f8d49e6e86d0285?sa=X&ved=0CB0Q8gEwAGoVChMI2f6Hk5CJyAIVhaOICh0hpgXB 275 Brannan Street, San Francisco, CA 94107]. Let them know you are there for the hackathon, and they will let you store your bicycle. They will then direct you to the appropriate entrance.
 
=== Schedule ===
Note that the optional, off-site dinner on Sunday is at your own expense.


{| class="wikitable"
{| class="wikitable"
!colspan="2" style="text-align: center" |'''Sunday, October 18, 2015'''
|-
|-
!Time!!Title
!Title!!Speaker!!Company!!Slides!!Video
|-
|-
|6:30pm
|Keynote||Matt Ahrens||[http://www.delphix.com/ Delphix]||[https://drive.google.com/file/d/0B4BF1vnv6p0-R0NQdE1EaFJLeVE/view?usp=sharing Slides]||rowspan="2"|[https://youtu.be/aV276yUfgK4 Video]
|Optional dinner at [http://goo.gl/943i5i Rosamunde Sausage Grill] at 2832 Mission St, San Francisco, CA 94110.
Location is a 3 minute walk from the 24th Street BART station.
|}
 
{| class="wikitable"
!colspan="6" style="text-align: center" |'''Monday, October 19, 2015'''
|-
|-
!Time!!Title!!Speaker!!Company!!Slides!!Video
|OpenZFS Success Stories||Tarkan Maner||[http://nexenta.com/ Nexenta]|| [https://drive.google.com/file/d/0B4BF1vnv6p0-MHpXTGkyZDBlamc/view?usp=sharing Slides]
|-
|-
|9:00am – 9:30am||colspan="5" style="text-align: center"|'''Registration & Breakfast'''
|ZFS Internals Overview||Kirk McKusick||[http://www.mckusick.com Independent]|| [https://drive.google.com/file/d/0B4BF1vnv6p0-MmlYN2VIR2lEVXc/view?usp=sharing Slides]||[https://youtu.be/IQp_FglfzUQ Video]
|-
|-
|9:30am – 9:45am||Keynote||Matt Ahrens||[http://www.delphix.com/ Delphix]||[https://drive.google.com/file/d/0B4BF1vnv6p0-R0NQdE1EaFJLeVE/view?usp=sharing Slides]||rowspan="2"|[https://youtu.be/aV276yUfgK4 Video]
|ZFS Send and Receive||Paul Dagnelie||[http://www.delphix.com/ Delphix]||rowspan="2"|[https://drive.google.com/file/d/0B4BF1vnv6p0-cHZEeEJaZmNpZVE/view?usp=sharing Slides]||rowspan="2"|[https://youtu.be/LaNgoAZeTww Video]
|-
|-
|9:45am – 10:00am||OpenZFS Success Stories||Tarkan Maner||[http://nexenta.com/ Nexenta]|| [https://drive.google.com/file/d/0B4BF1vnv6p0-MHpXTGkyZDBlamc/view?usp=sharing Slides]
|Compressed Send and Receive||Dan Kimmel||[http://www.delphix.com/ Delphix]
|-
|-
|10:00am – 10:45am||ZFS Internals Overview||Kirk McKusick||[http://www.mckusick.com Independent]|| [https://drive.google.com/file/d/0B4BF1vnv6p0-MmlYN2VIR2lEVXc/view?usp=sharing Slides]||[https://youtu.be/IQp_FglfzUQ Video]
|Live Migration with Zmotion||Francois Lesage||[http://www.ovh.com/ OVH]||[https://drive.google.com/file/d/0B4BF1vnv6p0-MEpCRTAyTk1PUXc/view?usp=sharing Slides]||[https://youtu.be/mURQFCuvGtk Video]
|-
|-
|10:45am – 11:00am||colspan="5" style="text-align: center"|'''Break'''
|The Birth of ZFS||Jeff Bonwick||[http://dssd.com/ DSSD], [http://www.emc.com/ EMC]||None||[https://youtu.be/dcV2PaMTAJ4 Video]
|-
|-
|11:00am – 11:30am||ZFS Send and Receive||Paul Dagnelie||[http://www.delphix.com/ Delphix]||rowspan="2"|[https://drive.google.com/file/d/0B4BF1vnv6p0-cHZEeEJaZmNpZVE/view?usp=sharing Slides]||rowspan="2"|[https://youtu.be/LaNgoAZeTww Video]
|Parity Declustered RAID-Z/Mirror||Isaac Huang||[http://www.intel.com/content/www/us/en/homepage.html Intel]|| [https://drive.google.com/file/d/0B4BF1vnv6p0-bGVrQXg3dmY1Uzg/view?usp=sharing Slides]||[https://youtu.be/MxKohtFSB4M Video]
|-
|-
|11:30am – 11:45am||Compressed Send and Receive||Dan Kimmel||[http://www.delphix.com/ Delphix]
|Improve Performance on AWS with Eager Zero||Joe Stein||[http://www.delphix.com/ Delphix]||[https://drive.google.com/file/d/0B4BF1vnv6p0-T21WN0N2N0pCY0E/view?usp=sharing Slides]||[https://youtu.be/oVh6l4BTntw Video]
|-
|-
|11:45am – 12:00pm||Live Migration with Zmotion||Francois Lesage||[http://www.ovh.com/ OVH]||[https://drive.google.com/file/d/0B4BF1vnv6p0-MEpCRTAyTk1PUXc/view?usp=sharing Slides]||[https://youtu.be/mURQFCuvGtk Video]
|Compressed ARC||George Wilson||[http://www.delphix.com/ Delphix]||[https://drive.google.com/file/d/0B5hUzsxe4cdmbEh2eEZDbjY3LXM/view?usp=sharing Slides]||[https://youtu.be/zWcgccpVRfA Video]
|-
|-
|12:00pm – 12:45pm||colspan="5" style="text-align: center"|'''Lunch'''
|Discontiguous Caching with ABD||David Chen||[http://www.osnexus.com/ OSNexus]||[https://drive.google.com/file/d/0B4BF1vnv6p0-UHpOQ3lwQlhvUkk/view?usp=sharing Slides]||[https://youtu.be/jTZ3SL9XV0o Video]
|-
|-
|12:45pm – 1:00pm||The Birth of ZFS||Jeff Bonwick||[http://dssd.com/ DSSD], [http://www.emc.com/ EMC]||None||[https://youtu.be/dcV2PaMTAJ4 Video]
|Persistent L2ARC||Saso Kiselkov||[http://nexenta.com/ Nexenta]||rowspan="2"|[https://drive.google.com/file/d/0B4BF1vnv6p0-RnBoQXc3MVdLRGM/view?usp=sharing Slides]||rowspan="2"|[https://youtu.be/kt91t4sBWi8 Video]
|-
|-
|1:00pm – 1:30pm||Parity Declustered RAID-Z/Mirror||Isaac Huang||[http://www.intel.com/content/www/us/en/homepage.html Intel]|| [https://drive.google.com/file/d/0B4BF1vnv6p0-bGVrQXg3dmY1Uzg/view?usp=sharing Slides]||[https://youtu.be/MxKohtFSB4M Video]
|Dedup Ceiling||Saso Kiselkov||[http://nexenta.com/ Nexenta]
|-
|-
|1:30pm – 1:45pm||Improve Performance on AWS with Eager Zero||Joe Stein||[http://www.delphix.com/ Delphix]||[https://drive.google.com/file/d/0B4BF1vnv6p0-T21WN0N2N0pCY0E/view?usp=sharing Slides]||[https://youtu.be/oVh6l4BTntw Video]
|[[Writeback Cache]]||Alex Aizman||[http://nexenta.com/ Nexenta]||[https://drive.google.com/file/d/0B4BF1vnv6p0-MjJCcmViY2trY1E/view?usp=sharing Slides]||Coming Soon
|-
|-
|1:45pm – 2:15pm||colspan="5" style="text-align: center"|'''Break'''
|Sandboxing OpenZFS on Linux||Albert Lee||[http://omniti.com/ OmniTI]||[https://drive.google.com/file/d/0B4BF1vnv6p0-SzBObm9EWkNRMG8/view?usp=sharing Slides]||Coming Soon
|-
|-
|2:15pm – 2:45pm||Compressed ARC||George Wilson||[http://www.delphix.com/ Delphix]||[https://drive.google.com/file/d/0B5hUzsxe4cdmbEh2eEZDbjY3LXM/view?usp=sharing Slides]||[https://youtu.be/zWcgccpVRfA Video]
|SPA Metadata Allocation Classes||Don Brady||[http://www.intel.com/content/www/us/en/homepage.html Intel]||[https://drive.google.com/file/d/0B4BF1vnv6p0-bkZ1YTJFamxnSmM/view?usp=sharing Slides]||Coming Soon
|-
|-
|2:45pm – 3:00pm||Discontiguous Caching with ABD||David Chen||[http://www.osnexus.com/ OSNexus]||[https://drive.google.com/file/d/0B4BF1vnv6p0-UHpOQ3lwQlhvUkk/view?usp=sharing Slides]||[https://youtu.be/jTZ3SL9XV0o Video]
|Ztour||Don Brady||[http://www.intel.com/content/www/us/en/homepage.html Intel]||[https://drive.google.com/file/d/0B4BF1vnv6p0-T3VESzBjRXdGSU0/view?usp=sharing Slides]||Coming Soon
|-
|-
|3:00pm – 3:15pm||Persistent L2ARC||Saso Kiselkov||[http://nexenta.com/ Nexenta]||rowspan="2"|[https://drive.google.com/file/d/0B4BF1vnv6p0-RnBoQXc3MVdLRGM/view?usp=sharing Slides]||rowspan="2"|[https://youtu.be/kt91t4sBWi8 Video]
|Day 1 Closing||Matt Ahrens||[http://www.delphix.com/ Delphix]||None||Coming Soon
|-
|-
|3:15pm – 3:30pm||Dedup Ceiling||Saso Kiselkov||[http://nexenta.com/ Nexenta]
|Day 2 Hackathon Presentations & Awards||Hackathon Participants||-||None||Coming Soon
|-
|3:30pm – 4:00pm||colspan="5" style="text-align: center"|'''Break'''
|-
|4:00pm – 4:30pm||[[Writeback Cache]]||Alex Aizman||[http://nexenta.com/ Nexenta]||[https://drive.google.com/file/d/0B4BF1vnv6p0-MjJCcmViY2trY1E/view?usp=sharing Slides]||Coming Soon
|-
|4:30pm – 4:45pm||Sandboxing OpenZFS on Linux||Albert Lee||[http://omniti.com/ OmniTI]||[https://drive.google.com/file/d/0B4BF1vnv6p0-SzBObm9EWkNRMG8/view?usp=sharing Slides]||Coming Soon
|-
|4:45pm – 5:00pm||SPA Metadata Allocation Classes||Don Brady||[http://www.intel.com/content/www/us/en/homepage.html Intel]||[https://drive.google.com/file/d/0B4BF1vnv6p0-bkZ1YTJFamxnSmM/view?usp=sharing Slides]||Coming Soon
|-
|5:00pm – 5:15pm||Ztour||Don Brady||[http://www.intel.com/content/www/us/en/homepage.html Intel]||[https://drive.google.com/file/d/0B4BF1vnv6p0-T3VESzBjRXdGSU0/view?usp=sharing Slides]||Coming Soon
|-
|5:15pm – 5:30pm||Closing||Matt Ahrens||[http://www.delphix.com/ Delphix]||None||Coming Soon
|-
|5:30pm||colspan="5" style="text-align: center"|'''Beer Bash & Casual Dinner at Conference Venue'''
|}
|}


{| class="wikitable"
== Projects started at the hackathon ==
!colspan="2" style="text-align: center" |'''Tuesday, October 20, 2015'''
 
|-
==== Medium-size hackathon projects ====
!Time!!Title
* zfs clone --nopromote (Dan K)
|-
* store total # blocks on disk (of each type, in each ds, etc) (George W)
|9:00am – 9:30am||Breakfast
* use refcount_t for v_count (fileystem-ey but not ZFS)
|-
* embedded slog (George W)
|9:30am –10:45am||Hackathon
* on-disk map from dataset GUID -> set of object IDs
|-
* Simplify dbuf_free_range by removing dn_unlisted_l0_blkid (perf testing)
|10:45am – 11:00am||Break
* scrub specific dataset
|-
* channel programs! (Alvin)
|11:00am – 12:00pm||Hackathon
* add LZ4HC compression
|-
* allow receive of -L / -e / -c streams on systems with the required feature flags disabled
|12:00pm – 12:45pm||Lunch
* allow spacemap to represent larger range with one entry (increase entry size)
|-
 
|12:45pm – 1:45pm||Hackathon
==== Simpler hackathon projects ====
|-
* break zfs/zpool manpages into one page per subcommand
|1:45pm – 2:15pm||Break
* zfs send —current-format
|-
* “zfs API” subcommand to enumerate software capabilities (e.g. what CLI flags are allowed, when things change (zfs send -nv now outputs to stdout instead of stderr))
|2:15pm – 3:30pm||Hackathon
* expose send size estimation from bookmarks through sbin/zfs
|-
* we should not attempt to write to ZFS while panicking (illumos-specific)
|3:30pm – 4:00pm||Break
* more type safety in ZFS: typedef struct { uint64_t doi_id} dmu_object_id_t
|-
* ::spa -h should show free space histogram for whole pool
|4:00pm – 5:30pm||Hackathon Presentations, Awards & Closing
* metaslab size can exceed offset addressable by spacemap
|-
|5:30pm||Dinner at Hackathon Location (GitHub)
|}


== Event deadlines ==
==== Backlog ideas ====
{|border="0"  cellpadding="2"
* error counts in per-vdev object
|-
* scrub on readonly pool (on top of sorted scrub code?)
|valign="top"|Sept 25, 2015
* “resilver groups”/“vdev-directed resilver” where additional failure does not cause scrub to restart
| Register by this date to ensure you get a t-shirt in your size
* preferred allocation alignment (george)
|-
* promote prefetch reads to sync reads
|valign="top"|Oct 12, 2015
* runtime lock analyzer (like freebsd WITNESS)
| Agenda finalized
* test suite for system attributes
|-
* show clone-origin relationships with zfs list --graph
|valign="top"|Oct 19 - 20, 2015
* feature flags support for disabling inactive features
| OpenZFS Developer Summit
* ZFS should prefer gethrtime() to ddi_get_lbolt()
|}
* create vdev in syncing context (with sync task)
* Add interface for creating file with specific recordsize
* does ::abuf_find still work?
* make spa_load_impl() always use config from the MOS (except for finding devices)
** also spa_unload() would have to be made more airtight
* JSON command output
* zfs help command
* zfs set print usage message specific to property you're trying to set
* make zfs recv less trusting
* convert some AVL trees to b-trees or hash tables
* cross platform xattr


== Sponsorship ==
== A huge THANK YOU to the sponsors of the 2015 OpenZFS Developer Summit: ==
=== Thanks to our sponsors who make the 2015 event possible: ===


==== <u>Beer Bash</u> ====
==== <u>Beer Bash</u> ====
Line 189: Line 154:
|[[File: RGB_iXsystems_Logo_2015_OnLight_M.png|150x150px|link=http://www.ixsystems.com/]]
|[[File: RGB_iXsystems_Logo_2015_OnLight_M.png|150x150px|link=http://www.ixsystems.com/]]
|[[File: syneto-logo-Sept14.svg|150x150px|link=http://syneto.net/]]
|[[File: syneto-logo-Sept14.svg|150x150px|link=http://syneto.net/]]
|[[File: Intel.png|100x100px|link=http://www.intel.com/]]
|-
|-
|}
|}
Line 211: Line 175:
|}
|}


=== Sponsorship opportunities and benefits ===
<strong>Special thanks</strong>:
 
The full details of the monetary sponsorship options and the associated rewards can be viewed [http://open-zfs.org/w/images/f/f5/Sponsorship_Options_-_OpenZFS_Dev_Summit_2015.pdf in the sponsorship plan].
 
All of our sponsors have an opportunity to be known as a OpenZFS supporter in a very talented and influential community.
 
Please send email to admin at open-zfs dot org if you would like to sponsor the event.
 
==== Other ways to sponsor ====
 
If you are interested in supporting the event through non-monetary means, we would be happy to match the sponsorship packages to the effort.
 
* Video record and stream the presentations
* Photograph the event
* Help with setup/administrative tasks related to the conference
 
Thanks to our generous sponsors for their help:


* Hackathon prizes - Thank you [http://www.nexenta.com/ Nexenta]!
* Hackathon prizes - Thank you [http://www.nexenta.com/ Nexenta]!
* Conference branding, t-shirt and banner design - Thank you Aaron Holding!
* Conference branding, t-shirt and banner design - Thank you Aaron Holding!
* Design and create conference badges - Thank you [http://syneto.eu/ Syneto]!
* Design and creation of conference badges - Thank you [http://syneto.eu/ Syneto]!
 
== Hackathon ==
The goals of the hackathon are:
* to get people working with ZFS engineers from outside their normal circles
* to start work on some of the [[projects]] we'd like to accomplish
Therefore, we should plan to work in small teams of 2-3 engineers.  The team members could be pair-programming, splitting up the work into discrete tasks for each person, or advising / implementing.
 
=== Hackathon ideas ===
''Add your idea and your name below.  Be prepared to explain your idea at the beginning of the hackathon and enlist/entice others to help with it.''
 
==== Medium-size hackathon projects ====
* zfs clone --nopromote (Dan K)
* store total # blocks on disk (of each type, in each ds, etc) (George W)
* use refcount_t for v_count (fileystem-ey but not ZFS)
* embedded slog (George W)
* on-disk map from dataset GUID -> set of object IDs
* Simplify dbuf_free_range by removing dn_unlisted_l0_blkid (perf testing)
* scrub specific dataset
* channel programs! (Alvin)
* add LZ4HC compression
* allow receive of -L / -e / -c streams on systems with the required feature flags disabled
* allow spacemap to represent larger range with one entry (increase entry size)
 
==== Simpler hackathon projects ====
* break zfs/zpool manpages into one page per subcommand
* zfs send —current-format
* “zfs API” subcommand to enumerate software capabilities (e.g. what CLI flags are allowed, when things change (zfs send -nv now outputs to stdout instead of stderr))
* expose send size estimation from bookmarks through sbin/zfs
* we should not attempt to write to ZFS while panicking (illumos-specific)
* more type safety in ZFS: typedef struct { uint64_t doi_id} dmu_object_id_t
* ::spa -h should show free space histogram for whole pool
* metaslab size can exceed offset addressable by spacemap
 
==== Backlog ideas ====
* error counts in per-vdev object
* scrub on readonly pool (on top of sorted scrub code?)
* “resilver groups”/“vdev-directed resilver” where additional failure does not cause scrub to restart
* preferred allocation alignment (george)
* promote prefetch reads to sync reads
* runtime lock analyzer (like freebsd WITNESS)
* test suite for system attributes
* show clone-origin relationships with zfs list --graph
* feature flags support for disabling inactive features
* ZFS should prefer gethrtime() to ddi_get_lbolt()
* create vdev in syncing context (with sync task)
* Add interface for creating file with specific recordsize
* does ::abuf_find still work?
* make spa_load_impl() always use config from the MOS (except for finding devices)
** also spa_unload() would have to be made more airtight
* JSON command output
* zfs help command
* zfs set print usage message specific to property you're trying to set
* make zfs recv less trusting
* convert some AVL trees to b-trees or hash tables
* cross platform xattr


== Harassment Policy ==
== Harassment Policy ==
OpenZFS Developer Summit is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age or religion. We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue, including talks. Conference participants violating these rules may be sanctioned or expelled from the conference at the discretion of the conference organizers.
OpenZFS Developer Summit is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age or religion. We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue, including talks. Conference participants violating these rules may be sanctioned or expelled from the conference at the discretion of the conference organizers.
== Disclaimers ==
Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries.


''For information about last year's event, see the [[OpenZFS Developer Summit 2014]] page.''
''For information about last year's event, see the [[OpenZFS Developer Summit 2014]] page.''

Revision as of 17:28, 22 October 2015

2015 ozds event page v5.png The third annual OpenZFS Developer Summit was held in San Francisco, October 19 - 20, 2015. This was the 10th anniversary of the open sourcing of ZFS! All OpenZFS developers were invited to participate.


The goal of the event was to foster cross-community discussions of OpenZFS work and to make progress on some of the projects we have proposed. This 2-day event consisted of 1 day of presentation (Oct 19) and a 1 day hackathon (Oct 20).

Details about registration, proposing presentations, deadlines, and sponsorship opportunities were provided on this page.

The event was streamed live, and you can find all videos and presentations below.

or use the #OpenZFS tag on twitter.

Thanks to the 2015 Beer Bash and Platinum sponsors for their support!

Delphix logo.png GitHub Logo.png ClusterHQ-logo 1A---FC-w-strap-black-1360x568.png New hac logo.jpg
Nexenta-GL-logo-tagline.jpg OsNexus.png OmniTI-logo.jpeg

Event

Photos

Photos of the event can be viewed on the OpenZFS Google+ page.

Presentations

Title Speaker Company Slides Video
Keynote Matt Ahrens Delphix Slides Video
OpenZFS Success Stories Tarkan Maner Nexenta Slides
ZFS Internals Overview Kirk McKusick Independent Slides Video
ZFS Send and Receive Paul Dagnelie Delphix Slides Video
Compressed Send and Receive Dan Kimmel Delphix
Live Migration with Zmotion Francois Lesage OVH Slides Video
The Birth of ZFS Jeff Bonwick DSSD, EMC None Video
Parity Declustered RAID-Z/Mirror Isaac Huang Intel Slides Video
Improve Performance on AWS with Eager Zero Joe Stein Delphix Slides Video
Compressed ARC George Wilson Delphix Slides Video
Discontiguous Caching with ABD David Chen OSNexus Slides Video
Persistent L2ARC Saso Kiselkov Nexenta Slides Video
Dedup Ceiling Saso Kiselkov Nexenta
Writeback Cache Alex Aizman Nexenta Slides Coming Soon
Sandboxing OpenZFS on Linux Albert Lee OmniTI Slides Coming Soon
SPA Metadata Allocation Classes Don Brady Intel Slides Coming Soon
Ztour Don Brady Intel Slides Coming Soon
Day 1 Closing Matt Ahrens Delphix None Coming Soon
Day 2 Hackathon Presentations & Awards Hackathon Participants - None Coming Soon

Projects started at the hackathon

Medium-size hackathon projects

  • zfs clone --nopromote (Dan K)
  • store total # blocks on disk (of each type, in each ds, etc) (George W)
  • use refcount_t for v_count (fileystem-ey but not ZFS)
  • embedded slog (George W)
  • on-disk map from dataset GUID -> set of object IDs
  • Simplify dbuf_free_range by removing dn_unlisted_l0_blkid (perf testing)
  • scrub specific dataset
  • channel programs! (Alvin)
  • add LZ4HC compression
  • allow receive of -L / -e / -c streams on systems with the required feature flags disabled
  • allow spacemap to represent larger range with one entry (increase entry size)

Simpler hackathon projects

  • break zfs/zpool manpages into one page per subcommand
  • zfs send —current-format
  • “zfs API” subcommand to enumerate software capabilities (e.g. what CLI flags are allowed, when things change (zfs send -nv now outputs to stdout instead of stderr))
  • expose send size estimation from bookmarks through sbin/zfs
  • we should not attempt to write to ZFS while panicking (illumos-specific)
  • more type safety in ZFS: typedef struct { uint64_t doi_id} dmu_object_id_t
  • ::spa -h should show free space histogram for whole pool
  • metaslab size can exceed offset addressable by spacemap

Backlog ideas

  • error counts in per-vdev object
  • scrub on readonly pool (on top of sorted scrub code?)
  • “resilver groups”/“vdev-directed resilver” where additional failure does not cause scrub to restart
  • preferred allocation alignment (george)
  • promote prefetch reads to sync reads
  • runtime lock analyzer (like freebsd WITNESS)
  • test suite for system attributes
  • show clone-origin relationships with zfs list --graph
  • feature flags support for disabling inactive features
  • ZFS should prefer gethrtime() to ddi_get_lbolt()
  • create vdev in syncing context (with sync task)
  • Add interface for creating file with specific recordsize
  • does ::abuf_find still work?
  • make spa_load_impl() always use config from the MOS (except for finding devices)
    • also spa_unload() would have to be made more airtight
  • JSON command output
  • zfs help command
  • zfs set print usage message specific to property you're trying to set
  • make zfs recv less trusting
  • convert some AVL trees to b-trees or hash tables
  • cross platform xattr

A huge THANK YOU to the sponsors of the 2015 OpenZFS Developer Summit:

Beer Bash

ClusterHQ-logo 1A---FC-w-strap-black-1360x568.png

Platinum

Delphix logo.png GitHub Logo.png New hac logo.jpg
Nexenta-GL-logo-tagline.jpg OsNexus.png OmniTI-logo.jpeg

Gold

RGB iXsystems Logo 2015 OnLight M.png Syneto-logo-Sept14.svg

Silver

Storiant.png Datto logo 7692 cmyk.png Logo freebsdfoundation.png RackTop-Systems.jpg

Bronze

OVH-baseline-bichro-H256.png

Special thanks:

  • Hackathon prizes - Thank you Nexenta!
  • Conference branding, t-shirt and banner design - Thank you Aaron Holding!
  • Design and creation of conference badges - Thank you Syneto!

Harassment Policy

OpenZFS Developer Summit is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age or religion. We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue, including talks. Conference participants violating these rules may be sanctioned or expelled from the conference at the discretion of the conference organizers.

For information about last year's event, see the OpenZFS Developer Summit 2014 page.