Skip to content

Instantly share code, notes, and snippets.

View luebken's full-sized avatar

Matthias Lübken luebken

View GitHub Profile
@luebken
luebken / Keynote: Multicluster Batch Jobs Dispatching with Kueue at CERN - Ricardo Rocha & Marcin Wielgus.md
Last active November 14, 2024 09:39
Keynote: Multicluster Batch Jobs Dispatching with Kueue at CERN - Ricardo Rocha & Marcin Wielgus

Keynote: Multicluster Batch Jobs Dispatching with Kueue at CERN - Ricardo Rocha & Marcin Wielgus

Introduction to Kubernetes and Resource Management

  • Example
  • Researchers Adam, Brenda, and Chen want to run machine learning training jobs on a vanilla Kubernetes cluster, but submitting jobs at the same time can cause deadlocks and prevent the jobs from running due to insufficient resources (00:01:38).
  • Kueue is a project developed by the Kubernetes Working Group Batch that can admit and schedule workloads in full or keep them on hold until sufficient resources are available in the cluster (00:02:14).
  • Kueue allows admins to assign resource quotas to teams, ensuring each team has a guarantee of resources, and also has a concept of quota borrowing and fair
@luebken
luebken / SkyRay: Seamlessly Extending KubeRay to Multi-Cluster Multi-Cloud Operation - Anne Holler.md
Created November 13, 2024 17:01
# SkyRay: Seamlessly Extending KubeRay to Multi-Cluster Multi-Cloud Operation - Anne Holler, Elotl

SkyRay: Seamlessly Extending KubeRay to Multi-Cluster Multi-Cloud Operation - Anne Holler, Elotl

Introduction to SkyRay and Sky Computing

  • SkyRay is an extension of KubeRay, aiming to seamlessly extend its operation from a single cluster environment to a multi-cluster, multi-cloud operation (00:00:16).
  • The idea of SkyRay is based on the concept of Sky Computing, which requires a commodity Cloud compute layer, making it easy to use multiple clusters as it is to use one (00:02:42).
  • SkyRay works with a policy-driven Kubernetes fleet manager, which presents a Kubernetes API to the user and interoperates with KubeRay (00:03:04).
@luebken
luebken / Brag Your RAG with the MLOPS Swag - Madhav Sathe, Google & Jitender Kumar, publicissapient.md
Created November 13, 2024 16:52
Brag Your RAG with the MLOPS Swag - Madhav Sathe, Google & Jitender Kumar, publicissapient

Brag Your RAG with the MLOPS Swag - Madhav Sathe, Google & Jitender Kumar, publicissapient

Introduction to LLMs and Grounding Techniques

  • Many enterprises use Large Language Models (Large language model) to build applications, but these models are not grounded in enterprise data, leading to the need for mechanisms to train or ground LLMs with enterprise data (00:01:47).
  • Prompt engineering is an interesting skill that will be widely adopted across industries, as it provides the basis for using LLMs, and involves providing inputs to get desired results from the LLM (00:02:06).
  • Retrieval Augmented Generation (Retrieval-augmented generation) is a technique that gives LLMs grounding in enterprise data, preventing hallucinati
@luebken
luebken / LLM Powered Agents with Kubernetes - Hema Veeradhi & Shrey Anand, Red Hat.md
Created November 13, 2024 16:35
LLM Powered Agents with Kubernetes - Hema Veeradhi & Shrey Anand, Red Hat

LLM Powered Agents with Kubernetes - Hema Veeradhi & Shrey Anand, Red Hat

Introduction to LLMs and RAG

  • Large language models (Large language model) are computational models that can generate or model human language, with the ability to predict the next word in a sequence based on input text (00:01:42).
  • LLMs are good at natural language processing tasks such as text generation, code generation, chatbots, conversational AI, information retrieval, and sentiment analysis, but can be bad at complex or logical tasks and lack dynamicity (00:02:56).
  • Retrieval Augmented Generation (Retrieval-augmented generation) combines information retrieval techniques with generative AI to enhance the accuracy and relevance of LLMs, allowi
@luebken
luebken / Cloud Native Rejekts NA 24 | Flex Room | Day 2.md
Created November 12, 2024 16:27
Cloud Native Rejekts NA 24 | Flex Room | Day 2

Cloud Native Rejekts NA 24 | Flex Room | Day 2

Collecting and Processing Logs on Kubernetes Environments Using the OpenTelemetry Collector

  • Christos Marco, a software engineer at Elastic NV, discusses collecting and processing logs on Kubernetes environments using the OpenTelemetry collector. (00:11:06)
  • OpenTelemetry is an observability framework that provides specifications and implementations for observability, allowing users to instrument applications and collect telemetry signals. (00:12:18)
  • The OpenTelemetry collector can be used to receive, process, and export telemetry data to other systems, and it consists of pipelines that can be configured with receivers, processors, and exporters. [(00:14:09)](https://www.youtube.com/watch?v=cKXMxK1lbW
@luebken
luebken / Cloud Native Rejekts NA 24 | Theater | Day 2.md
Created November 12, 2024 16:25
Cloud Native Rejekts NA 24 | Theater | Day 2

Cloud Native Rejekts NA 24 | Theater | Day 2

Building an Edge Device to Monitor Atmospheric Conditions

  • The speaker, Junji, introduces himself as a developer who writes code and blogs, with an interest in Cloud native technologies, and explains that he will be giving a talk on behalf of himself and his co-speaker about building an edge device to monitor atmospheric conditions (00:05:49).
  • The project was initiated by the National Space Research and Development Agency (NASDA) in Nigeria, which aimed to foster interest in space research in universities, and Junji's school was selected to participate (00:06:54).
  • The goal of the project was to detect and visualize air quality problems in the school, which was experienc
@luebken
luebken / Cloud Native Rejekts NA 24 | Flex Room | Day 1.md
Last active November 12, 2024 16:22
Cloud Native Rejekts NA 24 | Flex Room | Day 1

Cloud Native Rejekts NA 24 | Flex Room | Day 1

Kubernetes Volume Populators

  • Kubernetes volumes are often empty when provisioned, but there are cases where they can be created with data using another PVC or a volume snapshot as the source (00:08:48).
  • Volume populators are custom resources and controllers that allow for the dynamic provisioning of Kubernetes volumes with pre-existing data from any source (00:10:43).
  • Use cases for volume populators include running virtual machines on Kubernetes, data management for stateful applications, and generic HTTP population of Premature ventricular contraction (00:11:13).
  • Volume populators can be registered on a Kubernetes cluster
@luebken
luebken / Cloud Native Rejekts NA 2024 | Theater | Day 1 .md
Created November 12, 2024 16:16
Cloud Native Rejekts NA 2024 | Theater | Day 1

Cloud Native Rejekts NA 2024 | Theater | Day 1

Introduction and Acknowledgements

  • The Cloud computing NA 2024 event is being held in Salt Lake City, and the attendees are thanked for coming, with a special mention of the enthusiasm around last-minute tickets and registrations (00:07:36).
  • The volunteers, org team, and venue staff are thanked for their efforts in making the event possible, with a mention of the venue's amenities and the efforts of the org team in accommodating the attendees (00:09:00).
  • The program committee is thanked for their critical role in reviewing proposals and creating the schedule, with a mention of the narrow timeline they had to work with (00:11:13).
  • The spon
@luebken
luebken / fetch_subtitles.sh
Created April 22, 2023 14:32 — forked from teemow/fetch_subtitles.sh
fetch youtube playlist with title, description and subtitles of each video and train gpt with the information
#!/bin/bash
set -eu
FOLDER=$1
PLAYLIST=$2
rm -f playlist.txt
mkdir -p $FOLDER
yt-dlp --flat-playlist -i --print-to-file url playlist.txt $PLAYLIST
const { PrometheusExporter } = require('@opentelemetry/exporter-prometheus');
const { MeterProvider } = require('@opentelemetry/metrics');
const { Resource } = require('@opentelemetry/resources');
// Add your port and startServer to the Prometheus options
const options = {port: 9464, startServer: true};
const exporter = new PrometheusExporter(options);