Latest revision |
Your text |
Line 1: |
Line 1: |
− | There was a containers mini-summit at the [http://www.linuxsymposium.org/2008/ OLS'08]. This page served for organizing this event. | + | There will be a containers mini-summit at the [http://www.linuxsymposium.org/2008/ OLS'08]. This page is for organizing this mini-summit. Feel free to edit. |
| | | |
− | '''When''': 22nd of July 2008, 8:30-16:30<br/> | + | '''When''': 21st or 22nd of July 2008<br/> |
− | '''Where''': Ottawa, ON, Canada, Novotel Hotel (Albion A). | + | '''Where''': Ottawa, ON, Canada. |
− | | |
− | == Notes ==
| |
− | | |
− | For the notes from the mini-summit, '''see [[Containers/Mini-summit 2008 notes]].'''
| |
| | | |
| == Proposal == | | == Proposal == |
| | | |
− | The mini-summit proposal sent to OLS organizers; '''see [[/Proposal|proposal]]'''. | + | The mini-summit proposal sent to OLS organizers. See [[/Proposal|proposal]]. |
| | | |
| == Topics to discuss == | | == Topics to discuss == |
Line 28: |
Line 24: |
| <!-- Put this in three columns if browser is smart enough --> | | <!-- Put this in three columns if browser is smart enough --> |
| <div style="-moz-column-count:3; -webkit-column-count:3; column-count:3; text-align: left; background: #fefef0; border: 1px solid #ddddc0;"> | | <div style="-moz-column-count:3; -webkit-column-count:3; column-count:3; text-align: left; background: #fefef0; border: 1px solid #ddddc0;"> |
| + | # Kir Kolyshkin |
| # Pavel Emelyanov | | # Pavel Emelyanov |
| # Denis Lunev | | # Denis Lunev |
Line 33: |
Line 30: |
| # Serge Hallyn | | # Serge Hallyn |
| # Dave Hansen | | # Dave Hansen |
| + | # Cedric Le Goater |
| # Daniel Lezcano | | # Daniel Lezcano |
| # Srivatsa Vaddagiri | | # Srivatsa Vaddagiri |
Line 46: |
Line 44: |
| # Oleg Nesterov | | # Oleg Nesterov |
| # Dhaval Giani | | # Dhaval Giani |
− | # Bart Trojanowski
| |
− | # Joseph Ruscio
| |
− | # Constant Chan
| |
− | # Linda Knippers
| |
− | # Satoshi Uchida
| |
− | # Masahiko Takahashi
| |
− | # Martine Silbermann
| |
− | # Benoit des Ligneris
| |
− | # Patrick Naubert
| |
− | # Daisuke Nishimura
| |
− | # Sudhir Kumar
| |
− | # Munehiro Ikeda
| |
− | # Kamalesh Babulal
| |
− | # John Schulz
| |
− | # Poornima Nayak
| |
− | # Gyuil Cha
| |
− | # YoungHo Kim
| |
− | # Rob Woolley
| |
− | # Daniel Robbins
| |
− | # Jason Baron
| |
− | # Subrata Modak
| |
− | # Veerendra C
| |
− | # Joe MacDonald
| |
− | # Andrew Theurer
| |
− | # Myron Stowe
| |
− | # Peter Teoh
| |
− | # Ricky Liang
| |
| </div> | | </div> |
| | | |
| == Agenda == | | == Agenda == |
| | | |
− | * Namespaces/Containers (8:30am-11am) | + | * Namespaces/Containers |
− | ** sysfs issues (and any /proc issues)
| |
− | *** uevents/hotplug
| |
− | ** Network namespaces issues
| |
− | *** multiple namespaces in one process
| |
− | ** Device namespace design?
| |
− | ** User namespace
| |
| ** Additional needed namespaces | | ** Additional needed namespaces |
| *** Small namespaces ''What to do with small subsystem that might need virtualization. E.g. in openvz we have FUSE, binfmt_misc and some other small stuff virtualized. But how to merge it in mainline? Create a separate namespace for each? Mere them into one? How to call this then?'' | | *** Small namespaces ''What to do with small subsystem that might need virtualization. E.g. in openvz we have FUSE, binfmt_misc and some other small stuff virtualized. But how to merge it in mainline? Create a separate namespace for each? Mere them into one? How to call this then?'' |
| + | ** Nature of a 'container' — kernel object or userspace fiction |
| + | ** Handling of /proc and /sysfs within containers |
| ** Handling filesystem/namespace synchronization (not sure what the issue is) | | ** Handling filesystem/namespace synchronization (not sure what the issue is) |
− | ** Container design
| + | ** How to enter a container |
− | *** How to enter a container
| + | ** User namespaces? |
− | *** Nature of a 'container' — kernel object or userspace fiction | + | * Cgroups+Resource management |
− | | |
− | * Cgroups+Resource management (11:30-2pm) | |
| ** Cgroup implementation | | ** Cgroup implementation |
− | *** Locking (don't let cgroup_lock() become the BKL)
| |
− | *** Transactional attachment
| |
− | *** "procs" file
| |
− | *** User-space notification API
| |
− | **** Resource counter hit soft/hard limit
| |
− | **** Task entered/left cgroup
| |
− | **** OOM occurred
| |
− | *** Binary statistics API
| |
− | ** Existing cgroups
| |
− | *** Memory (Balbir's NOTE: I would prefer to take some of this discussion to my memory controller BoF on Wednesday. Lets discuss this at the end)
| |
− | **** Supporting over-commit and guarantees
| |
− | **** Soft-limits
| |
− | **** Hierarchical borrowing - in kernel or userspace?
| |
− | **** Per-cgroup refault information?
| |
− | *** Kernel memory
| |
− | *** Device
| |
− | *** Memrlimit
| |
− | **** Some push-back over this - can we give real use cases?
| |
− | *** CPU scheduler
| |
| ** Additional cgroups and their design | | ** Additional cgroups and their design |
− | *** Swap (separate subsystem or merge with memory?) | + | ** Resource management |
− | *** Disk I/O (several proposed designs)
| + | * Checkpoint/Restart |
− | *** Network traffic classification
| + | ** Summary of existing c/r patchsets/designs |
− | *** Freezer
| + | ** How to initiate and synchronize checkpoint/restart |
− | *** Signaller
| + | ** (state of freezer subsystem?) |
− | *** OOM Handler
| + | ** Memory state dump |
− | ** libcg - userspace explotation of control groups/resource management
| + | ** How to dump/fetch data for resource (file, ipc) checkpoint |
− | *** Overview so far
| + | ** How to do restart |
− | *** Is kernel-based reclassification needed?
| |
− | *** Real use-cases
| |
− | *** Future directions
| |
− | | |
− | | |
− | * Checkpoint/Restart (2:30pm-5pm) | |
− | ** Documentation : Look at "See Also" section below | |
− | ** Goals and expectations of this summit
| |
− | *** identify, discuss and (if possible) agree on the general design | |
− | *** identify, discuss and (if possible) agree on the technical points
| |
− | *** decide on priorities for different components (eg. high, medium, low) such that the final outcome is a practical road-map that would keep us busy for (at least) until the next OLS (though the "O" may change ;)
| |
− | ** What are the problems that the linux community can solve with the checkpoint/restart ?
| |
− | ** Preparing the kernel internals | |
− | *** How we implement it without affecting long term maintainability ?
| |
− | *** What are the kernel subsystems, process resources and framework for CR ?
| |
− | *** Which pieces to target first ?
| |
− | | |
− | The following technical points can be discussed during the mini-summit if we have time or later at the OLS.
| |
− | | |
− | ** Checkpointing / Restarting
| |
− | *** Reaching a quescient point - network, processes, aio, avoiding side effects of quiesce/revive
| |
− | *** Checkpoint - signal handler ? syscall ? crfs ? process hierarchy, resource dependencies, system and process resources
| |
− | *** Restarting - New binary format handler ? converting between formats (from older kernel to newer)
| |
− | *** Notification to processes which explicitly wish to be notified about quiesce, checkpoint and restart - container state ? new signals ? | |
− | ** Determining the userspace API - Posix 1003.1m ? | |
− | ** Passing the kernel internal state to/from userspace - coredump like file ? swap per container ? netlinks, CR filesystem ? army of different call for the CR (proc, existing syscalls, ...)
| |
− | ** Hopefully we can continue to discuss in the next days and get a bit of a hackfest going during OLS :) | |
− | | |
− | == Moderators ==
| |
− | | |
− | * Namespaces/containers: Serge Hallyn, Dave Hansen
| |
− | * Cgroups and resource management: Paul Menage, Balbir Singh, Dhaval Giani
| |
− | * Checkpoint/restart: Daniel Lezcano, Oren Laadan
| |
| | | |
| == See also == | | == See also == |
| * http://www.linuxsymposium.org/2008/cfp.php — OLS call for papers | | * http://www.linuxsymposium.org/2008/cfp.php — OLS call for papers |
| * https://lists.linux-foundation.org/pipermail/containers/2008-January/009688.html | | * https://lists.linux-foundation.org/pipermail/containers/2008-January/009688.html |
− | * http://openvz.org/pipermail/devel/2008-July/012891.html
| |
− | * Checkpoint/Restart
| |
− | ** Zap : http://www.ncl.cs.columbia.edu/publications/usenix2007_fordist.pdf
| |
− | ** Metacluster : http://lxc.sourceforge.net/doc/ols2006/lxc-ols2006.pdf
| |
− | ** OpenVZ : [[Checkpointing and live migration]]
| |
− | ** Checkpoint/Restart technology : http://en.wikipedia.org/wiki/Application_checkpointing
| |
− | ** Virtual Servers and Checkpoint/Restart in Mainstream Linux : Sigops document
| |
− | ** Remote fork: http://www.cse.nd.edu/~dthain/courses/classconf/wowsys2004/talks/rfork.pdf
| |
− | ** Vmadump : http://bproc.sourceforge.net/c268.html
| |
− | ** Posix CR : http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi/0650/bks/SGI_Admin/CPR_OG/sgi_html/ch03.html
| |
− | ** An OS services overview : http://sw-eng.falls-church.va.us/itsg/P08V31.htm
| |
| | | |
| [[Category: Containers]] | | [[Category: Containers]] |
| [[Category: Events]] | | [[Category: Events]] |