awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

13 dépôts

Awesome GitHub RepositoriesCache-Aware Memory Access

Aligns data structures and access patterns to hardware cache lines to prevent performance degradation from frequent main memory fetches.

Distinct from Memory Access Profilers: Distinct from Memory Access Profilers: focuses on active data alignment and access pattern optimization rather than passive profiling.

Explore 13 awesome GitHub repositories matching software engineering & architecture · Cache-Aware Memory Access. Refine with filters or upvote what's useful.

Awesome Cache-Aware Memory Access GitHub Repositories

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • lemire/simdjsonAvatar de lemire

    lemire/simdjson

    23,860Voir sur GitHub↗

    simdjson is a high-performance JSON parser that utilizes SIMD instructions to process gigabytes of data per second. It functions as a SIMD JSON parser, a multithreaded NDJSON processing library, a UTF-8 validation engine, and a tool for JSON minification and string building. The project focuses on high-throughput data processing, enabling the ingestion of massive JSON volumes and the verification of UTF-8 encoding standards. It includes dedicated capabilities for constructing JSON strings with optimized memory usage and removing unnecessary whitespace from documents to reduce file size. The

    Allocates extra space at the end of buffers to allow wide SIMD loads without memory access violations.

    C++
    Voir sur GitHub↗23,860
  • lmax-exchange/disruptorAvatar de LMAX-Exchange

    LMAX-Exchange/disruptor

    18,375Voir sur GitHub↗

    The Disruptor is a lock-free inter-thread messaging library and high-performance event bus. It implements a concurrent ring buffer designed for high-concurrency and low-latency message sequencing. The project utilizes a specific messaging architecture to eliminate lock contention, enabling high-throughput event routing and the exchange of continuous event streams between threads. It ensures strict first-in-first-out ordering and immediate data visibility across processing threads. The library provides capabilities for lock-free data streaming, sequential data ordering, and sequence-based eve

    Implements cache-line padding to eliminate false sharing and maximize CPU cache efficiency.

    Javaconcurrencydisruptorjava
    Voir sur GitHub↗18,375
  • ffmpeg/asm-lessonsAvatar de FFmpeg

    FFmpeg/asm-lessons

    12,067Voir sur GitHub↗

    This project serves as an educational resource for learning and implementing low-level assembly language optimizations. It provides a structured guide for developers to master hardware-specific instructions and manual performance tuning, focusing on the translation of high-level code into efficient machine-level operations for resource-constrained environments. The materials emphasize techniques for maximizing computational throughput in multimedia processing. By covering instruction-level parallelism, register management, and data parallelism, the project enables the development of software

    Aligns data structures and access patterns to hardware cache lines to prevent performance degradation from frequent main memory fetches.

    Voir sur GitHub↗12,067
  • dgryski/go-perfbookAvatar de dgryski

    dgryski/go-perfbook

    10,902Voir sur GitHub↗

    This project is a collection of educational resources and technical guides focused on Go performance optimization. It provides instruction on improving execution speed and reducing memory usage through code and architectural refinements. The guides cover advanced strategies for low-level programming, including the use of assembly for SIMD instructions and unsafe pointers for direct memory manipulation. It also details concurrency optimization techniques such as lock sharding and cache-line padding to reduce contention and improve hardware utilization. The material encompasses broad capabilit

    Implements cache-line padding to prevent false sharing and reduce CPU cache coherence traffic.

    optimizationperformanceperformance-analysis
    Voir sur GitHub↗10,902
  • cyan4973/xxhashAvatar de Cyan4973

    Cyan4973/xxHash

    10,885Voir sur GitHub↗

    xxHash is a high-performance, non-cryptographic hash library designed for rapid checksum generation and data integrity verification. It functions as an incremental hashing engine, allowing for the processing of large or streaming data inputs by maintaining a persistent internal state across sequential chunks. The library is engineered as a computational framework that maximizes throughput by utilizing wide CPU registers and branchless instruction pipelining. It achieves high-speed performance by aligning data access with CPU cache lines and employing multi-stage mixing functions that ensure c

    Optimizes memory throughput by structuring data access patterns to fit within the CPU cache lines for faster retrieval.

    Ccdispersionhash
    Voir sur GitHub↗10,885
  • deepseek-ai/deepepAvatar de deepseek-ai

    deepseek-ai/DeepEP

    9,736Voir sur GitHub↗

    DeepEP is a distributed model accelerator and expert-parallel communication library designed to optimize the training and inference of large-scale neural networks. It provides specialized GPU communication kernels and a remote GPU memory interface to facilitate high-throughput data exchange between hardware nodes. The system utilizes dynamic kernel generation to compile optimized GPU kernels during execution, removing the need for separate installation compilation steps. It implements virtual-lane traffic isolation to prevent interference between different data streams and employs routing met

    Utilizes low-level memory primitives to coordinate distributed parallelism and optimize hardware resource usage.

    Cuda
    Voir sur GitHub↗9,736
  • baidu/uid-generatorAvatar de baidu

    baidu/uid-generator

    5,572Voir sur GitHub↗

    Ce projet est un générateur d'ID unique distribué conçu pour produire des identifiants 64 bits globalement uniques et triables à travers plusieurs nœuds. Il implémente un algorithme compatible Snowflake qui empêche les collisions en combinant des horodatages, des identifiants de travailleur et des numéros de séquence en un seul entier. Le système inclut un orchestrateur d'ID de travailleur pour allouer et maintenir des identités de machine uniques pendant le démarrage et la migration de l'instance en utilisant des stratégies basées sur la base de données. Pour augmenter le débit des requêtes et réduire la latence, il utilise une couche de mise en cache à tampon circulaire qui pré-génère des identifiants et emploie un mécanisme de remplissage basé sur des seuils. Le logiciel fournit des capacités pour gérer les clés de base de données distribuées, coordonner les nœuds système et configurer la distribution des bits pour équilibrer les besoins de concurrence par rapport à la durée de vie du système. Il inclut également des utilitaires pour analyser les identifiants générés en leurs composants originaux.

    Employs cache-line padding between buffer elements to eliminate false sharing and increase hardware throughput.

    Java
    Voir sur GitHub↗5,572
  • p-h-c/phc-winner-argon2Avatar de P-H-C

    P-H-C/phc-winner-argon2

    5,309Voir sur GitHub↗

    Il s'agit d'une implémentation cryptographique de la fonction Argon2, gourmande en mémoire, servant de bibliothèque de hachage de mots de passe et de fonction de dérivation de clé. Elle transforme les mots de passe et les sels en hashs sécurisés et génère des clés cryptographiques conçues pour résister aux attaques de craquage matériel à haute vitesse. La bibliothèque utilise une conception gourmande en mémoire qui nécessite une RAM importante pour empêcher l'accélération via GPU ou ASIC. Elle intègre un accès mémoire indépendant des données pour bloquer les attaques par canal auxiliaire (side-channel) et prend en charge l'intégration de clés secrètes ou de « peppers » pour protéger contre les attaques par force brute sur des sels compromis. Les capacités supplémentaires incluent l'encodage de hash de mot de passe pour le stockage et le transport, la possibilité de lier des hashs à des données contextuelles spécifiques, et une gestion sécurisée de la mémoire qui efface les tampons sensibles immédiatement après utilisation.

    Employs data-independent memory access patterns to block side-channel timing attacks.

    C
    Voir sur GitHub↗5,309
  • parallel101/courseAvatar de parallel101

    parallel101/course

    4,166Voir sur GitHub↗

    This project is a technical curriculum and set of educational resources focused on parallel programming, high-performance computing, and systems programming. It provides a structured course covering the implementation of parallel algorithms and multithreading techniques for processing large datasets. The project includes a systems programming guide for modern language features, a framework for lock-free concurrency patterns, and a manual for optimizing CPU and GPU performance through assembly analysis and cache management. The material covers hardware performance tuning, the implementation o

    Provides techniques for aligning data structures and access patterns to maximize CPU cache hits.

    C++coursecppcpp17
    Voir sur GitHub↗4,166
  • cch123/golang-notesAvatar de cch123

    cch123/golang-notes

    4,032Voir sur GitHub↗

    Ce projet est une référence technique et une collection de notes d'analyse interne axées sur le runtime et le compilateur du langage Go. Il fournit une analyse détaillée des rouages internes du langage, couvrant la gestion de la mémoire, le ramasse-miettes (garbage collection) et le modèle d'exécution du planificateur. Le matériel se distingue en fournissant des plongées approfondies dans les détails système de bas niveau, incluant une référence pour les instructions d'assemblage Go, l'utilisation des registres et l'interfaçage des appels système. Il analyse spécifiquement l'implémentation interne des primitives de concurrence, telles que le mécanisme de planification des goroutines, les opérations sur les canaux et les implémentations de verrous mutex. La couverture s'étend à la théorie de la construction des compilateurs, incluant l'analyse lexicale et syntaxique, ainsi que la mécanique du système de types et la gestion des interfaces. Il détaille également diverses techniques d'optimisation des performances, des utilitaires de diagnostic du runtime pour le traçage de la pile et des primitives d'E/S réseau.

    Details the use of padding bytes to prevent CPU cache coherence traffic caused by false sharing.

    HTMLcodegogolang
    Voir sur GitHub↗4,032
  • jctools/jctoolsAvatar de JCTools

    JCTools/JCTools

    3,851Voir sur GitHub↗

    JCTools is a Java concurrency library providing a collection of lock-less and wait-free data structures. It serves as a toolkit for managing thread-safe data exchange, specifically designed to optimize high-throughput messaging and producer-consumer patterns in multi-threaded applications. The library distinguishes itself by implementing specialized queue structures that minimize contention and maximize throughput. By utilizing techniques such as cache-line padding, memory-barrier-based synchronization, and relaxed-consistency memory ordering, it avoids the performance bottlenecks often assoc

    Aligns data structures to CPU cache lines to prevent false sharing and performance degradation in concurrent environments.

    Javaawesomebenchmarksconcurrency
    Voir sur GitHub↗3,851
  • dendibakh/perf-ninjaAvatar de dendibakh

    dendibakh/perf-ninja

    3,754Voir sur GitHub↗

    perf-ninja is a collection of educational resources and curricula focused on CPU architecture, memory hierarchies, SIMD programming, and low-level performance engineering. It provides instructional material and practical labs for identifying and fixing CPU bottlenecks, such as cache misses and branch mispredictions. The project differentiates itself through specialized training in hardware-level optimizations, including the use of compiler intrinsics for SIMD vectorization and the implementation of branchless predicate execution to eliminate pipeline stalls. It also covers advanced binary-lev

    Teaches how to align data structures to cache line boundaries and implement loop tiling to minimize cache misses.

    C++
    Voir sur GitHub↗3,754
  • open-quantum-safe/liboqsAvatar de open-quantum-safe

    open-quantum-safe/liboqs

    2,979Voir sur GitHub↗

    Liboqs est une bibliothèque C qui fournit une interface unifiée pour les algorithmes cryptographiques résistants aux quantiques, incluant l'encapsulation de clés et les mécanismes de signature numérique. Elle est conçue pour faciliter l'intégration de la sécurité post-quantique dans les protocoles et applications existants, garantissant la protection des données contre les menaces futures des ordinateurs quantiques à grande échelle. La bibliothèque se distingue par un accent sur les implémentations à haute assurance et la résistance aux canaux auxiliaires, utilisant des primitives à temps constant pour empêcher les fuites d'informations basées sur le timing. Elle offre une configuration étendue au moment de la compilation, permettant aux développeurs de sélectionner des algorithmes spécifiques et de gérer la taille du binaire, ce qui permet un déploiement à travers divers environnements allant des serveurs aux systèmes embarqués à ressources limitées. Le projet inclut des outils complets pour l'analyse comparative des performances et l'injection d'entropie agnostique au matériel, prenant en charge l'utilisation de générateurs de nombres aléatoires personnalisés. Il fournit également des harnais de test intégrés pour vérifier l'exécution à temps constant et évaluer l'efficacité des opérations cryptographiques à travers diverses architectures de processeurs.

    Implements constant-time memory access patterns to prevent timing-based side-channel information leakage.

    Ccryptographykey-exchange-algorithmslattice-based-crypto
    Voir sur GitHub↗2,979
  1. Home
  2. Software Engineering & Architecture
  3. Shared Memory Management
  4. Memory Access Profilers
  5. Cache-Aware Memory Access

Explorer les sous-tags

  • Constant-Time Memory AccessMemory access patterns that do not depend on secret data to prevent side-channel timing attacks. **Distinct from Cache-Aware Memory Access:** Distinct from cache-aware access by focusing on security and timing-attack prevention rather than performance optimization.
  • NUMA OptimizationsMemory access strategies that account for Non-Uniform Memory Access architectures to reduce remote memory requests. **Distinct from Cache-Aware Memory Access:** Specifically targets NUMA topology for latency reduction, whereas Cache-Aware Memory Access focuses on cache line alignment.
  • SIMD Buffer Padding1 sous-tagMemory allocation strategies that ensure buffers have trailing padding to support wide vector loads. **Distinct from Cache-Aware Memory Access:** Distinct from general cache-aware access: specifically addresses the padding requirement for SIMD memory safety.
  • Software PrefetchingTechniques for explicitly instructing the CPU to load data into the cache before it is needed. **Distinct from Cache-Aware Memory Access:** Distinct from Cache-Aware Memory Access: focuses on active preloading of addresses rather than static alignment or layout.