I once heard that Hypervisors are the living proof of Operating System's incompetence. And if we think about it, OSes should be able to run services alongide with each other peacefully. Isolation should be granted, and excessive resource usage shouldn't be an issue. But because Linux was never able to provide such isolation, people started to span more physical servers to isolate services, and when that started to mean idle capacity, hypervisors kicked in.
I will talk about a sound alternative, Containers, a (being) built-in feature of the Linux Kernel that aims at fixing this by allowing users to create independent services or full-userspaces running ontop of the same Linux Kernel in a constrained way. I will discuss the relevant technologies and the changes needed in the Kernel. Basic knowledge of the main kernel components will help you profit from this talk, but is not mandatory.
At LinuxCon Europe 2011 the LTSI team presented the results of the Yami Nabe research project, where they had studied how much kernels of several Android Gingerbread devices varied and in which areas device manufacturers should better cooperate. The algorithm that was used was quite coarse grained, but showed interesting results nonetheless. Professor Rainer Koschke (Universität Bremen) and I wanted to see if we could do better and get more fine grained results, by applying code clone detection techniques to the original results of the Yami Nabe project. The goal was to zoom in better on problematic areas to see if some of the differences detected by Yami Nabe actually were that significant. In this talk I want to present the methods that we used and the results of our research, explain what we will do in the future to get even better results and discuss how we could possibly turn our methods into a more useful tool for everybody.
The real-time preemption project which aims to provide deterministic response guarantess to the Linux kernel was started eight years ago. A great portion of the development which happened in the context of this project has found its way into the Linux kernel, but there are still a few hard to solve problems left which prevent a full integration of the real-time functionality into the mainline kernel. This talks gives an overview over the solved and remaining problems along with the obligatory "roadmap".
With the progress of server consolidation, we tend to operate important applications (APs) and normal APs in the same server. The important APs need the real-time performance and IO performance strictly. In this presentation, I propose the resource optimized method which predicts I/O throughput and latency with regression analysis and feedback function. I evaluate Linux/cgroups in latency and IO throughput with fio benchmark. This method can optimize the computing resources according to each AP requirement.
Will present our experience and results, for mixed workload management, in a share nothing architecture,large MPP database. We use a driver next to Linux, and the support of CFS and Hard limits to accomplish our goals.We have built a database priority scheduler on top of CFS, using a group hierarchy, flexible enough to satisfy all prioritization needs of complex mixed workloads. We have also used Hard Limits to offer COD and partitioning of the system. This innovative work validates the benefits and extensibility of the CFS as applied in the business world.We will present our results and performance. Our paper fits very well in the suggested topics for the conference: Optimization of Linux in enterprise environments, Case studies on impressive Linux performance in data centers or embedded computing, KernelThe presentation is intended for core developers and IT professionals.
The tutorial will provide a hands-on introduction to FreeIPA - an integrated identity management solution. The FreeIPA project brings together several industry-proven technologies such as LDAP or Kerberos. Easy-to-use installation scripts and both command line and browser-based interfaces make previously complex task of rolling out enterprise identity management easy, scalable and accessible.
We'll demonstrate the installation, setup and several tasks such as user management or establishing a trust setup with an Active Directory domain. We'll also show the advantages of using the SSSD for client machines, like the ability to access identity servers offline.
The tutorial is mainly targeted at system administrators. Rudimentary knowledge of technologies such as LDAP is advantageous, but not required. A VM image based on Fedora 18 will be available for the attendance to experiment easily.
The tutorial will provide a hands-on introduction to FreeIPA - an integrated identity management solution. The FreeIPA project brings together several industry-proven technologies such as LDAP or Kerberos. Easy-to-use installation scripts and both command line and browser-based interfaces make previously complex task of rolling out enterprise identity management easy, scalable and accessible.
We'll demonstrate the installation, setup and several tasks such as user management or establishing a trust setup with an Active Directory domain. We'll also show the advantages of using the SSSD for client machines, like the ability to access identity servers offline.
The tutorial is mainly targeted at system administrators. Rudimentary knowledge of technologies such as LDAP is advantageous, but not required. A VM image based on Fedora 18 will be available for the attendance to experiment easily.
This presentation will discuss the various new challenges that modern network support brings into embedded and consumer products running Linux.
SSD devices promise a lot - very high random IO rates, high performance streaming IO and different failure modes than traditional storage. SSD devices are still considerably more expensive than traditional storage, so multiple projects have worked to use SSD's as a cache for cheaper and denser traditional storage.
This panel will have developers from several SSD caching projects - file system, device mapper and device driver level caching.
Checkpoint/restore is a feature that allows to freeze a set of running processes and save their complete state. This state can later be restored, so the processes resume exactly the way they were running before. This feature opens a set of possibilities, such as live migration, fast start of a huge process, or kernel upgrade without service interruption.
While such functionality exists as out-of-tree projects, many attempts to merge it upstream had failed, mostly for the code complexity reasons. We found a way to overcome this by implementing most of the required pieces in userspace, using the existing kernel APIs and extending those if necessary. This is what Checkpoint and Restore in Userspace (aka CRIU) project is about.
The talk is about the current state of the project, and is mostly focused on the recent upstream kernel changes and the abilities of the CRIU userspace tool.
Dynamic partitioning means that we can dynamically hot add/remove physical CPU/memory/IO devices during runtime. Currently, some servers have started to support the hot addition and removal of physical devices. But the Linux kernel is not currently supporting some of the functions required for dynamic partitioning. In this session, Ishimatsu-san will discuss the current state, issues and future expectations.
MariaDB had its first GA release in February 2010 (MariaDB 5.1, based on MySQL 5.1). Since then, we've released MariaDB 5.2 (based on MySQL 5.1), MariaDB 5.3 (based on MySQL 5.1) and MariaDB 5.5 (based on MySQL 5.5 with all features up to MariaDB 5.3). Two years and four major releases with a tonne of major features. Why should you care about it? This is not a talk about the community around MariaDB, but a feature-by-feature blowout as to why you should consider this database.
Expect such a session to be packed with useful features that MariaDB has, and you will soon learn why you might consider migrating to the drop-in replacement to MySQL. Yes, did we mention, its fully backward compatible?
The release of Windows-8 is imminent, meaning that secure boot now becomes a reality Linux must deal with. This talk will detail what secure boot is, how it works, how Linux people have been interacting with Microsoft and the UEFI forum to make sure the present incarnation of Secure Boot is compatible with all the Linux Licensing requirements. We will also explain how the problem divides into two pieces: that of simply ensuring that Linux continues to boot on modern hardware and that of trying to take advantage of secure boot to enhance the security of Linux. We will finish with discussion of the four current solutions available today for Secure Boot (the Linux Foundation pre-bootloader, Fedora shim, SUSE MOK and Ubuntu's use of signed grub2).
Random numbers are a critical components of many security systems, however, computer systems are built for predictable behavior and have traditionally not made it easy to obtain random information. Furthermore, problems in random-number-related code are often silent, giving the appearance of correct behavior while actually containing critical flaws. Linux contains a sophisticated system to make randomness available to the kernel and applications, but it has limitations. This talk will examine the applications of random numbers, the Linux random number subsystems, how to correctly write an application that requires random numbers, and how to configure a system to avoid random-number-related security or performance problems.
This talk is targeted at applications developers and systems administrators. General knowledge of Linux system interfaces and services is expected.
The Linux kernel code is robust, but even the best kernel hackers are only human and make mistakes. So, while kernel crashes are rare, they can occur and are unpleasant events. To find the cause of such crashes, kernel dumps containing the crashed system state are often the only available approach. Because mainframes traditionally run mission critical workloads, there is a particular big focus on the serviceability of the platform. Customers expect that all problems are solved in a short time. Therefore, when Linux was ported to s390 beginning of 2000, IBM also provided a reliable kernel dump mechanism. This was about five years before kdump was integrated into the upstream Linux kernel. In some areas, kdump offers advantages over the traditional s390 dump methods. Therefore, in 2011, kdump was ported to s390. The code was enriched by specific s390 features and, as much as possible, kdump was integrated into the existing s390 dump infrastructure. This presentation reviews the traditional s390 Linux kernel dump methods, describes the specifics of the s390 kdump port, and explains the integration into the existing s390 dump infrastructure.
This presentation demonstrates how to use Contiguous Memory Allocator in device drivers an how to integrate it with the DMA subsystem. It also describes basic principles of how CMA works. It is aimed at maintainers who wish to add CMA support to their platforms, but should be of interest to device driver authors as well.
The rise of smart phones makes Linux inability to allocate big physically contiguous memory blocks more apparent then ever. The standard allocator is capped at 4 MiB blocks while at the same time a 5 megapixel camera requires 15 MiB of memory. IO MMU and vectored I/O would solve the problem but are not always available and often infer performance penalty. CMA has been designed to solve the problem by migrating pages when big memory buffers are needed. This approach makes permanent memory reservations unnecessary.
This presentation will cover the history of Enlightenment, briefly touching on early releases, describing the early years and trials undergone by the EFL community until the present, and including the work that has been done to prepare for the release. It will also describe the usefulness of a desktop which scales automatically to fit its environment and hardware, including some demonstrations of E17 running on unusual non-PC devices.The talk will be targeted mainly at developers, though a normal user will also understand many topics. Attendees can expect to learn about graphics, hardware, open source workflows, and the life of a long-lived open source community. It is important because it details the creation and release preparation of one of the most awaited pieces of software in Linux history. The presentation will also include an announcement of the actual release date for E17.
Hardware video codecs become more and more common and nowadays most SoCs include such a video coding acceleration module. This presentation describes the path from the early stages of development, through numeorus discussions to the final merge of the Multi Format Codec driver in 3.1 kernel. The quikrs of the MFC device and challenges encountered with the hardware encouraged the expansion of the Video4Linux2 API and introduction of the multiplane framework. Typical video coding steps and their implementation in the Video4Linux2 framework will be presented, both from the end user and driver developer perspective.
FreedomBox is a personal server running a free software operating system and free applications, designed to create and preserve personal privacy by providing a secure platform upon which federated social networks can be constructed. Software for FreedomBox is being assembled by volunteer programmers around the world who believe in Free Software and Free Society, with Bdale coordinating development of a reference implementation on behalf of Eben Moglen's non-profit FreedomBox Foundation.
This talk will provide an update on recent activities, including details of the first public developer's release of our reference implementation.
Grilo makes it easier for application developers to access online multimedia content from many different sources, removing the need to implement an interface to each content source type.Grilo is a framework that provides:
This talk is targeted at developers with an interest in multimedia and in retrieving remote and local content homogeneously. Attendees can expect to learn what is Grilo and how it can be used and extended. The presentation aims to be useful to the community by allowing developers to join forces in the work needed to access remote multimedia content.
There have been many developments recently in the Linux tracing area. The tracing infrastructure in the kernel is getting more robust, with the recent introduction of uprobes to allow the implementation of user space tracing, and new features of perf. There are many tracing tools to choose from, including the newest kid on the block, DTrace for Linux. This talk will take the audience through the main tracing facilities available today whether more tightly integrated with the kernel code, or maintained stand alone.
The Bluetooth technology is considered commodity these days. BlueZ is deployed in many commercial products, but it hasn't been adopted in the automotive industry yet. In these first efforts to do so, certain domain-specific problems need to be addressed, first of all in terms of API completion and validation. Overall the gap between BlueZ and the UI application needs to be closed.In this presentation we will introduce our approach to solve this and an overview of our ongoing activities in the area of Bluetooth Telephony. Existing Open Source components and APIs will be presented, along with our architectural proposal for the main automotive-specific use-cases. In addition, we will summarize our experience on collaborating with the community and on contributing code to such projects.
SSDs are becoming more and more commonplace with todays computer. However, some of the characteristics of the SSDs make them not as useful as a general purpose storage devices.So quite some effort and research have been spent in recent years to use the SSD as a caching device. However, developing a caching-only device driver inevitably requires quite some complexity within the driver. Having spent some time for implementing my own caching device driver I've realized that most of the required functionality is similar to what a filesystem already provides. So in this talk I will present a new approach for SSD caching by using a filesystem on the SSD and filesystem notifications via fanotify to maintain consistency with the underlying filesystem.
In the last several years, real-time extensions for Linux have provided many significant improvements, like the extensions provided by the PREMPT_RT patch. And more recently there has been much attention on "Linux User Space" solutions for multicore devices that enable direct access from user space to underlying hardware often called “bare metal” implementations. But “bare metal” most often means single threaded execution Linux emulation on a single core in a multicore device, and therefore is a special use case. Can there be any other general real-time improvements for multicore based solutions that require multithreading in Linux, i.e. that are not single threaded? Multi-threading via POSIX PTHREADS in Linux is the time tested method for achieving better real-time performance for more complex and coupled applications within the context of a Linux process. Enea has developed a new light-weight threading model for Linux that unlike PTHREADS, operates entirely in user space, and potentially offers greater than 10x performance over PTHREADS in scheduling latency and inter-thread communications latency. And further, and even compared to PREEMPT_RT, this model shows potentially greater than 10X performance in interrupt latency behavior. This solution is called LWRT – Light-weight Run-time Threading. But real-time means different things to different people, and LWRT does not apply to all. This presentation will:
Bootstrapping a new Debian port of 18,000 source packages is always a massive job, and on average happens every year. This year it's arm64. This talk covers how such a port is done, and the work of the last two years (on multiarch, cross-tools, dependency-anaylsis tools and packaging infrastructure) to make this a repeatable and largely automated process, rather than an epic labour of hackery and bodging. It goes on to cover specific issues of the arm64 port, such as no hardware existing yet, and the current state of play. This talk, whilst providing technical details, will take a fairly high-level view of the bootstrap process. An understanding of dependency, cross-building and packaging terminology will make it easier to follow, but it is intended to be of general interest.
GStreamer is the most popular multimedia framework in Linux, empowering a large number of multimedia applications (from video and music players such as Amarok or Totem, to non-linear video editors like PiTiVi and DNLA serves like Rygel). Android provides an excellent multimedia API for playback and capture, but it can be sometimes limited for developing more complex applications... so why not bring all the power behind GStreamer to application developers in the Android platform? The GStreamer SDK for Android provides all the tools needed to write GStreamer applications and bundle GStreamer and all its plugins in an easy way for developers to create apps that can be distributed in the Android Market.
In this talk we will present all the work done porting GStreamer to Android, like the system plugins written for the platform decoders or the audio and video sinks. We will explain how we managed to bundle GStreamer (with more than 100 shared libraries) into a single shared library that can be easily used by applications and distributed through the Android Market. To finish this talk we will introduce developers in writing applications with the SDK and demo this applications powered by GStreamer on a real device.
OCFS2, Oracle's general-purpose shared-disk cluster file system for Linux has come a long way since its development started in 2003. Distributed under the GPL and part of the mainline Linux Kernel, it is also included in Oracle Linux and plays a vital role in products like Oracle VM, Oracle RAC or E-Business Suite. This presentation will provide a general technical overview as well as an update on the latest developments. Attendees will learn about the features and improvements that set OCFS2 apart from other Linux-based cluster file systems, including:
High availability has become crucial to the success of companies whose products or services run on networks. OpenSAF is an open source community with projects focused on HA middleware using the LGPL v2.1. It is a leading solution in the commercial-off-the-shelf HA middleware industry with adoption by a growing number of telecom, aerospace and defense companies. OpenSAF is closely aligned with Linux, and leverages related projects, such as TIPC and DRDB. It includes the most comprehensive implementation of the Service Availability Forum (SA Forum) services. This session targets developers, CTOâs and product managers providing an overview of the OpenSAF architecture, recent improvements and reviews the overall direction and alignment with other Enterprise class Linux HA projects. The session also covers typical uses cases for OpenSAF and discusses key priorities for the next year.
File systems benchmarks are often run on a system with nothing else is running, and when there is plenty of memory available. Unfortunately,this is often not how file systems are used in many systems --- in particular, in virtualization and/or in ""cloud servers"", were a largenumber of virtual machines or jobs are packed onto a single physical server in order to make the utilization numbers required by a typicalcloud business plan. In this talk I will explore a how ext4 has been improved to improve its performance in memory constrainedenvironments, whether in an OpenStack cloud environment, or in Google's data centers.
This talk is targeted at system architects and people interested in Linux file systems. Some basic understanding of file system and storage technologies is desirable for an audience member to get the most out of the talk, but will not be required.
If there are hierarchical power domains in the system, it may take a relatively long time to resume an I/O device after it has been put into a low-power state. Therefore, to use runtime power management (runtime PM) and keep the system responsive at the same time, one has to specify constraints on the deepest low-power states to put devices into. Such constraints may be provided through the mechanism called Power Management Quality of Service (PM QoS). I will show how it works for I/O devices in the Linux kernel and how the generic power management domains (PM domains) framework uses it to prevent I/O devices from going into deep low-power states when that is not desirable.
The target audience of the talk are kernel developers and people interested in runtime PM of I/O devices. The participants should be familiar with the Linux driver model and the runtime PM core framework.
The Qt toolkit has existed since the mid-90s and has been used for development of many desktop and embedded applications, including the entire KDE desktop and tools such as VLC. In 2011 the Qt Project was established to drive the future development of the project: a true Open Source project with an open governance model, based on the models found in mature open source communities like the Linux kernel and WebKit. The main goal of the project for 2012 is to launch Qt 5.0, the first major version of Qt in 7 years.
The talk will focus on how the Qt Project's community is set up, the interactions between the community members and show how a new-comer can approach the project with their ideas and contributions. The last part of the session will show what the most important features of Qt 5 are. The presenter is a maintainer in the Qt Project and was the lead person behind its creation.
DragonBoardTM is a powerful, feature-rich development board that includes a production-ready module based on Qualcomm SnapdragonTM S4 APQ8060A processor from Intrinsyc. DragonBoard includes a sensor daughter card, RF (WiFi and Bluetooth) daughter card, camera and a touchscreen display. In this introductory session, developers will learn about the functionality of the chipset, DragonBoard and the module. Developers will also learn how to load the DragonBoard with latest Android and Pragmatux (Debian-based) build, install applications, make modifications to kernel and learn more about the available debugging tools and techniques.
Autotest (autotest.github.com) is a framework for fully automated kernel testing, although it works fine for userspace bits as well. In this presentation, we'll discuss the strategies and techniques you can use to deploy a fully automated test farm, with periodic or per-commit test jobs, with bare metal machine provisioning, console control and VM testing. For embedded farms we need a different approach, which will be discussed as well. The presentation consists in slides and a demo using virtual machines on the presenter's laptop.
"git bisect" is a command that is part of the Git distributed version control system. This command enables software users, developers and testers to easily find the commit that introduced a regression. This is done by performing a kind of binary search between a known good and a known bad commit. git bisect supports both a manual and an automated mode. The automated mode uses a test script or command. People are very happy with automated bisection, because it saves them a lot of time, it makes it easy and worthwhile for them to improve their test suite, and overall it efficiently improves software quality.
Testers, developers and advanced users, who have some basic knowledge of version control systems, will learn practical tips, techniques and strategies to efficiently debug software.
DragonBoardTM is a powerful, feature-rich development board that includes a production-ready module based on Qualcomm SnapdragonTM S4 APQ8060A processor from Intrinsyc. DragonBoard includes a sensor daughter card, RF (WiFi and Bluetooth) daughter card, camera and a touchscreen display. In this introductory session, developers will learn about the functionality of the chipset, DragonBoard and the module. Developers will also learn how to load the DragonBoard with latest Android and Pragmatux (Debian-based) build, install applications, make modifications to kernel and learn more about the available debugging tools and techniques.
OpenLDAP's new MDB library is a highly optimized B+tree implementation that is orders of magnitude faster and more efficient than everything else in the software world. Reads scale perfectly linearly across arbitrarily many CPUs with no bottlenecks, and data is returned with zero memcpy's. Writes are on average twenty times faster than commonly available databases such as SQLite. The entire library compiles down to only 32K of object code, allowing it to execute completely inside a typical CPU's L1 cache. Backends for OpenLDAP slapd, Cyrus SASL, Heimdal, SQLite, and OpenDKIM have already been written, with other projects in progress.
The intended audience is developers writing system-level code, working in environments where absolute efficiency is required, such as mobile phones and other embedded devices, and high volume databases.
NoSQL is more than just a trendy Buzzword. It opens new ways towards more rapid development and high performance data storage.
CouchDB is one of the most prominent NoSQL databases. Its many uses stretch from mobile applications in need of light weight embedded databases all the way up to high performance data storage for huge web applications. Beyond its powerful storage capacities, CouchDB provides the means to store and execute CouchApps, which are essentially Web Apps, directly within the database elleiminating the need for an additional layer.
This presentation intoduces CouchDB, its differences to classical SQL databases and gives you an idea of advanced usage including CouchApps.
DragonBoardTM is a powerful, feature-rich development board that includes a production-ready module based on Qualcomm SnapdragonTM S4 APQ8060A processor from Intrinsyc. DragonBoard includes a sensor daughter card, RF (WiFi and Bluetooth) daughter card, camera and a touchscreen display. In this introductory session, developers will learn about the functionality of the chipset, DragonBoard and the module. Developers will also learn how to load the DragonBoard with latest Android and Pragmatux (Debian-based) build, install applications, make modifications to kernel and learn more about the available debugging tools and techniques.