uk: Комп'ютерні науки

description: With the NESi software we aim at simulating certain points of a network. At the Moment we are able to simulate DSLAMs (Digital Subscriber Line Multiplexer) of various vendors including Alcatel, Huawei and KeyMile to name the most popular. The software itself can simulate the vendors OS running on the network-device and allows the user to configure the amount of network cards, the number of ports on said cards and connected CPEs (Customer Premises Equipment). In the OS itself the user is able to change certain values to configure the device. The traffic on ports can be limited and ports can be dis-/ enabled completely allowing the user to simulate a DSLAM. NESi also comes with a handy GUI which allows easier configuration of network-devices. The idea of the software originated from Ilya Etingof, the creator of snmpsim. A python based software to simulate snmp calls to a network-device. In a future release of NESi we are planning on integrating snmpsim into our framework as well.

uk: вхід без авторизації

name: NESi: Network Equipment Simulator: The Network Equipment Simulator


Matteo Biscosi

type: Person

cs: Informatika

de: Informatik

fi: tietojenkäsittelytiede

uk: Комп'ютерні науки

en: Computer Science

fr: Informatique

da: Datalogi

es: Ciencias de la Computación

nl: Informatica

cs: Technické vědy

de: Ingenieurwissenschaften

fi: tekniikka

uk: Інженерія

en: Engineering Sciences

fr: Ingénierie

da: Ingeniørvidenskab

es: Ingeniería

nl: Engineering

description: This talk shows how ntopng, an open source monitoring application, can be profitably used to discover, characterise, classify and enforce network traffic policies. ntopng is an open-source passive traffic monitoring tool based on packet capture. These monitoring capabilities have been complemented with active device discovery for the purpose of characterising them (e.g. is this device a tablet, a TV or a PC?) and thus apply monitoring decisions (e.g. a printer should not do any bittorrent traffic, a router should not print). This talk covers passive and active techniques implemented by ntopng for discovering and classifying network devices. As well it shows how this information is used to create monitoring reports and enforce security policies. Finally the talk shows how selected devices can be both actively and passively monitored in order to implement a comprehensive monitoring solution.

TIB AV-Portal

type: Service

type: WebContent

type: MediaObject

@language: en

cs: přihlášení není vyžadováno

de: keine Anmeldung erforderlich

uk: вхід без авторизації

en: no login required

nl: geen login vereist

name: ntopng network monitoring and discovery: Network discovery with ntopng

FOSDEM VZW

type: Organization

cs: Video

de: Video

fi: Video

uk: Відео

en: Video

fr: Vidéo

da: Video

nl: Video

es: Video


uk: Комп'ютерні науки

description: In March 2021, OpenNMS will celebrate its twenty-first year as a free software project. Much has changed since the early days, both within the project and in the world in which people build and monitor networks. Surprisingly little has changed with respect to the project's mission, even as major changes are happening with the project's corporate steward, The OpenNMS Group. Newcomers will receive a brief background on the OpenNMS project, and longtime users will come up to date with the project's latest advancements and near-term plans. If you're interested in monitoring your networked resources with a free platform that integrates events, metrics, flows, ML-enabled correlation, and more in a multi-protocol, distributed, and fault-tolerant model, this talk might be for you.

uk: вхід без авторизації

name: What's new with OpenNMS: Technology and roadmap update


uk: Комп'ютерні науки

description: Your databases and monitoring are all set up and you've got your MySQL and MongoDB databases figured out - you're monitoring them and everything is fine. You're killing off those occasional monster queries and you have it all in check. But now you've been tasked to keep tabs on that new Cassandra cluster your company has - we'll show you how to incorporate monitoring it into the Percona Monitoring and Management tool and which features enable you to get the best out of any new and existing database you're incorporating. Database problems? Not on your watch. You will also find out how to include other databases into PMM as a handy open source tool you can use to monitor your databases. You're invited to ask questions during this presentation as well as in the Q&A section.

uk: вхід без авторизації

name: What do we want to monitor? All the databases!


uk: Комп'ютерні науки

description: Robotmk: How to extend the monitoring system Checkmk with checks from the user's perspective So you think you are comprehensively monitoring your business-critical applications? Are you using Nagios, Naemon, Icinga2, Checkmk et cetera for this? Then... let me say that, alas, you only rely on a hypothesis, because all these IT infrastructure monitoring tools have their natural limits. Robotmk extends the monitoring capabilities of Checkmk to the application level. It integrates the results of End2End tests done with Robot Framework - which is by far the most popular and versatile tool for automated testing. My talk first covers the basic concepts of Robot Framework and Checkmk. You will learn the added value by RobotMK and the different monitoring strategies it offers. Robot Framework/RobotMK has been chosen as the E2E monitoring solution for the application landscape of the swiss government.

uk: вхід без авторизації

name: RobotMK: Extend Checkmk with Robot Framework E2E tests


uk: Комп'ютерні науки

description: Thola is a new open source tool for reading, monitoring and provisioning (coming soon) network devices written in Go. This talk will inform about the current state of development as well as planned features, including reading out inventory, configuring network devices, support for other monitoring systems like prometheus and many more. It serves as a unified interface for communication with network devices and features a check mode which complies with the monitoring plugins development guidelines and is therefore compatible with Nagios, Icinga, Zabbix, Checkmk, etc.

uk: вхід без авторизації

name: Introducing Thola: A tool for monitoring and provisioning network devices written in Go.


Time Series Service

uk: Комп'ютерні науки

description: This is a lightning talk about an upcoming time series/Influxdb service open source project.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: In this talk, James Curtis, lead developer at OpusVL, will explain the complex compliance challenge faced when working on a variety of projects for different customers, each having overlapping and separate areas of Open Source code. He will explain the approach taken to automating the process by connecting up the software release pipeline through Continuous Integration (CI) tooling to deliver OpenChain compliance reporting. This will cover the path from developer and version control through testing and finally to the hosted container image. The tools and processes will be shared as well as the current state - this is a new subject area so it is constantly being developed, and all based on freely available Open Source components. The development of this process was funded by Innovate UK through the (DITO project)

uk: вхід без авторизації

name: Automating OpenChain with an open source CI pipeline: From code selection through container images to distribution


uk: Комп'ютерні науки

description: Open Compliance Reference Tooling in action. The talk will show the most important building blocks of a working automated Open Source Management pipeline based on Open Source Tools as well as the necessary processes and workflows around the tooling to leverage open component metadata from the community. Based on the OSS Review Toolkit as orchestrator, several Open Source tools (like ScanCode, FOSSology, ...) as well as Open Standards like SPDX and open data-sources like Clearly-Defined may be used to provide an automated end-to-end Open Source Compliance pipeline. From the process side, there are different ways to implement this in different organizational contexts. The talk will provide one reference process for continuous integration and continuous deployment. A short demo will be given to illustrate the advantages and challenges of the approach. As everything is based on Open Source, this approach shall help to support the Open Chain idea to provide a state of the art reference tooling for everyone in the supply chain and thus raise the overall Open Source Management maturity.

uk: вхід без авторизації

name: Open Compliance Reference Tooling: Leveraging Open Source Tools for Open Source Management


uk: Комп'ютерні науки

description: OpenHarmony is a new operating system stewarded by Huawei's Open Source Technology Center, with Array as advisor. Having prioritized compliance, governance and transparency, OpenChain was the natural backdrop for it. Rather than embracing open source only to exploit it, having transparency and compliance as a last minute afterthought, OSTC has made them central pillars from the very beginning. We seek the opportunity to present you how the goal of OpenChain conformance helped. Born as an internal project, since its conception OpenHarmony's future has been to live in an independent, respected foundation that will receive all the tool for keeping it a truly community-driven operating system. The tools that Will be donated do include a compliance toolchain with source code scanning, compliance policy documents and roles, a Bill of Material for the initial release and many other artifacts to make it sure compliance is not a one-off exercise, but an ongoing commitment for the entire life of the project. Full conformance with Openchain is projected in a short-term future and it is surely a motivation to start with the right steps and making the right choice off the very beginning of the project.

uk: вхід без авторизації

name: OpenHarmony, an operating sytem with OpenChain in mind: Legal compliance and Openchain conformance for a new operating system. Challenges and lessons


uk: Комп'ютерні науки

description: Openchain is a comprehensive set of requirements allowing to cope with the open source compliance challenge. Recently it even has been accepted as ISO standard. However, compliance in todays world is not possible without tool support. To get a grip on the different tools, understand what they can do and where their limitations are, the OC tooling workgroup decided to develop a capability model. This model outlines all required capabilities to cope with the open source challenge and allows to map the functionality of tools. Thus the model can be seen as a map through the djungle of tools. In this talk, Jan will introduce the model as well as briefly outline the most relevant capabilities. Links to further resources as well as first maps will be provided. Open Source Compliance (OSC) is not a might anymore. It is part of good manufacturing practise. Since manufacturing and software grow closer, the insight that not only the Software Bill of Materials (SBOMs) become essential for maintainability and security of software but also the legal documentation can't be seen as a once printed and never read paperwork anymore. The acceptance of CI/CD as development best practise and the ever growing amount of components used from open source stacks and their imminent dependencies prevent further manual delivery of compliance artefacts. But what is required to cope with that challenge? Where do you have to put your efforts in? Which tools are the right tools to check for your purpose? To help you answer these questions, the Capability model has been designed. This talk introduces the motivation as well as the basic aspects of the model without going into details. Guiding thoughts and ideas will be transported as well as links for further studies will be provided. Finally the talk will conclude with a few mapping samples and an outlook in which directions the work will proceed.

uk: вхід без авторизації

name: Open Source Tooling Chain Capability Map


uk: Комп'ютерні науки

description: A short overview of the OpenChain project, its purpose, goals and the current state We will introduce the project, its current state, especially the ISO adoption, give a short overview of the requirements and link to the different certification schemes. Finally we will expose the working procedures and link the international working groups.

uk: вхід без авторизації

name: Openchain overview: ISO/IEC 5230 Open Source License Compliance


uk: Комп'ютерні науки

description: Why is it so hard to detect the licensing and copyright information of source code? Because it is a tedious and often confusing task for developers to provide this information. The REUSE project changes that! With three simple steps, it makes adding and reading licensing and copyright information easy for both humans and machines. This presentation will guide you through the REUSE best practices and presents how to make clear licensing simple. In 2017, the FSFE started the REUSE initiative. The main goal is to make it easier for developers to declare the licensing and copyright situation for their code. Especially in common scenarios where a repository contains code from various sources under different licenses with multiple copyright holders, it often becomes complex for everyone who wants to legally reuse code. Therefore, REUSE provides best practices that aim to be compatible with already existing recommendations and still cover also complex projects and their edge cases. The result is that for a REUSE compatible repository, every single file in some way carries information about its license and copyright holder(s), with the full license text(s) available. To make adoption as easy as possible, REUSE offers tools and accompanying documentation. Thanks to this, we already see hundreds of projects being REUSE compliant already. The more projects follow the best practices, the easier developers can reuse their code safely and thereby contribute to a system in which you do not need a lawyer to license your code.

uk: вхід без авторизації

name: REUSE: Best practices for declaring copyright and licenses


uk: Комп'ютерні науки

description: Foojay is all about the community helping to take Java forward, so as an attendee of the Friends of OpenJDK FOSDEM devroom you are already on your way towards making the Java community better! But what can we all encourage our friends and colleagues to do in order to make the Java community more vibrant, active, and welcoming. In this presentation, you will learn all of the insider secrets on how to support the worldwide community of 12 million Java developers.

uk: вхід без авторизації

name: 10 Ways Everyone Can Support the Java Community


uk: Комп'ютерні науки

description: Docker is the most widely used way to containerize your application. With Docker Hub, it is easy to create and pull pre-created images. This is very convenient as you can use these images from Docker Hub to quickly build an image for your Java application. However, the naive way of creating custom Docker images for your Java applications comes with many security concerns. So, how do we make security an essential part of Docker images for Java?

uk: вхід без авторизації

name: 5 Tips to Create Secure Docker Containers for Java Developers


Alpine Musl Containers: Now Upstream

uk: Комп'ютерні науки

description: Container images based on Alpine Linux have been around for some time. You can calculate the real cost savings from using small containers, which we will do. And now it's time to have them as an official flavor of Java Runtime with new JEP 386: Alpine Linux Port. The new port has its own subtleties, which we will consider in the context of microservices development. BellSoft is the company behind JEP 386 and we would like to share our work in the OpenJDK community. We have long been providing Liberica JDK Docker images on top of Alpine Linux. It really helps our users and therefore remains the most popular choice.

uk: вхід без авторизації


Bach Builds (on(ly)) Java Modules

uk: Комп'ютерні науки

description: Java build tools were developed before Java modules were around -- Bach builds (on(ly)) Java modules! The JDK contains a set of foundation tools 1 but none of them guides developers from processing Java source files into shippable products: be it a reusable modular JAR file with its API documentation or an entire custom (soon static 2) runtime image. There exists an implicit workflow encoded in the available options of the foundation tools. The (binary) output of one tool is the input of one or more tools. With the introduction of modules in Java 9 some structural parts of that workflow got a) promoted into the language itself and b) resulted in explicit module-related tool options. These structural information, encoded explicitly by developers in Java's module descriptors, can be used as basic building blocks when describing a modular Java project. I think of it as a "project-info.java" file -- which I don't propose to introduce (as a part of the language) -- but it helps to transport the basic idea.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Java Byte code is OS independent, which means that your application's startup takes more time than a native image. Using the Class Data Sharing functionality introduced in more recent versions of the JVM, you can prepare your application so that it will load very fast. In this presentation, I'll go into more detail what Class Data Sharing is and how you can use it on an OpenJDK versions. With some Jakarta EE demo applications, you will see gains that you can achieve and reduce memory footprint a lot in Docker containers by sharing memory.

uk: вхід без авторизації

name: How Class Data Sharing Can Speed up Your Application Startup


uk: Комп'ютерні науки

description: Are you sure your concurrency code will not fail? Writing concurrent programs is hard. Testing the concurrent program is harder. Debugging the concurrent program is a nightmare. The incorrect concurrent program can run for years, tricking us to believe it is stable code. And then fail spectacularly when we least expect. Why run this risk when OpenJDK provides an amazing tool to test the correctness of your concurrent programs? Meet JCStress. A concurrency stress test tool used by JVM developers to test the correctness of the JVM itself! In this session, you will understand how to use JCStress and how to test your concurrent programs. You will write tests and learn how to deal with different scenarios. Start using JCSTress on your projects today. Eliminate the risk of catastrophic concurrency failures in your Java applications. Test now so you don't have to debug it later.

uk: вхід без авторизації

name: JCStress: Eliminating the Nightmare of Debugging Concurrency Problems


uk: Комп'ютерні науки

description: Most software developers are not also data scientists or machine learning experts. They don't know machine learning workflows, math, data analysis and model building practice, and tricks. Mastering these skills can take months or even years. Learn about the shortcut that can quickly turn a software developer into a deep learning developer: an IDE that guides you in building advanced machine learning models and deploying them into your applications.

uk: вхід без авторизації

name: Deep Learning IDE on top of Apache NetBeans


uk: Комп'ютерні науки

description: At Azul, we have spent some time to create a little API that should help you to discover builds of OpenJDK from different distributions in a general way. In this session, we will give you a short introduction on what the Disco API is and how it can help you finding the JDK/JRE of your choice. At the moment the API can help you getting builds of OpenJDK from the following distributions: AdoptOpenJDK, Corretto, Dragonwell, Liberica, Oracle OpenJDK, SAP Machine, and Zulu.

uk: вхід без авторизації

name: Disco API: OpenJDK Distributions As A Service


Dynamic Proxies in Java

uk: Комп'ютерні науки

description: Java frameworks often need to dynamically create classes. One approach to do that easily in Java is dynamic proxies. In this talk, we will show how they compare to hand-written classes. We will then examine how we can use dynamic proxies to reduce the amount of code that we have to write.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: You can write unit- and integration tests in different ways, though sometimes you need to write higher level tests, such as end-to-end tests, which are often hard to write. This talk will show you examples of how to write end-to-end tests by using JUnit Jupiter Extension mechanism with the support of Testcontainers and, as a foundation, Spring Boot, in a convenient way. By using frameworks like Spring Boot, there is already very good support within the framework to write tests and integration tests but if you have to deploy not on the Cloud (like DC/OS, K8S etc.), you might have issues to create an appropriate test environment. In particular, if you have several participants needed to get your application correctly running. So, based on JUnit Jupiter, Testcontainers, and some Java code, you can write real end-to-end Tests which are very helpful in several ways. It makes it more or less easy to create end-to-end Tests which can be run via your IDE also. There are several aspect which need to be taken care of, like how to synchronise the application and your test code, and so on.

uk: вхід без авторизації

name: JUnit Jupiter Extensions: Writing End to End Tests


uk: Комп'ютерні науки

description: Modern JavaFX provides hardware acceleration support on a range of platforms, including desktop, mobile and embedded, allowing the development of high-performance cross-platform applications. However, to develop games with JavaFX effectively, numerous domain-specific concepts are needed. To address this need, the FXGL game engine extends JavaFX and brings support for real-world game development techniques. These include the entity-component model, A* pathfinding, particle systems, sprite sheet animations, and many other features. As a result, JavaFX (including Java and Kotlin) developers can produce games more quickly and more effectively with FXGL.

uk: вхід без авторизації

name: Practical Introduction to FXGL Game Engine


uk: Комп'ютерні науки

description: While a plain Dockerfile gets the job done, there are actually many more ways to containerize your Java app. They come with a couple of pros, and some cons. As “the Cloud” becomes more and more widespread, now is a good time to assess how you can containerize your Java application. I assume you’re able to write a a Dockerfile around the generated JAR. However, each time the application’s code will change, the whole image will need to be rebuilt. If you’re deploying to a local Kubernetes cluster environment, this increases that much the length of the feedback loop. In this demo-based talk, I’ll present different ways to get your Java app in a container: Dockerfile, Jib, and Cloud Native Buildpacks. We will also have a look at what kind of Docker image they generate, how they layer the images, whether those images are compatible with skaffold, etc.

uk: вхід без авторизації

name: A Hitchhiker's Tour to Containerizing a Java application


Jakarta EE 9 and Beyond

uk: Комп'ютерні науки

description: Jakarta EE 9 lowers the barriers of entry, ease migration, and lays a foundation for future innovation. Jakarta EE 9 is out! This is the second release of Jakarta EE since the transition from the Java Community Process (JCP) to the Eclipse Foundation. In this session, I will go through what Jakarta EE 9 brings to the table and how this release lowers the barriers of entry, eases migration, and lays the foundation for a platform for future innovation. We will also look ahead to what future releases may bring. The session includes a demo including converting from the javax. to jakarta. namespace as well as looking at available implementations.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Jakarta EE 8 has been delivered and Jakarta EE 9 is well on the way. This is a perfect time to begin exploring the horizons of Jakarta EE 10 and how you can help make it reality. We will guide you on how to begin contributing towards Jakarta EE 10. We will cover ways of contributing, what paperwork is needed as well as the likely possibilities for Jakarta EE 10 including high level themes, platform level changes and some detailed features. Some technologies that might change include Jakarta Security, Concurrency, Messaging, Persistence, REST, Batch and Faces. New APIs that could be added include Jakarta NoSQL, MVC and Configuration. We will talk about non-specification projects such as the Tutorial and Samples.

uk: вхід без авторизації

name: Contributors Guide to the Jakarta EE 10 Galaxy


uk: Комп'ютерні науки

description: This is a quick tour of advanced topics on how I created a sci-fi looking World Clock application using zero (NO) 3rd party Java library dependencies (Just pure Java). The advance topics you'll get to explore are the following: - Animation - WebView - Custom UI styling - Scene Builder tool - Jlink - Integration of external Weather & Map Service APIs

uk: вхід без авторизації

name: Creating a JavaFX World Clock App from Scratch


The Java Version Almanac

uk: Комп'ютерні науки

description: Even though it is 25 years old, Java is still a modern and one of the most used programming languages. For this, the language, the APIs, and the runtime have been dramatically improved over the years. As a Java developer since the early 1.0 days, the presenter has collected extensive information over the years and has finally put it together on the Java Version Almanac website. In this session, we take a look behind the scenes of the Java Version Almanac and touch on some trivia about the history and future of Java.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: The JDK Flight Recorder (JFR) was open sourced with JDK 11, and was subsequently back-ported to JDK 8u262. JFR allows for always-on production time profiling, with little overhead and with a rich set of data. This talk will discuss things to consider when using JFR to profile hundreds of thousands of JVMs in mission critical systems all over the world. We will discuss trade-offs, limits, work-arounds and insights we’ve learnt as we’ve developed the Java profiling capabilities at Datadog.

uk: вхід без авторизації

name: Real World JFR: Experiences Using JFR Outside the Ivory Tower


uk: Комп'ютерні науки

description: Jib is a Java containerizer from Google that lets Java developers build containers using build tools like Maven and Gradle. Containerizing Java applications is not a trivial task and also there is a learning curve involved as you have to get yourself familiar with tool-specific commands etc. I can say from personal experience that not all Java developers are container experts. For example, first, you should have docker installed and then you have to maintain a Dockerfile. Then over a period of time, the image size grows and you start trying things like multi-stage builds to reduce your image size and have only required dependency for your application. A developer ideally should not be worrying about these things. With Jib, you don't deal with such complexities and you just have to add a plugin to your build tool Maven or Gradle and you are good to go. It takes care of your image building and pushing to the container registry.

uk: вхід без авторизації

name: Containerizing Spring Boot Applications with Jib


Getting the Most from Modern Java

uk: Комп'ютерні науки

description: Java is changing faster than ever with new features being added every six months. Despite being over 25 years old, Java is still adapting to ensure it remains one of the most popular platforms on the planet. Find out in this session how to take advantage of many of these exciting new features. With the release of JDK 16, we will have had eight (yes eight!) versions of Java in less than four years. We still hear claims that Java is the new COBOL, and its popularity is in decline. The reality, however, is that Java developers are now being provided with new features at a faster pace than at any time in its 25-year history. Many of these new features provide exciting new language level changes, as well as useful new APIs. In this session, we’ll explore in detail what these changes are and how best to use them (as well as advice on when not to use them). We’ll also explain the significance of preview features and incubator modules.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: The JavaFX API's allow Java developers to create Java applications with a user interface. The JavaFX code (API's and implementations) is developed in the OpenJFX project, under the OpenJDK umbrella. JavaFX brings the cross-platform paradigm of Java to user interfaces (UI). A UI created with JavaFX can be rendered on different desktop or laptop systems, but also on mobile devices (iOS/Android) and embedded devices. In this session, we will give an overview of the structure and the capabilities of JavaFX. We will also explain how the development process is organised. We will show demos explaining how the code is integrated with IDE's, and we will discuss features that are currently on the roadmap.

uk: вхід без авторизації

name: Cross-Platform User Interface Development in Java with OpenJFX


uk: Комп'ютерні науки

description: SDKMAN is the Software Development Kit Manager. It is fast becoming the defacto standard for installing JDKs and other JVM related SDKs on the CLI. It's a Free and Open Source tool with the primary purpose to making developers' lives less painful! This talk will begin with a demo of how SDKMAN can be used in your daily workflow. We will show you how to install multiple Candidate Versions side by side and how to switch between them. We will also look at some of the other functionalities that it offers. We will then take a peek under the hood and see how SDKMAN works both in the CLI as well as the serverside backend. Finally, we will take a look at other aspects of what SDKMAN brings, including Vendoring, Community Contribution and Future plans.

uk: вхід без авторизації

name: It's a Bird, It's a Plane, It's SDKMAN: Software Development Kit Manager


uk: Комп'ютерні науки

description: In late 2020 the GitOps Working Group was formed under the App Delivery SIG of the CNCF. The goal for the WG is to “provide companies and individuals with the skills, knowledge and competency to implement GitOps tooling and methodologies which simplify the operation and management of infrastructure and cloud native applications.” Within days of the announcement more than 60 individuals from more the 30 companies expressed an interest in participating and the working group was launched. The group is meeting these goals through content creation and evangelism – white papers, blog posts, sample applications, demonstrations and more. In this session we will present work done to date with a primary focus on the foundational principles of GitOps and the benefits that practitioners are already realizing. The aim of the session is both to help the interested understand the fundamentals of GitOps and know where to go to engage.

uk: вхід без авторизації

name: Cloud Native: Computing Foundation: GitOps Working Group - Overview and Invitation


uk: Комп'ютерні науки

description: Many organizations are using Gitlab as a code repository and wondering too late how to establish CI pipelines. ChatOps, automatic merging, cloud-native, webhook event triggers, serverless, job reusability, scalability, bot-users, simplicity are often on the wishlist. In this showcase we will fulfill the above wishlist with open source tools, speak about the issues that we overcame and demonstrate how to use Gitlab as a pure code repository.

uk: вхід без авторизації

name: CI on Gitlab. Bringing Gitlab, Tekton and Prow together (with some magic)


uk: Комп'ютерні науки

description: Cerberus, in reference to the Greek mythology of the three-headed god, guardian of Hell, was the name given to the internal testing automation solution we decided to build internally in 2011. At that time, the ecosystem of existing solutions, being commercial or open source, was not fulfilling our requirements for end-to-end functional testing. In this article we will explain how our internal solution evolved from a Proof of Concept to a broader deploy in other major companies, to perform Continuous Delivery, Continuous Testing and Monitoring at scale.

uk: вхід без авторизації

name: Daily Deploys with 6500+ Automated Tests powered by Open Source


uk: Комп'ютерні науки

description: KernelCI has now been a Linux Foundation project for just over a year. During that time, it has set the basis needed to fulfil its mission of being the de facto upstream kernel test system. We can now build many more kernels, run many more tests and collate results from many more test labs. We also have a growing team of core contributors, an on-going commitment from our member companies as well as more presence in the kernel community. Together, we are gathering the momentum needed to start a trend. Now we need to make KernelCI a natural part of upstream kernel development and realise its true potential. The Community Survey in June 2020 showed there is great value and interest in having a more test-driven workflow. While this is going to be a long-term goal, we already have a process to let the community shape the KernelCI tools according to their own needs. This talk gives an overview of how it would work, essentially by allowing decisions to be based on feedback from the whole ecosystem (developers, maintainers, OEMs...).

uk: вхід без авторизації

name: KernelCI has passed the test: The first year as a LF project has been a success. Now it's time to involve a wider community.


uk: Комп'ютерні науки

description: Introduction to the Linux Test Project Fuzzy Sync C library, developed for reproducing data races in the Kernel from user land. Will cover a simple contrived data race, entirely in user land, to demonstrate the basics. Then we will move onto real world examples within the kernel, including when a delay bias is required to ensure a particular chronological order of events. Fuzzy Sync was developed for reproducing Linux kernel bugs, however it may be used to collide events in user land, another kernel or other contexts. No particular kernel features or instrumentation are required. The Linux Test Project is a large test suite for the Linux kernel and POSIX. Most of the tests are stand alone executables which run in user land and interact with some low level kernel interface. Fuzzy Sync is primarily used in regression tests which attempt to reproduce a particular bug. This ensures the bug is not reintroduced and indicates if a patch needs back porting to older kernels.

uk: вхід без авторизації

name: Reliably reproducing kernel data races: From userland with LTP FuzzySync


TDD: seriously, try it !

uk: Комп'ютерні науки

description: Have you heard of TDD? Are you interested or familiar with this practice but have never been able to understand it? In this session I'd like to present the benefits of Test-Driven Development (TDD), explaing how it works and what the benefits are of using it. We will see in a more detailed approach this way of developing software, where our software is always built guided by tests. We will go over some history about TDD, which is the main process we must follow when we work with this mechanic and the rules that surround it. We will also list the main advantages and disadvantages that most developers who practice TDD find and whether the arguments in favour add up to more than those that subtract. Finally, we will review some good habits and practices when applying TDD and see how to do it step by step with a Java code example. At the end of the session, I hope attendees will have a wider understanding of what TDD is, what advantages it brings, why it is interesting to master it and also that you will take with you some tricks and good practices to be able to apply them in your day-to-day life when writing code.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Embedded development is complex enough. By automating repetitive parts during development and employing testing, a lot of time can be saved and human errors avoided. Additionally, embedded development is usually a team effort: scarce hardware must often be shared between developers and sometimes even with automated testing. labgrid is an open source tool for remote control and testing of Embedded Linux Devices in a distributed lab. In this talk the presenter takes a look at how labgrid can be used in your Embedded lab and what labgrid's developers have learned in over three years of using and developing it. At first the presenter takes a closer look at what is actually needed to fully remote-control an Embedded Linux Device: What are the typical interfaces that need to be covered? What remote-control hardware is commercially available? Next the presenter will focus on the labgrid [0] framework. Labgrid is an embedded board control python library, with a focus on testing, development and general automation. After a short overview of the key design-concepts the presenter will discuss labgrid's architecture. This part finishes with a demo of how interactive development with labgrid looks like and how tests are implemented using pytest. The talk will conclude with a lessons-learned with the joy and tears of over three years of active labgrid development and use.

uk: вхід без авторизації

name: About the joy and tears of testing Embedded Devices


Testing VSCode extensions

uk: Комп'ютерні науки

description: Visual Studio Code is an extremely popular editor and has a very rich ecosystem of extensions. However, testing these extensions is rather tricky in practice. Often extensions require external resources which have to be injected into the development environment. Unit tests are quite bad at testing the UI itself, as they require extensive setup code and a lot of mocking (= implementation of the production API in the testing environment that exposes the same interface). Checking the results of them still requires one to manually verify that the UI looks correct. All this combined can easily lead to false-positives and false-negatives. Integration tests on the other hand are not a silver bullet either as they can be rather brittle, slow, lengthy to write, hard to set up while also not being able to cover edge-cases very efficiently. This talk will focus on what we learned while developing the Open Build Service Connector: which testing strategies work, which don't and what tools to use. We will cover some viable approaches to unit testing and the vscode-extension-tester module that we used for integration tests.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: A warm welcome from your devroom managers, practical information, lineup and administrivia. Let's make this edition of FOSDEM count!

uk: вхід без авторизації

name: Welcome to Testing and Automation devroom


uk: Комп'ютерні науки

description: Cloud computing has revolutionized the way we think about IT infrastructure: Another web server? More database capacity? Resources for your artificial intelligence use case? Just spin-up another instance and you are good to go. While most cloud images (e.g., AMIs on Amazon EC2) are meant to run a single service (e.g., nginx), for convenience these tend to be built on top of general-purpose OSes and full distributions, often resulting in GB-sized images that sometimes only need to perform a simple task such as serving static web pages. One of the main contributing factors to this status quo is the myriad kernel inter-dependencies, rendering debloating of a Linux kernel image far from trivial. In this talk we will show results from a proof-of-concept deployment on Amazon EC2 using Unikraft, a fully modular library OS that makes it easy to remove unneeded components, and to optimize the remaining ones. On EC2, a Unikraft nginx image is able to outperform an nginx Debian image by 2x in terms of requests/sec when serving static content, all the while consuming 1/6 of the memory (we will show a brief Unikraft demo). Unikraft is an open source Xen Project incubator under the auspices of the Linux Foundation.

uk: вхід без авторизації

name: Severely Debloating Cloud Images with Unikraft


uk: Комп'ютерні науки

description: KubeVirt enables developers to run Containerized Application and Virtual Machines in a common, shared Kubernetes/OKD/OpenShift environment. An Operator is a method of packaging, deploying and managing a Kubernetes/Openshift application. The Hyperconverged Cluster Operator is an unified operator deploying and controlling KubeVirt and several adjacent operators in a controlled and opinionated way. KubeVirt enables developers to run Containerized Application and Virtual Machines in a common, shared Kubernetes/OKD/OpenShift environment. An Operator is a method of packaging, deploying and managing a Kubernetes/OKD application. The Hyperconverged Cluster Operator is an unified operator deploying and controlling KubeVirt and several adjacent operators such as: - Containerized Data Importer - Scheduling, Scale and Performance - Cluster Network Addons - Node Maintenance - VM Import The Hyperconverged Cluster Operator delivers the domain-specific knowledge needed to orchestrate and automate the deployment and the upgrades of Kubevirt and its sibling operators in an opinionated and managed way. The Hyperconverged Cluster Operator can be installed on bare metal server clusters an a matter of minutes, even from a GUI, without requiring a deep knowledge of Kubernetes internals. The Hyperconverged Cluster Operator can be easily deployed in combination with rook.io to provide cloud native virtualization and distributed self-managing, self-scaling, self-healing storage services on a single cluster. An attendee will learn: - quick intro to KubeVirt technology (virtualization add-on for Kubernetes) - how to deploy and maintain it with the Hyperconverged Cluster Operator (deep-dive) - ongoing development and how to contribute

uk: вхід без авторизації

name: KubeVirt opinionated deployment via Hyperconverged Cluster Operator: How deploy KubeVirt and several adjacent operators with ease


uk: Комп'ютерні науки

description: KubeVirt's architecture is composed of two main components: virt-handler, a trusted DaemonSet, running in each node, which operates as the virtualization agent, and virt-launcher, an untrusted Kubernetes pod encapsulating a single libvirt + qemu process. To reduce the attack surface of the overall solution, the untrusted virt-launcher component should run with as little linux capabilities as possible. The goal of this talk is to explain the journey to get there, and the steps taken to drop CAP NET ADMIN, and CAP NET RAW from the untrusted component. This talk will encompass changes in KubeVirt and Libvirt, and requires some general prior information about networking (dhcp / L2 networking).

uk: вхід без авторизації

name: KubeVirt: privilege dropping one capability at a time


uk: Комп'ютерні науки

description: The debate on how to deploy applications, monoliths or micro services, is in full swing. Part of this discussion relates to how the new paradigm incorporates support for accessing accelerators, e.g. GPUs, FPGAs. That kind of support has been made available to traditional programming models the last couple of decades and its tooling has evolved to be stable and standardized (eg. CUDA, OpenCL/OpenACC, Tensorflow etc.). On the other hand, what does it mean for a highly distributed application instance (i.e. a Serverless deployment) to access an accelerator? Should the function invoked to classify an image, for instance, link against the whole acceleration runtime and program the hardware device itself? It seems quite counter-intuitive to create such bloated functions. Things get more complicated when we consider the low-level layers of the service architecture. To ensure user and data isolation, infrastructure providers employ virtualization techniques. However, generic hardware accelerators are not designed to be shared by multiple untrusted tenants. Current solutions (device passthrough, API-remoting) impose inflexible setups, present security trade-offs and add significant performance overheads. To this end, we introduce vAccel, a lightweight framework to expose hardware acceleration functionality to VM tenants. Our framework is based on a thin runtime system, vAccelRT, which is, essentially, an acceleration API: it offers support for a set of operators that use generic hardware acceleration frameworks to increase performance, such as machine learning and linear algebra operators. vAccelRT abstracts away any hardware/vendor-specific code by employing a modular design where backends implement bindings for popular acceleration frameworks and the frontend exposes a function prototype for each available acceleration function. On top of that, using an optimized paravirtual interface, vAccelRT is exposed to a VM’s user-space, where applications can benefit from hardware acceleration via a simple function call. In this talk we present the design and implementation of vAccel on two KVM VMMs: QEMU and AWS Firecracker. We go through a brief design description and focus on the key aspects of enabling hardware acceleration for machine learning inference for ligthweight VMs both on x86_64 and aarch64 architectures. Our current implementation supports jetson-inference & TensorRT, as well as Google Coral TPU, while facilitating integration with NVIDIA GPUs (CUDA) and Intel Iris GPUs (OpenCL).

uk: вхід без авторизації

name: ML inference acceleration for lightweight VMMs


uk: Комп'ютерні науки

description: Operator SDK is a solid foundation for building robust applications for Kubernetes; one of such applications is the VM import operator allowing Kubernetes administrators to easily import their oVirt-managed virtual machines to KubeVirt. In this talk, the speaker will show how his team used Operator SDK to build the VM import operator and how that operator can be used. The Kubernetes is on a rise and thanks to its capabilities many developers and administrators want to migrate their workloads there, which not always is possible right away or easy to do. VM import operator can help in decomposing any applications previously running in oVirt. If the current deployment doesn’t allow for that, Operator SDK can ease the burden of either migrating existing applications to a new stack or building tools that can allow existing software to run in a completely new environment. The attendees will: - learn basic principles guiding development with OperatorSDK; - learn how VM import operator works; - know how to import their oVirt workloads to Kubernetes, hassle-free.

uk: вхід без авторизації

name: Operator SDK use case: virtual machine import to KubeVirt


uk: Комп'ютерні науки

description: In this session, participants will get an overview of the new oVirt monitoring feature with its data warehouse (DWH) and Grafana, architecture and demo. The session will also cover the option of creating new dashboards based on the oVirt DWH schema. For creating new dashboards, attendees should be familiar with SQL querying.

uk: вхід без авторизації

name: oVirt monitoring with Grafana & advanced options


uk: Комп'ютерні науки

description: OpenNebula has recently incorporated a new supported hypervisor: Firecracker. This next generation virtualization technology was launched by AWS in late 2018 and is designed for secure multi-tenant container-based services. This integration provides an innovative solution to the classic dilemma between using containers—lighter but with weaker security—or Virtual Machines—with strong security but high overhead. Firecracker is an open source technology that makes use of KVM to launch lightweight Virtual Machines—called micro-VMs—for enhanced security, workload isolation, and resource efficiency. It is widely used by AWS as part of their Fargate and Lambda services. Firecracker opens up a whole new world of possibilities as the foundation for serverless offerings that need to deploy containerized critical applications nearly instantly while keeping them in isolation. OpenNebula is a simple, yet robust, open source platform for building Enterprise Clouds and managing Data Center virtualization. Its integration with public cloud providers offers additional flexibility in creating True Hybrid and Edge infrastructures. By incorporating Firecracker, OpenNebula now provides users with a powerful solution for serverless computing and an alternative, native model for secure container orchestration. In this talk we will explain the technical details of this integration and will show a live demo on how to easily deploy and orchestrate a composition of Docker Hub images running as Firecracker microVMs on a distributed bare-metal Edge infrastructure.

uk: вхід без авторизації

name: Serverless Computing with OpenNebula: Running Containers as Firecracker MicroVMs at the Edge


uk: Комп'ютерні науки

description: VM sockets (vsock) enable communication between hosts and VMs. The vsock use cases have grown over the recent years to also cover cloud and containers projects. Andra and Stefano will walk through the details of a set of projects focused on isolation that use vsock as a communication channel. Then they will present debugging tools and further work items for improving and adding new features for vsock. In the last years, many projects have been developed to increase security and isolation in the cloud and containers, such as Kata Containers, Nitro Enclaves, and libkrun. All these projects leverage Linux KVM (Kernel-based virtual machines) to create a more isolated environment. They use VM sockets (vsock) to provide a communication channel between constrained and less constrained worlds, reducing the attack surface. These VM sockets are provided by the AF_VSOCK address family and the virtio-vsock device. They offer a very simple configuration and the possibility to use POSIX sockets to communicate between hosts and VMs. Andra and Stefano will give a brief introduction of AF_VSOCK and virtio-vsock. Then they will illustrate how the projects and features, mentioned at the beginning, use VM sockets. They will present a couple of demos to explain how to use several tools for easier debugging and performance evaluation of vsock. At the end, they will share an overview of a set of new features such as namespaces, multiqueue, and shared memory. These are planned as future work to further grow the ecosystem for virtio-vsock.

uk: вхід без авторизації

name: Leveraging virtio-vsock in the cloud and containers: A communication channel for isolated workloads


uk: Комп'ютерні науки

description: As web developers, we are often used to a wall called "browser/standard issues", which only the browser vendors like Apple, Google and Mozilla can influence. In this presentation, I will share several performance-related projects I've worked on in the last year that allowed companies like WikiMedia and Cloudinary make the browser platform work better for them.

uk: вхід без авторизації

name: What if "browser issues" were our issue?: Crossing the line between web development and browser/standard development


uk: Комп'ютерні науки

description: It's 2021, and we are in a climate emergency. If you're a web professional, you've probably figured out that if the internet runs on electricity, and a lot of electricity comes from burning fossil fuels, there are steps we can take as technologists to make our use of the internet measurably more sustainable, by changing how we use digital infrastructure. In this talk, we'll cover some of the levers available to you as a maker of digital services, and how we can extend open source tools to help design greener, more accessible, more performant websites. We'll show examples from companies you've heard of doing this in production right now, and give clear next steps for those beginning their climate journey.

uk: вхід без авторизації

name: Building a greener web: Patterns and tooling for carbon aware web performance


uk: Комп'ютерні науки

description: Tempesta TLS is an implementation of TLS handshakes for the Linux kernel. Since the kernel already provides symmetric ciphers, we focus on asymmetric cryptography only, elliptic curves in particular. Use used the mbed TLS library as the foundation and almost fully rewrote it to make is x40 faster. During our development we also use parts of WolfSSL library. While WolfSSL outperforms OpenSSL, it uses the same algorithms, which are 5-7 years of old. Tempesta TLS uses newer and more efficient algorithms from the modern cryptography research. While we still improving performance of Tempesta TLS, the implementation already establishes 40-80% more TLS handshakes per second than OpenSSL/Nginx and provides up to x4 lower latency in several tests. This talk covers following topics with plenty of benchmarks: - The fundamentals of elliptic curve computations and the most "hot spots" - Side channel attacks (SCA) and methods to prevent them - How the recent CPU vulnerabilities impact TLS handshakes - Basics of the new fast algorithms used in the Tempesta TLS - The design trade offs in OpenSSL, WolfSSL, mbed TLS, and Tempesta TLS - The funny assembly code with is more straightforward than C

uk: вхід без авторизації

name: Mathematics and development of fast TLS handshakes


uk: Комп'ютерні науки

description: The Firefox Profiler is a profiler that is built into Firefox. It has tighter integration with Firefox than external profilers. With its special annotations on Firefox's source code, it tells you what's happening at a point in time on your JavaScript code. With various measurements, it can provide more information and insight into your web application. During the talk, I will be briefly explaining the profilers, how to capture a good profile and how to analyze the profile data. I will be sharing Firefox Profiler specific features and how to make the best use of them. In the end of the slides, I will be doing a demo on how to analyze a performance problem. A profiler is a tool that monitors the execution of an application and gathers the data about the program execution in that time frame. Using a profiling tool to look at problems can make it a lot easier to figure out what’s going on in the application. It helps you to get detailed information about the execution of your application and it allows you to understand the behavior of it. At Mozilla, we are working hard to make the Firefox Profiler better for web developers. In Firefox, we are replacing the old performance panel inside the Developer Tools with Firefox Profiler so people can fully utilize all the new features that come with Firefox Profiler. We are both happy and excited to share more about this tool!

uk: вхід без авторизації

name: Using the Firefox Profiler for web performance analysis


Making RUM Responsive

uk: Комп'ютерні науки

description: Categorizing device types by desktop, mobile and tablet no longer works in 2021. It is oversimplified, meaningless and likely breaks your current performance analysis on a modern responsive website. As #perfmatters we need meaningful monitoring that takes into account the modern web: - Screen dimensions - Device pixel ratios - Image and CSS breakpoints - Connections Keeping it both simple and meaningful is however not easy! Learn about the different approaches and how to apply this to your existing RUM monitoring solutions: be it free (Google Analytics), open source (Boomerang) or commercial.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: The new QUIC and HTTP/3 protocols are finally here! With their standardization at the IETF almost complete and several mature implementations being deployed, we can start looking into which performance improvements they bring in practice. There's just one problem though: they're quite complex and difficult to test. Using high level tooling like lighthouse might show that they're faster or slower, but rarely why. But problems are there to be solved, and that's what I've been doing for the past 2 years with the qlog and qvis projects. The qlog structured endpoint logging format (https://github.com/quiclog/internet-drafts) is supported by over 70% of all QUIC implementations and allows you to extract low-level protocol information in JSON directly from the client and server. These traces can then be loaded for analysis in different interactive visualizations in our open-source qvis toolsuite (https://qvis.edm.uhasselt.be). This brings an unparalleled opportunity to analyze performance problems and opportunities to the new protocols, as these tools start where the browser devtools end. In this talk, we will explore QUIC and HTTP/3's main performance oriented features, such as 0-RTT connection establishment, advanced congestion and flow control, stream multiplexing and prioritization, and Head-of-Line blocking removal in-depth. We discuss how they are supposed to work, why it's not always that easy in practice, and of course: how to diagnose issues with these features using qlog and qvis. We will use concrete examples of bugs found in major implementations to teach how to interpret the behavior of these new protocols, based on some of our research (https://qlog.edm.uhasselt.be/epiq). We explain how to properly approach testing the new protocols in the future, as great care should be taken in interpreting any results and their root causes. Along the way we debunk some common misconceptions on the protocols and their potential improvements (no, the fact that QUIC runs on top of UDP does not mean it no longer needs congestion control or magically becomes faster, no matter what that Hackernews commenter claims).

uk: вхід без авторизації

name: Analysing QUIC and HTTP/3 traffic with qlog and qvis


WebPageTest: Licensing and Update

uk: Комп'ютерні науки

description: Patrick will discuss the background behind the WebPageTest license change from Apache to Polyform Shield as well as the new features introduced to WebPageTest since the acquisition by Catchpoint.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: WebPageTest is one of the most well known and important tools in the web performance community. It's been actively developed by Pat Meenan since he worked at AOL in 2008. It has become the go to tool for both very simple to very advanced debugging of the web performance of a website. One of its most well known charts is the waterfall chart. In this talk I'm going to introduce the waterfall chart and also go into detail on how you can examine and read it. The more you understand about the chart, the the more WebPageTest as a whole will be able to help you fix a slow performing website.

uk: вхід без авторизації

name: How to read a WebPageTest waterfall chart


uk: Комп'ютерні науки

description: This talk explains how to create an Android app with "only" the Zig toolchain. It still needs the Android SDK to create and sign the APK, but everything else is written in Zig.

uk: вхід без авторизації

name: Create an Android Application with Zig: Some people said, you need Java to create an Android app. They were wrong!


Welcome to the Zig Programming Language

uk: Комп'ютерні науки

description: An introduction to the Zig programming language and the talks that will follow.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: One of Zig's main goals is seamless cross-compilation from any target to any target. This includes macOS and Apple's recent switch from x64 to ARM64 architecture with the introduction of the M1 SoC. This talk will delve deep into the internals of Mach-O linking in ZIg for both x64 and ARM64 targets, discussing new strict requirements the ARM64-version of the XNU kernel places on the binaries such as embedded code signature and inode caching, and how Zig mustered up to address and solve them for fantastic developer experience on macOS. I hope for this talk to deliver on two fronts: 1) to showcase and convince the audience that Zig takes cross-compilation very seriously and is a language worth learning, and 2) demistify Mach-O linking in general. Yet another great strength of Zig is that it is a very readable language, therefore, even though the code examples will be in Zig, it will not hinder anyone's ability to enjoy figuring out the finer points of Mach-O linking on ARM64 aka the Apple Silicon which are language-agnostic. Finally, there naturally will be coding examples interleaved here and there to demonstrate the different linking concepts that the talk will touch upon.

uk: вхід без авторизації

name: Mach-O linker in Zig: linking in the era of Apple Silicon


uk: Комп'ютерні науки

description: I explore how I have eliminated nearly all void pointer casting from the libwayland/wlroots APIs in my Zig bindings without introducing overhead or significantly increasing complexity. This will include a demonstration of how Zig's compile time code execution features make such a task quite straightforward. I will then discuss the experience of updating river, my wayland compositor, to use the bindings over the auto-generated bindings provided by Zig's cImport() feature.

uk: вхід без авторизації

name: Zig: the perfect language for a wayland compositor?: Bringing increased type safety to libwayland and wlroots


uk: Комп'ютерні науки

description: 0 A.D. is a free and open-source game of ancient warfare. It is a real-time strategy game which can compete with the classics of the industry, but comes with absolutely no cost for the players. Come and discover your new favorite game! I'll present a short story about graphics of 0 A. D. Why it requires math and algorithms, why water is the most expensive thing and why the Sun is watching you.

uk: вхід без авторизації

name: 0 A.D.: Graphics Development: "Who said programming is boring?"


25 languages in 25 days

uk: Комп'ютерні науки

description: I did the Advent of Code 2020 with a different programming language every day, so instead of having to visit 25 developer rooms, you can just listen to me for my lightning summary.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: chezmoi helps you manage your personal configuration files (dotfiles) across multiple diverse machines. A single public branch in a single git repo serves as the source of truth, with machine-to-machine differences and integration with your password manager handled with templates. With chezmoi you can set up your personal environment on a new machine with just two short commands, with minimal dependencies. It runs on Linux, macOS, FreeBSD, OpenBSD, and even more esoteric operating systems like Termux and Windows. In this lightning talk we'll dive straight in to getting started with chezmoi, take a quick peek under the hood to see is architecture and technical choices, and compare it with other dotfile managers.

uk: вхід без авторизації

name: chezmoi: manage your dotfiles across multiple, diverse machines, securely.


uk: Комп'ютерні науки

description: There are many things in which software can help grade computer science assignments, since these will consist mainly in executable pieces of code. However, in the same way DevOps will involve teams that code, test and set up infraestructure, ClassOps will have to add teachers to that equation. At any rate, it will imply that teachers will need to lay down in code the requirements of a student assignment (which can be as simple as testing for inclusion of a file or as complex of setting up the infrastructure to probe the code in different ways) and set up CI pipelines to actually test, and give meaningful (and fast!) feedback to the student so that it's included in their learning experience. This (lightning) talk will explain how the speaker set up that kind in infrastructure in Travis and, lately, GitHub actions, and how that resulted as a learning experience for him and his students. For professors, grading is grunt work, and mostly done manually. As such, it's usually limited to the things that can be checked by hand. This eventually results in a very limited understanding of the learning process of students, lengthy grading process and bad learning outcomes for students. The first step is understanding grading as part of the learning process for students: it's simply a chance to give feedback to students so that they can fulfill their learning objectives. This needs to be done frequently and meaningfully. The second step is decoupling grading from your personal appreciation and setting it up as a functional requirement. Joining both things leads to automating grading as much as possible. While I had been using GitHub for turning in assignments for quite some time, I really started using CI pipelines in 2017, initially with Travis, and adding GitHub actions in 2019 when they started to admit people into the beta. They are used alongside each other now, making assignments undergo different kinds of tests, from (mild) plagiarism to, lately, setting up the student environment in a Docker container and run things inside it. The main idea of this talk will be how to pass from concept to (software) test, how the different tests have been set up, and what kind of obstacles have been found along the way. And, of course, if this has resulted in better learning outcomes for students.

uk: вхід без авторизації

name: ClassOps: pre-grading student assignments using CI pipelines


uk: Комп'ютерні науки

description: Starting my contributions as a beginner in tech was an amazing journey and really something worth sharing because I was able to contribute beyond the code by actively helping out other beginners get involved. It took me from submitting talks about including beginners in OSS, making explanatory blog posts, tweeting about OSS, getting involved in onboarding teams to improve the process, and even having one on one calls to help out others get involved. In this talk, I will be sharing my challenges, strategies, and accomplishments so far highlighting my biggest recognitions which is joining the Github Stars program.

uk: вхід без авторизації

name: Contributing beyond Code: My 6 months review: My Open Source achievement


uk: Комп'ютерні науки

description: Imagine: I2P (aka "Darknet"), a highly energy-efficient, new and fully distributed storage engine, some basic banking business logic and a fresh user interface. Result: a highly privacy-respecting, in theory secure, yet very slow, personal bank. Meet diva.exchange - the first non-profit, non-corporate, very-small-tech and research-driven association developing "Free Banking Technology - For Everyone". All licensed under AGPLv3+. The presentation is about the technology stack of the truly distributed free banking technology "DIVA". It's also about the fact that "distributed technology" does not offer anything like a "business model" in the old-fashioned-cloudy way. It's about the overlay network "I2P". It's about the distributed storage engine "Iroha" and the challenges with a very slow network. It's about banking business logic, the user interface and its challenges being fully distributed. And it's about the research co-operations in Switzerland. DIVA is small and local tech for everyone.

uk: вхід без авторизації

name: An I2P-based, fully distributed Bank: Free Banking Technology. For Everyone.


uk: Комп'ютерні науки

description: Etebase is a software development kit and backend for building end-to-end encrypted applications. Think Firebase, but encrypted in a way that only end-users can access their data. This is in contrast to how things are done today where the data is only encrypted while in-transit or at-rest, and is therefore accessible by anyone with access to the server, including service providers, rogue employees, hackers, and malicious governments to name a few. This is not a theoretical threat. We live in an increasingly hostile digital world where out data is used to track, analyze and manipulate us all. With data breaches and privacy violations becoming a common occurrence, it's now more clear than even that our data is not safe. Our goal with Etebase is to make it easy for developers to build encrypted applications, so that everyone's data can be encrypted and safe. Etebase already powers the popular EteSync encrypted applications, and is also used in GNOME (Evolution) and KDE (KDE-PIM) among other projects. There are libraries for Rust, JavaScript (TypeScript), Java/Kotlin, Python, C/C++, and C#, with a few others in the works. Which means you can already use it in a variety of projects. In this talk Tom will introduce the Etebase project, will show developers how to easily build encrypted and privacy respecting applications, and will discuss the project's design goals and future plans. The work on Etebase has been made possible with financial support from NLnet Foundation, courtesy of NGI0 Discovery and the European Commission DG CNECT's Next Generation Internet programme.

uk: вхід без авторизації

name: Etebase - Your End-to-End Encrypted Backend: Building encrypted applications has never been easier


uk: Комп'ютерні науки

description: For historical research and writing, the use of a dedicated tiling window manager and other customizable FOSS tools improves efficiency. With a bit of work, manuscript facsimiles, database query tools, and other items that a historian might need to have opened simultaneously can be sorted exactly how he/she wishes, freeing crucial time from organization for proper analysis. In this presentation, I explain how to optimize a multisource historical research workflow inside a tiling window manager with an entirely libre software toolkit.

uk: вхід без авторизації

name: FOSS for the Professional Historian: Optimizing a Multisouce Historical Research Workflow in BSD or GNU/Linux with a Tiling Window Manager and Manuscripts Galore


uk: Комп'ютерні науки

description: GFXprim is a modular and minimal graphic and widget library written in plain C. The library is very close to fulfilling its goals hence it's time to present it to a wider audience. Since this is supposed to be quick lightning talk I would like to give rough overview of the library, it's modules and implemented functionality.

uk: вхід без авторизації

name: GFXprim library introduction "minimalistic graphic and widget library"


uk: Комп'ютерні науки

description: Git is ubiquitous these days - but it has a pretty steep learning curve! To help people learn how to use it efficiently and intuitively, we're developing an interactive, open-source learning game! It makes heavy use of visualizations, features an (optional) graphical "playing card" interface, and uses real Git repositories under the hood! Storywise, you're a time agent in training, and learn all about how to use your time machine to help people solve their problems. In this talk, we want to introduce you to how the game works, and show you our current progress. We're using the Godot engine, and have a simple, extensible level format based on Bash scripts, which you can use to build your own levels! We want to accomodate both people who are new to Git and the command line, as well as advanced users who are interested in learning more about what's going on under the hood. We'll share what we learned in our playtest sessions, and what's next.

uk: вхід без авторизації

name: Building a Git learning game: A playful approach to version control


uk: Комп'ютерні науки

description: Permissionless blockchain environments necessitate the use of a fast and attack-resilient message propagation protocol for Block and Transaction messages to keep nodes synchronised and avoid forks. We present GossipSub, a gossip-based pubsub protocol, which, in contrast to past pubsub protocols, incorporates resilience against a wide spectrum of attacks. Firstly, GossipSub's mesh construction implements an eager push model keeps the fan-out of the pubsub delivery low and balances excessive bandwidth consumption and fast message propagation throughout the mesh. Secondly, through gossip dissemination, GossipSub realises a lazy-pull model to reach nodes far-away or outside the mesh. Thirdly, through constant observation, nodes maintain a score profile for the peers they are connected to, allowing them to choose the most well-behaved nodes to include in the mesh. Finally, and most importantly, a number of tailor-made mitigation strategies designed specifically for these three components make GossipSub resilient against the most challenging Sybil-based attacks. We test GossipSub in a testbed environment involving more than 5000 VM nodes deployed on AWS and show that it stays immune to all considered attacks. GossipSub is currently being integrated as the main messaging layer protocol in the Filecoin and the Ethereum 2.0 (ETH2.0) blockchains. In this talk we will go through the design details of the GossipSub protocol, discuss it's novel points and present a comprehensive performance evaluation study. The talk will serve as a great forum to answer questions and justify the choice of using GossipSub in two of the biggest blockchain networks, namely the Filecoin and ETH2.0 networks.

uk: вхід без авторизації

name: GossipSub: Secure Message Propagation in the Filecoin Blockchain


uk: Комп'ютерні науки

description: Accessibility considerations for hardware, software and documentation are presented. The presenters are Marcia K Wilbur (developer) and her daughter, Justina Wilbur. Justina was diagnosed several years ago with mixed connective tissue disorder (MS, Lupus, Rheumatoid Arthritis) and has some insights on additional areas for accessibility considerations in software and documentation. Web considerations and recommendations for future tools will be discussed.

uk: вхід без авторизації

name: Accessibility Considerations: Including Everyone - Focus on Accessibility


uk: Комп'ютерні науки

description: With containers being deployed at scale on Kubernetes, there is more than ever the needs of introducing proper Secrets management to address in and out services. While there are dozens of Network related open source projects, there is not much about the art of Secrets and almost none being to be part of the Cloud Native Computing Foundation landscape. This talk provides an overview of the open source state of Secrets management. When deploying containers at scale by the hundreds or thousands, the Secrets management is always one of the most difficult topic to take on. Kubernetes by itself doesn't provide a real secure solution and any other solutions are either a pseudo open source solution calling for budget to move to the Enterprise version or calling for a true mental shift that scares Security Officers. This talk call provides an overview of these projects and concepts, why they are nice but sometimes scary.

uk: вхід без авторизації

name: Secrets or not, but don't clear text.: Current state of secret management within Kubernetes


uk: Комп'ютерні науки

description: Notcurses is a C library (with C++, Python, and Rust wrappers) facilitating complex TUIs on modern terminal emulators. Notcurses supports vivid colors, multimedia via FFmpeg or OIIO, sane multithreading, and complex Unicode. Things can be done with Notcurses that simply can't be done with NCURSES or any other implementation of the X/Open Curses specification. I will present Notcurses's design goals, API, and some details of its implementation, which ought serve as a sufficient grounding for any potential Notcurses developers. Your terminal emulator is more powerful than you have ever dreamed. Notcurses 2.1.0 was released in December 2020, about thirteen months after the repository's first commit. It is available from many Linux distributions, as well as the FreeBSD Ports Collection. It is used by the author's "Growlight" block device manager and "Omphalos" network discover tool, as well as other projects. It aims to be a superset of existing TUI libraries' functionality, while achieving and enabling higher performance. A comprehensive reference, "Hacking the Planet with Notcurses", is available for paperback purchase or free download (Apache-licensed XeLaTeX source is also available). Notcurses has been featured on LWN and at the Debian Gaming Miniconf.

uk: вхід без авторизації

name: Notcurses: blingful TUIs and character graphics


uk: Комп'ютерні науки

description: There is no better place than a university to develop open source software that you can turn into a startup. Along the way you can get (but don't have to) a Ph.D. When the time is right, you can spin out from the university with substantial state funding, which helps you avoid venture capital (and losing equity early). In this talk, I explain how it works (in Germany). I welcome specific proposals, and I am hiring for my existing open source research projects and startups.

uk: вхід без авторизації

name: First Ph.D. then Open Source Startup: How to start an open source business while getting a Ph.D.


uk: Комп'ютерні науки

description: We introduce the concept of a VAA by example of the well-known German "Wahl-O-Mat" and show how to run an election compass for your hometown using the free and open source OpenElectionCompass. A voting advice application is a great way to support elections and democracy as a whole by making the parties or candidates more transparent and comparable. The differences between political parties are often difficult to understand for the voters, especially for first-time voters. To make elections more accessible some countries have started to offer election compasses, or VAAs. Services like these help citizens getting to know the parties or candidates by presenting a carefully chosen collection of political statements. The users and the parties both take position to these statements. Based on this, voters can quickly get a comparison between their own opinions and the positions of the parties. In Germany, this service is implemented by the bpb, the Federal Agency for Civic Education and is called "Wahl-O-Mat". In the Netherlands this concept is called "StemWijzer". Software like this has developed in the early 2000s and evolved ever since. Running such a project offers great value to citizens, the political system and our democracy. It is also very expensive. Implementing an election compass is not only time consuming, but also requires great technical knowledge. Usually, there is no election compass for smaller elections, because hiring software developers is simply out of budget. OpenElectionCompass offers a free alternative – free as in free speech as well as in free beer. The requirements for a voting advice application are very similar, be it for a small or a national election, for an election in Berlin or an election in Brussels. OpenElectionCompass aims to provide a free solution, simple to configure, customize and deploy. By continuously improving our project, we have an advantage over agencies doing this only every few years. And by not developing behind closed doors, we are transparent and open for everyone. This talk will give an introduction to the concept of VAAs and introduce you to the benefits of the OpenElectionCompass to help you run your own voting advice application.

uk: вхід без авторизації

name: Patching Democracy: A (even shorter) introduction to voting advice applications and why we might not need to hack democracy


uk: Комп'ютерні науки

description: Modern deployment workflows extensively employ CI/CD tools for tasks that go from simple testing to automating the creation of container images. Most of these machines have a version of Perl installed; in many cases because it's an essential language used for many tools in the operating system it runs, in some other cases simply because it's there. In most cases, though, its existence is undocumented. In this talk we will make a small introduction to Perl and how it's relevant to 21st century computing, and then we'll show how to put it to good use in environments such as Travis, Github Actions and even Docker Hub. I've been using Perl for more than 25 years, and in fact I started using Travis because it was the only CI/CD tool back then that gave good support to this language. However, over the years I have seen how new tools stopped mentioning it for other languages, notably JavaScript. This meant that, when I needed to write new workflows on base environments, I needed to use shell script and other tools like awk and sed. Which are wonderful tools, but it's almost impossible to be really productive with them. Out of curiosity mainly, I started running uname -v and perl --version over the machines where I was bumping my head against shell scripts, and lo and behold, I discovered that, undocumented, Perl was there. That started a quest for creating pull requests all over the place so that its presence is documented... And also a series of initiatives to actually put it down to use. Baseline is: since Perl is already present in the environments used to run workflows, you can save precious seconds of language installation, and you can actually perform some serious data munging and processing using the base configuration. We will show different examples of this in different environments, and also some ways to speed up even more your workflows to save those precious seconds that are in such short supply in the free tier lately.

uk: вхід без авторизації

name: Perl, the hidden automation gem: On how Perl can be used in almost every CI/CD environment, and you probably didn't know


uk: Комп'ютерні науки

description: The lack of accessible quality healthcare is one of the biggest problems in Africa and other developing countries. This is not only due to the unavailability of resources, but also to the absence of a structured formative process for the design and management of healthcare facilities. This situation strongly contributes to deepening inequalities in access to quality healthcare. Through an Open Society Foundations funded project, the Mboalab aims to remedy these inequalities by building Open-Source devices for medical labs. Local manufacturing can address the infrastructural barriers that prevent imported or donated equipment from being properly used, and can facilitate the diffusion of innovation into healthcare practice. This project is part of the large MboaLab mission to contribute to the Common good and catalyze sustainable local development through Open Science. Open science is the best and fair approach to support local manufacturing. That is why the crux of our approach is the use of “open source hardware”, where designs for easily replicated, high quality diagnostic tools are shared with the potential to transform medical devices through the use of digital fabrication and inexpensive, well-engineered parts from mass-produced consumer goods. During FOSDEM, we will present the different facets of our project: 1) the set of prototypes of high quality and inexpensive open-source devices we are going to build; 2) the capacity and capability building dimension of the project, enabling the empowerment of young cameroonians; 3) Expectations of the project.

uk: вхід без авторизації

name: Local manufacturing of open-source devices for medical labs in Africa: prototyping stage in Cameroon.


uk: Комп'ютерні науки

description: RETURNING retrieves the modified, inserted or deleted values of columns. Without RETURNING, there would be a need to run an extra SELECT query.So, along with many other benefits like triggering actions in your application based on what really gets modified, it helps to avoid a round trip and still gets the same job done! Number of queries running can be important for performance of your application as well. So you can have your cake and eat it too!

uk: вхід без авторизації

name: RETURNING clause ... Have your cake and eat it too!: RETURNING result set in DML statements


uk: Комп'ютерні науки

description: For the past few decades, radio astronomy has been a rapidly developing area of observational astronomy. This is due to the fact that a variety of celestial objects emit electromagnetic radiation at radio wavelengths, which has led to the development of radio telescopes capable of revealing the otherwise-hidden astrophysical properties of the universe. An important requirement that makes radio astronomy observations and analysis possible is an appropriate software pipeline compatible with the spectrometers with which radio observatories are equipped. In this work, we present Virgo: a versatile software solution for radio telescopes. Virgo is an easy-to-use open-source spectrometer and radiometer based on Python and GNU Radio (GR) that is conveniently applicable to any radio telescope working with a GR-supported software-defined radio (SDR). In addition to data acquisition, Virgo also carries out automated analysis of the recorded samples, producing an averaged spectrum, a calibrated spectrum, a dynamic spectrum (waterfall), a time series (power vs time) and a total power distribution plot. By additionally providing the observer with an important set of utilities, Virgo also makes for a great tool for planning (radio) observations. This includes the ability to compute the position of astronomical sources in the sky for a given date, estimate the right ascension and declination given the observer's coordinates along with the altitude and azimuth the telescope is pointing to and convert equatorial to galactic coordinates with the help of the open-source Astropy package.

uk: вхід без авторизації

name: Virgo: A Versatile Spectrometer for Radio Astronomy


uk: Комп'ютерні науки

description: Weaviate is a cloud-native, real-time vector search engine that allows you to bring your machine learning models to scale. During this lightning talk, you will see a demo, unique ML-use cases Weaviate solves and you will learn how you can get started with V1.0.0

uk: вхід без авторизації

name: Weaviate: Updates to the v1.0 of the Weaviate Vector Search Engine


The Democratization of Databases

uk: Комп'ютерні науки

description: This presentation covers the history of various governing structures and why democracy provides superior results. It then explains that open source is a form of democracy, compared to the methods used by proprietary software producers. It covers the many benefits Postgres has enjoyed using an open development model, and how its future remains bright.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: How can users of your network be allowed not only to remotely access their files but also to collaboratively edit them? Docker, NextCloud, LibreOffice Online and LDAP are the pillars of the proposed solution. The talk will start describing the context where this proposal was born i.e. the FUSS Project. The analysis of the problem will follow along with the development details of the solution and suggested deployment strategies. FUSS is both a digital sustainability project launched back in 2005 and a GNU/Linux, Debian-based distribution for schools, currently used in around 80 schools in northern Italy’s South Tyrol. The presentation, held by Paolo Dongilli (FUSS Project coordinator) and Marco Marinello (developer) will quickly go through the first 15 years of life of the project and then deeply inspect the proposed solution called "FUSS Remote Access" which helped teachers accessing their didactic materials and files left in schools' servers during lock-downs caused by the Covid-19 pandemic.

uk: вхід без авторизації

name: Empowering the school of the future: Remotely accessing files in a distributed LDAP and Samba-based infrastructure


uk: Комп'ютерні науки

description: Do you feel like you don't belong, you don't deserve what you achieved, everyone in your office is more talented than you? Do you have imposter syndrome... too? Imposter syndrome is common across all industries, but the increasing pressure to be successful in IT is taking its toll on employees, affecting more than half workers, me included :) After many years working in tech for a lot of companies (from startups to big corporations) in many business fields, I found a way to overcome self-doubt and turn this weird feeling in a booster for greater achievements... and I want to share it with you!

uk: вхід без авторизації

name: How to defeat imposter syndrome: Confessions of a developer


uk: Комп'ютерні науки

description: 2020 was a very bad year for most of us, under the shadow of all that was going on there was a troubling trend we all need to be aware of: the erosion of the classic open source model and values. For years vendors have been slowly chipping away at the freedom and openness provided by open source, this year saw unprecedented changes to how people view and value OSS. From licensing changes to as a service exclusive, what was open is no longer. Is this being driven solely by the cloud? or is this purely corporate greed and others viewing open Source as a successful business model to replicate? Let's not only discuss but bring to light the trouble trends that threaten open source projects and development as we know it. "[W]e didn't open source it to get help from the community, to make the product better. We open sourced as a freemium strategy; to drive adoption." - MongoDB CEO Dev Ittycheria. Open source was never designed or planned to be used as "Gateway Drug" to move people to a proprietary locked in software, but more and more this is happening. This is not just a MongoDB move; Elastic, Redis, and others have all used the "Cloud" as a convenient excuse to erode classic open source licenses and values. At the same time new "open source compatible" versions of popular projects like MySQL or PostgreSQL pop up on cloud providers platforms. It's like the game "Among Us" only with your open source projects. You never know who or what is really open until you dig deep.

uk: вхід без авторизації

name: The Death of Openness and Freedom?: Open Source Under Attack


uk: Комп'ютерні науки

description: You've just had an idea for a great application but don't think anyone else is interested? You've used your weekends and free time to come up with something that actually solves someone else's problem? You'd love to open source your project so others can use it but you don't know where to start. We'll explain the way from an idea to an open source project using a step by step guide - including links, code snippets, and open source tools you can use to open source your own project. We are using our experience from working at open source companies like Red Hat and Percona as well as our project experience to highlight the steps you can take to get your open source project off the ground. In the Q&A section you can ask specific questions about your project or your idea and we'll give you some tips and tricks that we've used ourselves.

uk: вхід без авторизації

name: Tools and Concepts for Successfully Open Sourcing Your Project


uk: Комп'ютерні науки

description: We are convinced that young people can make an important contribution to the Free Software community. They see many things from a different perspective than adults, which is worth looking at more closely, because new ideas and points of view can be integrated into the development of free software. Since most children and young people are already in contact with the digital world at school, we want to involve young people in the development of software. In our presentation, we will show how we include the youth into the free software community with the schul-frei project. It shows educational establishments the advantages of free software and presents solutions they could use. The goals of the project are not to offer only software. It allows for example students and teachers to develop apps together for their school, which can be integrated into the running system we present.

uk: вхід без авторизації

name: schul-frei: Digital freedom with youth and education


uk: Комп'ютерні науки

description: In the new generation of message-based systems such as network-based smart systems, distributed components collaborate via asynchronous message passing. In some cases, particular ordering among the messages may lead to violation of the desired properties such as data confidentiality. Due to the absence of a global clock and usage of oﬀ-the-self components, there is no control over the order of messages at design time. To make such systems safe, we propose a choreography-based runtime enforcement algorithm that given an automata-based specification of unwanted message sequences, prevents certain messages to be sent, and assures that the unwanted sequences are not formed. Our algorithm is fully decentralized in the sense that each component is equipped with a monitor, as opposed to having a centralized monitor. As there is no global clock in message-based systems, monitors may prevent the sequence formation conservatively if the sequence consists of concurrent messages. We aim to minimize conservative prevention in our algorithm when the message sequence has not been formed. The efficiency and scalability of our algorithm are evaluated in terms of the communication overhead and the blocking duration through simulation.

uk: вхід без авторизації

name: Formal methods: Decentralized Runtime Enforcement of Message Sequences in Message-Based Systems


uk: Комп'ютерні науки

description: In this paper, we study the problem of runtime verification of distributed applications that do not share a global clock with respect to specifications in the linear temporal logics (LTL). Our proposed method distinguishes from the existing work in three novel ways. First, we make a practical assumption that the distributed system under scrutiny is augmented with a clock synchronization algorithm that guarantees bounded clock skew among all processes. Second, we do not make any assumption about the structure of predicates that form LTL formulas. This relaxation allows us to monitor a wide range of applications that was not possible before. Subsequently, we propose a distributed monitoring algorithm by employing SMT solving techniques. Third, given the fact that distributed applications nowadays run on massive cloud services, we extend our solution to a parallel monitoring algorithm to utilize the available computing infrastructure. We report on rigorous synthetic as well as real-world case studies and demonstrate that scalable online monitoring of distributed applications is within our reach.

uk: вхід без авторизації

name: Formal methods: Monitoring Distributed Systems under Partial Synchrony


uk: Комп'ютерні науки

description: The graph model enables a broad range of analysis, thus graph processing is an invaluable tool in data analytics. At the heart of every graph-processing system lies a concurrent graph data structure storing the graph. Such a data structure needs to be highly efficient for both graph algorithms and queries. Due to the continuous evolution, the sparsity, and the scale-free nature of real-world graphs, graph-processing systems face the challenge of providing an appropriate graph data structure that enables both fast analytic workloads and low-memory graph mutations. Existing graph structures offer a hard trade-off between read-only performance, update friendliness, and memory consumption upon updates. In this paper, we introduce CSR++, a new graph data structure that removes these trade-offs and enables both fast read-only analytics and quick and memory-friendly mutations. CSR++ combines ideas from CSR, the fastest read-only data structure, and adjacency lists to achieve the best of both worlds. We compare CSR++ to CSR, adjacency lists from the Boost Graph Library, and LLAMA, a state-of-the-art update-friendly graph structure. In our evaluation, which is based on popular graph-processing algorithms executed over real-world graphs, we show that CSR++ remains close to CSR in read-only concurrent performance (within 10% on average), while significantly outperforming CSR (by an order of magnitude) and LLAMA (by almost 2x) with frequent updates.

uk: вхід без авторизації

name: Concurrent data structures: CSR++: A Fast, Scalable, Update-Friendly Graph Data Structure


uk: Комп'ютерні науки

description: We present the first recoverable mutual exclusion (RME) algorithm that is simultaneously abortable, adaptive to point contention, and with sublogarithmic RMR complexity. Our algorithm has O(min(K,logWN)) RMR passage complexity and O(F+min(K,logWN)) RMR super-passage complexity, where K is the number of concurrent executing processes (point contention), W is the size (in bits) of registers, and F is the number of crashes in a super-passage. Under the standard assumption that W=Θ(logN), these bounds translate to worst-case O(logNloglogN) passage complexity and O(F+logNloglogN) super-passage complexity. Our key building blocks are: A D-process abortable RME algorithm, for D≤W, with O(1) passage complexity and O(1+F) super-passage complexity. We obtain this algorithm by using the Fetch-And-Add (FAA) primitive, unlike prior work on RME that uses Fetch-And-Store (FAS/SWAP). A generic transformation that transforms any abortable RME algorithm with passage complexity of B<W, into an abortable RME lock with passage complexity of O(min(K,B)).

uk: вхід без авторизації

name: Concurrent data structures: Recoverable, Abortable, and Adaptive Mutual Exclusion with Sublogarithmic RMR Complexity