4 مستودعات
Adding dummy data around variables to prevent CPU cache coherence traffic from false sharing.
Distinct from SIMD Buffer Padding: Specifically addresses false sharing via padding, whereas SIMD padding focuses on vector load alignment.
Explore 4 awesome GitHub repositories matching software engineering & architecture · Cache-Line Padding. Refine with filters or upvote what's useful.
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.
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.
هذا المشروع عبارة عن مولد معرفات فريدة موزع مصمم لإنتاج معرفات فريدة عالميًا وقابلة للفرز بحجم 64 بت عبر عقد متعددة. ينفذ خوارزمية متوافقة مع Snowflake تمنع التصادمات من خلال الجمع بين الطوابع الزمنية، ومعرفات العامل، وأرقام التسلسل في عدد صحيح واحد. يتضمن النظام منسق معرف العامل لتخصيص والحفاظ على هويات الجهاز الفريدة أثناء بدء تشغيل المثيل والترحيل باستخدام استراتيجيات مدعومة بقاعدة بيانات. لزيادة إنتاجية الطلبات وتقليل التأخير، يستخدم طبقة تخزين مؤقت بحلقة (Ring-buffer) تقوم بتوليد المعرفات مسبقًا وتستخدم آلية إعادة تعبئة قائمة على العتبة. يوفر البرنامج قدرات لإدارة مفاتيح قاعدة البيانات الموزعة، وتنسيق عقد النظام، وتكوين توزيع البتات لموازنة احتياجات التزامن مقابل عمر النظام. كما يتضمن أدوات لتحليل المعرفات المولدة مرة أخرى إلى مكوناتها الأصلية.
Employs cache-line padding between buffer elements to eliminate false sharing and increase hardware throughput.
هذا المشروع عبارة عن مرجع تقني ومجموعة من ملاحظات التحليل الداخلي التي تركز على وقت تشغيل لغة Go والمترجم. يوفر تفصيلاً دقيقاً للغة من الداخل، ويغطي إدارة الذاكرة، وجمع القمامة، ونموذج تنفيذ المجدول. تتميز المادة بتوفير غوص عميق في تفاصيل النظام منخفضة المستوى، بما في ذلك مرجع لتعليمات تجميع Go، واستخدام السجلات، وواجهة استدعاء النظام. ويحلل بشكل خاص التنفيذ الداخلي لبدائيات التزامن، مثل آلية جدولة الروتينيات (goroutine)، وعمليات القنوات، وتنفيذ قفل الميوتكس (mutex). يمتد التغطية إلى نظرية بناء المترجم، بما في ذلك التحليل المعجمي والنحوي، بالإضافة إلى آليات نظام النوع وإدارة الواجهة. كما يفصل تقنيات تحسين الأداء المختلفة، وأدوات تشخيص وقت التشغيل لتتبع المكدس، وبدائيات إدخال/إخراج الشبكة.
Details the use of padding bytes to prevent CPU cache coherence traffic caused by false sharing.