10 Repos
Theoretical approaches to allocating system memory using various contiguous and non-contiguous methods.
Distinct from Memory Allocators: Distinct from general memory allocators by focusing on the theoretical configuration and strategies like paging rather than specific implementation libraries.
Explore 10 awesome GitHub repositories matching part of an awesome list · Memory Allocation Strategies. Refine with filters or upvote what's useful.
This project is a comprehensive technical interview preparation resource and computer science interview guide. It serves as an educational reference for developers to study core software engineering fundamentals and common coding patterns required for employment screenings. The repository provides detailed guides and references covering data structures and algorithms, networking and security, operating systems, and web development. It specifically focuses on the implementation and complexity analysis of sorting, searching, and graph algorithms. The material encompasses a wide breadth of comp
Details the allocation of main memory using continuous and non-continuous methods, including paging.
This project is a technical reference and documentation suite focused on the internal architecture and operational principles of the Java Virtual Machine. It provides comprehensive guides and analysis on how the virtual machine manages class loading, memory organization, and bytecode execution. The documentation distinguishes itself by providing deep dives into specific runtime mechanisms, such as the binary decoding of class files, the hierarchical delegation model for class loaders, and the precise sequence of the loading, linking, and initialization lifecycle. It also details memory reclam
Explains the high-speed pointer-bumping allocation technique used within the Eden space.
Defines allocation semantics with provenance tracking to enforce that pointers only access their originating allocation.
Torchtune is a PyTorch-native library for fine-tuning, aligning, and quantizing large language models. It provides a configurable training pipeline orchestrated through YAML recipes, with CLI overrides and component swapping, distributed training via FSDP2, memory optimizations, and parameter-efficient fine-tuning methods like LoRA, DoRA, and QLoRA. The library distinguishes itself through its YAML-driven configuration system that defines all training parameters and instantiates components from config files, with full CLI override capability for any field or component at launch time. It suppo
Binds worker processes to CPUs near their assigned GPUs on NUMA systems to improve memory access performance.
Torchtune is a PyTorch-native library for fine-tuning, aligning, and quantizing large language models. It provides a config-driven system for instantiating components, orchestrating distributed training, and managing parameter-efficient fine-tuning with quantization support, all through YAML-based configurations and command-line overrides. The library distinguishes itself through its comprehensive post-training workflow orchestration, combining supervised fine-tuning, preference optimization (DPO, PPO, GRPO), knowledge distillation, and quantization-aware training in a single configurable pip
Pins worker processes to CPUs near their assigned GPUs on NUMA systems to reduce memory access latency.
InterviewGuide is a comprehensive technical interview preparation platform that covers the full spectrum of software engineering recruitment, from foundational computer science concepts through to offer negotiation. It provides structured learning paths across algorithms, operating systems, databases, networking, and programming languages, with a particular emphasis on C++ and Go. The platform aggregates real interview experiences and company-specific questions from major tech employers, offering candidates a searchable database of past written exam problems and detailed accounts of actual int
Explains that freed memory is held in a freelist by ptmalloc for future allocations, reducing system calls.
This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core operating system concepts of process management through the fork-exec-wait model, dynamic memory allocation using implicit free list heap allocators, inode-based file systems, inter-process communication via pipes and shared memory, POSIX threads with synchronization primitives, signal-based asynchronous notification, virtual memory with page table translation, and runtime diagnostics using Valgrind and GDB. The textbook distinguishes itself by providing practical, implementation
Provides detailed guides on implementing implicit free list heap allocators.
Tcmalloc ist ein High-Performance-C++-Speicherallokator und eine Laufzeitbibliothek zur Verwaltung von Heap-Speicher für großskalige Dienste. Es fungiert als Thread-Caching-Speicherallokator, der Lock-Contention in Multithreaded-Anwendungen reduziert, um Stabilität und Performance bei gleichzeitigen Workloads zu wahren. Das Projekt konzentriert sich auf hochperformante Speicherallokation und die Skalierung von Multithreaded-Anwendungen. Es verwendet eine Strategie mit Per-Thread-Caches, um schnellen Speicherzugriff zu gewährleisten und den Durchsatz paralleler Programme in Low-Level-Systemumgebungen zu verbessern. Die Bibliothek verwaltet Speicher durch Page-Level-Allokation, Size-Classed-Binning und Span-basiertes Metadaten-Management, um Fragmentierung zu minimieren. Sie nutzt eine zentrale Free-List und Lock-free-Fast-Paths, um Speicheranfragen über mehrere Ausführungsthreads hinweg zu verarbeiten.
Employs a tiered caching strategy with thread-local, central, and global page heaps to reduce allocation overhead.
This repository is a comprehensive collection of fully worked solutions to exercises and problems from the standard algorithms textbook by Cormen, Leiserson, Rivest, and Stein (CLRS). It serves as an educational reference for algorithm design and analysis, providing step-by-step reasoning, pseudocode, and mathematical proofs for a wide range of topics. The content spans core computer science areas: algorithm analysis with asymptotic notation, recurrence solving, and amortized cost analysis; data structure implementation and operations for binary search trees, red-black trees, B-trees, Fibonac
Implements allocation and deallocation of array objects from a stack-like free list for reuse.
Dieses Projekt ist eine technische Referenz und eine Sammlung interner Analyse-Notizen, die sich auf die Go-Sprach-Runtime und den Compiler konzentrieren. Es bietet eine detaillierte Aufschlüsselung der Interna der Sprache, einschließlich Speicherverwaltung, Garbage Collection und des Ausführungsmodells des Schedulers. Das Material zeichnet sich durch Deep-Dives in Low-Level-Systemdetails aus, einschließlich einer Referenz für Go-Assembly-Instruktionen, Register-Nutzung und System-Call-Interfacing. Es analysiert spezifisch die interne Implementierung von Concurrency-Primitiven, wie den Goroutine-Scheduling-Mechanismus, Channel-Operationen und Mutex-Lock-Implementierungen. Die Abdeckung erstreckt sich auf die Compiler-Konstruktionstheorie, einschließlich lexikalischer und syntaktischer Analyse, sowie die Mechanik des Typsystems und des Interface-Managements. Es beschreibt zudem verschiedene Performance-Optimierungstechniken, Runtime-Diagnose-Utilities für Stack-Tracing und Netzwerk-I/O-Primitive.
Describes the multi-level memory allocation system using thread-local and global caches to reduce lock contention.