Intro to FOSDEM
FOSDEM (Free and Open Source Software Developers’ European Meeting) is the European Open Source Conference oriented to Engineers, grouping the Open Source Communities in a University Campus and managed by volunteers. It is an intensive two days conference that, simply, enlightens…
Main Sponsors: RedHat, Google, Oracle, Cisco, Mozilla, Trivago, Bloomberg, GitHib, O’Really
Day 2 Tracks: Java, RDBMS Technologies, Linux Kernel API, Containers, GeoSpatial API
Talk Format: 45 minutes
- “Adoption’s Group cultural Guide to OpenJDK” – Mario Torre, Red Hat. Today’s Java Process is very well regulated. To check in your code and/or patches, you should be following a quite strict process: no one can think to get its code running in the JDK (a critical platform for millions of services out there) without having step through all the phases. The Adoption Group is there to help people get started contributing to the JDK, via the OpenJDK process.
- “Meeting the Governing Board” – Mark Reinhold&Georges Saab, Oracle – Andrew Haley, RedHat – Doug Lea, University of New York. Open Q&A session with the Governing Board of the JDK. Among the key members, there are: Mark Reinhold (Chief Architect of the Java SE platform), Prof. Doug Lea (father of modern Concurrency Management in the JDK) and Andrew Haley (one of the main contributors to the GCJ project, since the early phases and now Tech Lead for the Java SE at RedHat).
- “Improving Postgres’ Buffer Management” – Andres Freund, CitusData. I/O is a well-known bottleneck, and this is more evident in modern architectures. A lot of work is carried out around the Buffer Manager of PostgreSQL to ensure that the current implementation in terms of algorithms and data structures do not affect performances: disks are faster, OS kernels are much more optimized in managing the IO, client code is massively scalable, the only bottleneck can be a 10/15 years old design. A bunch of proposals are given: Hash Maps are not memory friendly since they do not satisfy spatial locality principles, maybe a Tree of Radix Tree can be a better solution to store indexes for contiguous or not memory pages. Another interesting point raised was concerning the OS kernel ability to further buffer and write behind: PostgreSQL does not write immediately, it buffers, but, in turn, the OS does the same, to there are at least two levels of buffering before to get the disk. The point was: what if we get rid of the OS buffering and write directly on disk, with only 1 increased front end buffer? Well, an inspiring talk with a lot of food for thoughts…
Linux Kernel API
- “The State of Linux Distributions” – Joe Brockmeier, RedHat. An insight out on the current status of the Linux Distributions, in particular about the maturity that they have achieved and what to expect next. A huge dilemma is raised during the talk: today, more and more distros are bundled with Containers supposed to run some applicative service (e.g. a DB like MySQL), but who assures about the packages installed in the distro bundled with the Container itself. In other words, what about the security of the Containerized Applications? Of course, modern applications cannot be packaged into a simple RPM or DEB package, a solution is needed but such solution should ensure, in some way, some sort of security.
- “How to design a Linux Kernel API” – Micahel Kerrisk, man7.org. An inspiring talk on how to build effective API that can stay a couple of decades without any maintenance. The proposed approach is simple: design before to write any code, implement carefully and test. It is suggested, ah the end of the cycle, to build a real world application using the coded API to understand whether they are easy to use or not. Emphasis is given to the design phase: a critical one that if not properly implemented can have serious consequences, in terms of usability and maintenance – a bunch of relevant examples from the Linux Kernel were provided.
- “How Containers work in Linux” – James Bottomley, Odin. A really inspiring talk about Linux Containers. The Container concept was given in a clear voice, and as a follow-up Linux Cgroups and Namespaces have been described in terms of their own API. A practical session showing up how to deal with Cgroups and Namespaces was enriching and giving value to the talk: the speaker was able to involve the audience by providing simply but effective examples of how to use the virtualization capabilities of a modern Linux Kernel. Even if introductory, this was a good opportunity to refresh and get to the point: Containers are the present, but even the future of modern, scalable and elastic architectures.
- “Putting 8 million people on a Map” – Blake Girardot. This was mostly an overview of the Humanitarian Open Street Map project, able to recruit 8 million people around the world to map the real world things within a raw map (at least, initially). A very important effort that it is bringing value from the collaboration of people around the world, supported by a GIS platform entirely developed with Open Source Technologies, and aiming at providing a trustable source of geospatial information for any crisis management – and not only.
- “Implementing a p2p system for real-time applications” – Adrien Béraud, Savoir-Faire Linux. OpenDHT is an open source project providing a rich set of API to build up distributed p2p network on top of a distribute hash map. The implementation is in C++ and is backing a product: Ring. Basically, Ring is a real-time streaming platform for video conferences and file sharing that runs on top of a p2p network built dynamically, without any centralized node. An interesting project for its outcome and the problem set solved on the field.