http://wiki.openvz.org/Containers/Mini-summit_2008
Containers/Mini-summit 2008
From OpenVZ Wiki
There was a containers mini-summit at the OLS'08.
This page served for organizing this event.
When: 22nd of July 2008, 8:30-16:30
Where: Ottawa, ON, Canada, Novotel Hotel (Albion A).
Notes
For the notes from the mini-summit, see Containers/Mini-summit 2008
notes.
Proposal
The mini-summit proposal sent to OLS organizers; see proposal.
Topics to discuss
- Device accessibility cgroup (maybe with remap ability)
- TTYs
- Syslog
- Checkpoint/restart
- Memory controllers
- more?..
List of attendees
Please fill in your name here if you are going to attend, or email
kir at openvz dot org if you are too lazy. Surely the list is not
final, so put your name even if you are not sure you can make it.
This list is in no particular order.
- Pavel Emelyanov
- Denis Lunev
- Andrey Mirkin
- Serge Hallyn
- Dave Hansen
- Daniel Lezcano
- Srivatsa Vaddagiri
- Balbir Singh
- Sukadev Bhattiprolu
- Paul Menage
- Eric W. Biederman
- Oren Laadan
- Yamamoto Takashi
- Kamezawa Hiroyuki
- Benjamin Thery
- Herbert Pötzl
- Oleg Nesterov
- 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
Agenda
- Namespaces/Containers (8:30am-11am)
- sysfs issues (and any /proc issues)
- Network namespaces issues
- multiple namespaces in one process
- Device namespace design?
- User namespace
- 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?
- Handling filesystem/namespace synchronization (not sure what
the issue is)
- Container design
- How to enter a container
- Nature of a 'container' — kernel object or userspace
fiction
- Cgroups+Resource management (11:30-2pm)
- 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
- Swap (separate subsystem or merge with memory?)
- Disk I/O (several proposed designs)
- Network traffic classification
- Freezer
- Signaller
- OOM Handler
- libcg - userspace explotation of control groups/resource
management
- Overview so far
- 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
|