ذاكرة التخزين المؤقت (الحوسبة)

في الحوسبة ، ذاكرة التخزين المؤقت ( / k æ ʃ / KASH)[1]هو مكون من مكونات الأجهزة أو البرامج يخزن البيانات بحيث يمكن تقديم الطلبات المستقبلية لتلك البيانات بشكل أسرع؛ قد تكون البيانات المخزنة في ذاكرة التخزين المؤقت نتيجة لحساب سابق أو نسخة من البيانات المخزنة في مكان آخر.إصابة ذاكرة التخزين المؤقتعندما يمكن العثور على البيانات المطلوبة في ذاكرة التخزين المؤقت، بينماخطأ ذاكرة التخزين المؤقتعندما لا يمكن العثور عليها. يتم تقديم إصابات ذاكرة التخزين المؤقت عن طريق قراءة البيانات من ذاكرة التخزين المؤقت، وهو أسرع من إعادة حساب النتيجة أو القراءة من مخزن بيانات أبطأ؛ وبالتالي، كلما زاد عدد الطلبات التي يمكن تقديمها من ذاكرة التخزين المؤقت، كان أداء النظام أسرع.[2]
ولكي تكون ذاكرات التخزين المؤقتة فعّالة من حيث التكلفة، فلابد أن تكون صغيرة نسبيًا. ومع ذلك، فإن ذاكرات التخزين المؤقتة فعّالة في العديد من مجالات الحوسبة لأن تطبيقات الكمبيوتر النموذجية تصل إلى البيانات بدرجة عالية من محلية المرجع . وتُظهِر أنماط الوصول هذه محلية زمنية، حيث يتم طلب البيانات التي تم طلبها مؤخرًا، ومحلية مكانية، حيث يتم طلب البيانات المخزنة بالقرب من البيانات التي تم طلبها بالفعل.
تحفيز
في تصميم الذاكرة، هناك مقايضة متأصلة بين السعة والسرعة لأن السعة الأكبر تعني حجمًا أكبر وبالتالي مسافات مادية أكبر لقطع الإشارات مما يتسبب في تأخير الانتشار . هناك أيضًا مقايضة بين التقنيات عالية الأداء مثل SRAM والسلع الأرخص والأسهل إنتاجًا بكميات كبيرة مثل DRAM أو الفلاش أو الأقراص الصلبة .
توفر التخزين المؤقت الذي توفره ذاكرة التخزين المؤقت فوائد واحدة أو كليهما فيما يتعلق بالزمن الكامن والإنتاجية ( النطاق الترددي ).
إن الموارد الأكبر حجمًا تتسبب في تأخير كبير في الوصول إليها - على سبيل المثال، قد يستغرق الأمر مئات دورات الساعة لمعالج حديث بسرعة 4 جيجاهرتز للوصول إلى ذاكرة الوصول العشوائي الديناميكية. يتم التخفيف من ذلك من خلال قراءة أجزاء كبيرة في ذاكرة التخزين المؤقت، على أمل أن تكون القراءات اللاحقة من مواقع قريبة ويمكن قراءتها من ذاكرة التخزين المؤقت. يمكن استخدام التنبؤ أو الجلب المسبق الصريح لتخمين المكان الذي ستأتي منه القراءات المستقبلية وتقديم الطلبات مسبقًا؛ إذا تم ذلك على النحو الأمثل، يتم تجاوز التأخير تمامًا.
يسمح استخدام ذاكرة التخزين المؤقت أيضًا بزيادة الإنتاجية من المورد الأساسي، من خلال تجميع عمليات نقل متعددة دقيقة في طلبات أكبر وأكثر كفاءة. في حالة دوائر DRAM، يمكن الحصول على الإنتاجية الإضافية من خلال استخدام ناقل بيانات أوسع.
عملية
تستخدم الأجهزة ذاكرة التخزين المؤقت ككتلة من الذاكرة لتخزين البيانات مؤقتًا والتي من المحتمل استخدامها مرة أخرى. غالبًا ما تتضمن وحدات المعالجة المركزية (CPUs) ومحركات الأقراص ذات الحالة الصلبة (SSDs) ومحركات الأقراص الصلبة (HDDs) ذاكرة تخزين مؤقتة تعتمد على الأجهزة، بينما تعتمد متصفحات الويب وخوادم الويب عادةً على التخزين المؤقت للبرامج.
تتكون ذاكرة التخزين المؤقت من مجموعة من الإدخالات. كل إدخال له بيانات مرتبطة ، وهي عبارة عن نسخة من نفس البيانات في مخزن احتياطي . كل إدخال له أيضًا علامة ، والتي تحدد هوية البيانات الموجودة في مخزن الدعم والتي يكون الإدخال نسخة منها.
عندما يحتاج عميل ذاكرة التخزين المؤقت (وحدة المعالجة المركزية أو متصفح الويب أو نظام التشغيل ) إلى الوصول إلى بيانات يُفترض وجودها في مخزن النسخ الاحتياطي، فإنه يتحقق أولاً من ذاكرة التخزين المؤقت. إذا تم العثور على إدخال يحمل علامة مطابقة لعلامة البيانات المطلوبة، فسيتم استخدام البيانات الموجودة في الإدخال بدلاً من ذلك. يُعرف هذا الموقف باسم إصابة ذاكرة التخزين المؤقت . على سبيل المثال، قد يتحقق برنامج متصفح الويب من ذاكرة التخزين المؤقت المحلية على القرص لمعرفة ما إذا كان لديه نسخة محلية من محتويات صفحة ويب على عنوان URL معين . في هذا المثال، يكون عنوان URL هو العلامة، ومحتوى صفحة الويب هو البيانات. تُعرف النسبة المئوية لعمليات الوصول التي تؤدي إلى إصابات ذاكرة التخزين المؤقت بمعدل الإصابة أو نسبة الإصابة في ذاكرة التخزين المؤقت.
يُعرف الموقف البديل، عندما يتم فحص ذاكرة التخزين المؤقت واكتشاف عدم احتوائها على أي إدخال بالعلامة المطلوبة، باسم خطأ ذاكرة التخزين المؤقت. ويتطلب هذا وصولاً أكثر تكلفة للبيانات من مخزن النسخ الاحتياطي. بمجرد استرداد البيانات المطلوبة، يتم نسخها عادةً إلى ذاكرة التخزين المؤقت، استعدادًا للوصول التالي.
أثناء فشل التخزين المؤقت، يتم عادةً إزالة بعض إدخالات التخزين المؤقت الأخرى الموجودة سابقًا لإفساح المجال للبيانات المستردة حديثًا. تُعرف الطريقة المستخدمة لتحديد الإدخال المراد استبداله باسم سياسة الاستبدال . إحدى سياسات الاستبدال الشائعة، الأقل استخدامًا مؤخرًا (LRU)، تحل محل أقدم إدخال، الإدخال الذي تم الوصول إليه مؤخرًا أقل من أي إدخال آخر. تأخذ خوارزميات التخزين المؤقت الأكثر تطورًا أيضًا في الاعتبار تكرار استخدام الإدخالات.
كتابة السياسات


عندما يكتب النظام بيانات إلى ذاكرة التخزين المؤقت، يجب عليه في مرحلة ما كتابة تلك البيانات إلى مخزن النسخ الاحتياطي أيضًا. يتم التحكم في توقيت هذه الكتابة من خلال ما يسمى بسياسة الكتابة . هناك طريقتان أساسيتان للكتابة: [3]
- الكتابة : تتم الكتابة بشكل متزامن في كل من ذاكرة التخزين المؤقت ومخزن النسخ الاحتياطي.
- الكتابة مرة أخرى : في البداية، تتم الكتابة فقط في ذاكرة التخزين المؤقت. يتم تأجيل الكتابة في مخزن النسخ الاحتياطي حتى يتم استبدال المحتوى المعدل بكتلة ذاكرة تخزين مؤقتة أخرى.
إن ذاكرة التخزين المؤقت للكتابة المرتدة أكثر تعقيدًا في التنفيذ لأنها تحتاج إلى تتبع المواقع التي تم الكتابة عليها ووضع علامة عليها على أنها متسخة للكتابة لاحقًا في مخزن النسخ الاحتياطي. تتم إعادة كتابة البيانات الموجودة في هذه المواقع إلى مخزن النسخ الاحتياطي فقط عند إخراجها من ذاكرة التخزين المؤقت، وهي العملية التي يشار إليها باسم الكتابة الكسولة . لهذا السبب، غالبًا ما تتطلب قراءة خاطئة في ذاكرة التخزين المؤقت للكتابة المرتدة وصولين إلى مخزن النسخ الاحتياطي للذاكرة للخدمة: أحدهما للكتابة المرتدة، والآخر لاسترداد البيانات المطلوبة. قد تؤدي سياسات أخرى أيضًا إلى إعادة كتابة البيانات. قد يقوم العميل بإجراء العديد من التغييرات على البيانات الموجودة في ذاكرة التخزين المؤقت، ثم يخطر ذاكرة التخزين المؤقت صراحةً بإعادة كتابة البيانات.
نظرًا لعدم إرجاع أي بيانات إلى مقدم الطلب أثناء عمليات الكتابة، يجب اتخاذ قرار بشأن ما إذا كان سيتم تحميل البيانات إلى ذاكرة التخزين المؤقت أم لا في حالة فشل عمليات الكتابة.
- تخصيص الكتابة (يُطلق عليه أيضًا الجلب عند الكتابة ): يتم تحميل البيانات في موقع الكتابة المفقودة إلى ذاكرة التخزين المؤقت، متبوعة بعملية الكتابة الخاطئة. في هذا النهج، تكون أخطاء الكتابة مماثلة لأخطاء القراءة.
- تخصيص عدم الكتابة (يُطلق عليه أيضًا تخصيص عدم الكتابة أو الكتابة حول ): لا يتم تحميل البيانات الموجودة في موقع الكتابة المفقودة إلى ذاكرة التخزين المؤقت، ويتم كتابتها مباشرة إلى مخزن النسخ الاحتياطي. في هذا النهج، يتم تحميل البيانات إلى ذاكرة التخزين المؤقت عند أخطاء القراءة فقط.
يمكن لكل من سياسات الكتابة المباشرة والكتابة المباشرة استخدام أي من سياسات الكتابة الخاطئة هذه، ولكن عادةً ما يتم إقرانها. [4] [5]
- تستخدم ذاكرة التخزين المؤقت للكتابة الخلفية تخصيص الكتابة، على أمل إجراء عمليات كتابة لاحقة (أو حتى قراءات) في نفس الموقع، والذي يتم تخزينه مؤقتًا الآن.
- تستخدم ذاكرة التخزين المؤقت للكتابة تخصيص عدم الكتابة. هنا، لا تتمتع عمليات الكتابة اللاحقة بأي ميزة، حيث لا تزال بحاجة إلى الكتابة مباشرة إلى مخزن النسخ الاحتياطي.
قد تقوم كيانات أخرى غير ذاكرة التخزين المؤقت بتغيير البيانات الموجودة في مخزن النسخ الاحتياطي، وفي هذه الحالة قد تصبح النسخة الموجودة في ذاكرة التخزين المؤقت قديمة أو قديمة . بدلاً من ذلك، عندما يقوم العميل بتحديث البيانات الموجودة في ذاكرة التخزين المؤقت، ستصبح نسخ تلك البيانات الموجودة في ذاكرات التخزين المؤقت الأخرى قديمة. ترتبط بروتوكولات الاتصال بين مديري ذاكرة التخزين المؤقت التي تحافظ على اتساق البيانات بتماسك ذاكرة التخزين المؤقت .
جلب مسبق
في حالة فشل قراءة ذاكرة التخزين المؤقت، تقوم ذاكرات التخزين المؤقت ذات سياسة التجزئة حسب الطلب بقراءة الحد الأدنى من الكمية من مخزن النسخ الاحتياطي. تقوم عملية تنفيذ ذاكرة التخزين المؤقت حسب الطلب النموذجية بقراءة صفحة واحدة من الذاكرة الافتراضية (غالبًا 4 كيلوبايت) من القرص إلى ذاكرة التخزين المؤقت على القرص في ذاكرة الوصول العشوائي (RAM). تقوم وحدة المعالجة المركزية النموذجية بقراءة سطر واحد من ذاكرة التخزين المؤقت L2 يبلغ طوله 128 بايت من ذاكرة الوصول العشوائي الديناميكية (DRAM) إلى ذاكرة التخزين المؤقت L2، وسطر واحد من ذاكرة التخزين المؤقت L1 يبلغ طوله 64 بايت من ذاكرة التخزين المؤقت L2 إلى ذاكرة التخزين المؤقت L1.
إن ذاكرات التخزين المؤقتة التي تستخدم قائمة انتظار إدخال مسبقة أو سياسة ترقيم عشوائي أكثر عمومية تذهب إلى أبعد من ذلك، فهي لا تقرأ البيانات المطلوبة فحسب، بل إنها تتوقع أيضًا أن تكون هناك حاجة إلى جزء أو اثنين من البيانات قريبًا، وبالتالي تقوم بجلب هذه البيانات مسبقًا إلى ذاكرة التخزين المؤقتة. إن الترقيم العشوائي مفيد بشكل خاص عندما يكون لدى مخزن النسخ الاحتياطي وقت انتظار طويل لقراءة الجزء الأول وأوقات أقصر بكثير لقراءة الأجزاء القليلة التالية بشكل متسلسل، مثل تخزين القرص وذاكرة الوصول العشوائي الديناميكية.
تذهب بعض أنظمة التشغيل إلى أبعد من ذلك باستخدام أداة تحميل تقوم دائمًا بتحميل الملف القابل للتنفيذ بالكامل مسبقًا في ذاكرة الوصول العشوائي (RAM). وتذهب بعض ذاكرات التخزين المؤقت إلى أبعد من ذلك، حيث لا تقوم فقط بتحميل ملف كامل مسبقًا، بل تبدأ أيضًا في تحميل ملفات أخرى ذات صلة قد يتم طلبها قريبًا، مثل ذاكرة التخزين المؤقت للصفحة المرتبطة بأداة الجلب المسبق أو ذاكرة التخزين المؤقت للويب المرتبطة بجلب الارتباط مسبقًا .
أمثلة على ذاكرة التخزين المؤقت للأجهزة
ذاكرة التخزين المؤقت لوحدة المعالجة المركزية
يمكن للذواكر الصغيرة الموجودة على وحدة المعالجة المركزية أو بالقرب منها أن تعمل بشكل أسرع من الذاكرة الرئيسية الأكبر حجمًا . [6] استخدمت معظم وحدات المعالجة المركزية منذ الثمانينيات ذاكرة تخزين مؤقتة واحدة أو أكثر، في بعض الأحيان في مستويات متتالية ؛ قد تحتوي المعالجات الدقيقة الحديثة المتطورة المضمنة وسطح المكتب والخادم على ما يصل إلى ستة أنواع من ذاكرة التخزين المؤقت (بين المستويات والوظائف). [7] بعض الأمثلة على ذاكرات التخزين المؤقت ذات الوظيفة المحددة هي ذاكرة التخزين المؤقت D وذاكرة التخزين المؤقت I ومخزن الترجمة الجانبي لوحدة إدارة الذاكرة (MMU).
ذاكرة التخزين المؤقتة لوحدة معالجة الرسوميات
كانت وحدات معالجة الرسومات (GPUs) السابقة غالبًا ما تحتوي على ذاكرة تخزين مؤقتة محدودة للنسيج للقراءة فقط واستخدمت التبديل لتحسين موقع المرجع ثنائي الأبعاد . كانت أخطاء ذاكرة التخزين المؤقت تؤثر بشكل كبير على الأداء، على سبيل المثال إذا لم يتم استخدام mipmapping . كان التخزين المؤقت مهمًا للاستفادة من عمليات النقل ذات 32 بت (والأوسع) لبيانات النسيج التي كانت غالبًا ما تكون أقل من 4 بت لكل بكسل.
مع تقدم وحدات معالجة الرسوميات ودعم الحوسبة العامة على وحدات معالجة الرسوميات ونوى الحوسبة ، فقد طوروا ذاكرات تخزين مؤقتة أكبر حجمًا وأكثر عمومية بشكل تدريجي، بما في ذلك ذاكرات تخزين مؤقتة للتعليمات الخاصة بالبرامج المظللة ، والتي تعرض وظائف شائعة في ذاكرات التخزين المؤقتة لوحدة المعالجة المركزية. وقد تطورت هذه الذاكرات المؤقتة للتعامل مع أساسيات المزامنة بين الخيوط والعمليات الذرية ، والتفاعل مع وحدة ذاكرة الوصول العشوائي على غرار وحدة المعالجة المركزية.
معالجات الإشارات الرقمية
لقد عممت معالجات الإشارات الرقمية على نحو مماثل على مر السنين. استخدمت التصميمات السابقة ذاكرة مؤقتة تغذيها إمكانية الوصول المباشر إلى الذاكرة ، ولكن معالجات الإشارات الرقمية الحديثة مثل Qualcomm Hexagon غالبًا ما تتضمن مجموعة مشابهة جدًا من ذاكرات التخزين المؤقت لوحدة المعالجة المركزية (على سبيل المثال، بنية Harvard المعدلة مع L2 مشتركة وذاكرة تخزين مؤقتة مقسمة L1 وذاكرة تخزين مؤقتة D). [8]
ترجمة عرضية جانبية
تحتوي وحدة إدارة الذاكرة (MMU) التي تقوم بجلب إدخالات جدول الصفحات من الذاكرة الرئيسية على ذاكرة تخزين مؤقتة متخصصة، تُستخدم لتسجيل نتائج ترجمة العناوين الافتراضية إلى العناوين الفعلية . تسمى هذه الذاكرة المؤقتة المتخصصة بمخزن مؤقت للترجمة (TLB). [9]
ذاكرة التخزين المؤقت داخل الشبكة
الشبكات المرتكزة على المعلومات
الشبكات التي تركز على المعلومات (ICN) هي نهج لتطوير البنية الأساسية للإنترنت بعيدًا عن نموذج يركز على المضيف، استنادًا إلى الاتصال الدائم ومبدأ النهاية إلى النهاية ، إلى بنية شبكة حيث يتم تحديد النقطة المحورية للمعلومات. نظرًا لقدرة التخزين المؤقت المتأصلة للعقد في ICN، يمكن اعتبارها شبكة متصلة بشكل فضفاض من ذاكرات التخزين المؤقت، والتي لها متطلبات فريدة لسياسات التخزين المؤقت. ومع ذلك، فإن التخزين المؤقت للمحتوى في كل مكان يقدم تحديًا لحماية المحتوى ضد الوصول غير المصرح به، الأمر الذي يتطلب عناية وحلولاً إضافية. [10]
على عكس خوادم البروكسي، فإن ذاكرة التخزين المؤقت في ICN هي حل على مستوى الشبكة. لذلك، لديها حالات ذاكرة تخزين مؤقتة متغيرة بسرعة ومعدلات وصول طلبات أعلى؛ علاوة على ذلك، تفرض أحجام ذاكرة التخزين المؤقت الأصغر متطلبات مختلفة على سياسات إخراج المحتوى. على وجه الخصوص، يجب أن تكون سياسات الإخلاء لـ ICN سريعة وخفيفة الوزن. تم اقتراح مخططات مختلفة لتكرار ذاكرة التخزين المؤقت وإخراجها لمختلف بنيات وتطبيقات ICN. [ بحاجة لمصدر ]
السياسات
الوقت المدرك الأقل استخدامًا مؤخرًا
إن خوارزمية الأقل استخدامًا مؤخرًا مع مراعاة الوقت (TLRU) هي أحد أشكال خوارزمية الأقل استخدامًا مؤخرًا المصممة للموقف الذي يكون فيه المحتوى المخزن في ذاكرة التخزين المؤقت له عمر افتراضي صالح. وهذه الخوارزمية مناسبة لتطبيقات ذاكرة التخزين المؤقت للشبكة، مثل ICN وشبكات توصيل المحتوى (CDNs) والشبكات الموزعة بشكل عام. وتقدم خوارزمية الأقل استخدامًا مؤخرًا مع مراعاة الوقت مصطلحًا جديدًا: وقت الاستخدام (TTU). وTTU عبارة عن ختم زمني على المحتوى يحدد وقت قابلية استخدام المحتوى بناءً على موقع المحتوى والمعلومات الواردة من ناشر المحتوى. وبفضل ختم الوقت القائم على الموقع، يوفر TTU مزيدًا من التحكم للمسؤول المحلي لتنظيم التخزين داخل الشبكة.
في خوارزمية TLRU، عندما يصل جزء من المحتوى، تحسب عقدة التخزين المؤقت قيمة TTU المحلية بناءً على قيمة TTU المعينة من قبل ناشر المحتوى. يتم حساب قيمة TTU المحلية باستخدام دالة محددة محليًا. بمجرد حساب قيمة TTU المحلية، يتم إجراء استبدال المحتوى على مجموعة فرعية من إجمالي المحتوى المخزن في عقدة التخزين المؤقت. تضمن TLRU استبدال المحتوى الأقل شهرة والأقصر عمرًا بالمحتوى الوارد. [11]
الأقل استخدامًا مؤخرًا (LFRU)
يجمع مخطط استبدال ذاكرة التخزين المؤقت الأقل استخدامًا مؤخرًا (LFRU) [12] بين فوائد مخططات LFU وLRU. LFRU مناسب لتطبيقات ذاكرة التخزين المؤقت "داخل الشبكة"، مثل ICN وCDNs والشبكات الموزعة بشكل عام. في LFRU، يتم تقسيم ذاكرة التخزين المؤقت إلى قسمين يسمى القسمين المتميزين وغير المتميزين. يمكن تعريف القسم المتميز بأنه قسم محمي. إذا كان المحتوى شائعًا للغاية، يتم دفعه إلى القسم المتميز. يتم استبدال القسم المتميز على النحو التالي: يقوم LFRU بطرد المحتوى من القسم غير المتميز، ودفع المحتوى من القسم المتميز إلى القسم غير المتميز، وأخيرًا إدراج محتوى جديد في القسم المتميز. في الإجراء أعلاه، يتم استخدام LRU للقسم المتميز ويتم استخدام مخطط LFU التقريبي (ALFU) للقسم غير المتميز، ومن هنا جاء الاختصار LFRU. الفكرة الأساسية هي تصفية المحتويات الشائعة محليًا باستخدام مخطط ALFU ودفع المحتويات الشائعة إلى أحد الأقسام المتميزة.
توقعات الطقس
في عام 2011، كان استخدام الهواتف الذكية المزودة بخيارات التنبؤ بالطقس يشكل عبئًا كبيرًا على خوادم AccuWeather ؛ حيث كان الطلبان داخل نفس الحديقة يولدان طلبات منفصلة. وكان التحسين الذي أجرته خوادم الحافة لتقليص إحداثيات نظام تحديد المواقع العالمي (GPS) إلى عدد أقل من الأماكن العشرية يعني أن النتائج المخزنة مؤقتًا من الاستعلام السابق سوف تُستخدم. وانخفض عدد عمليات البحث على الخادم يوميًا بمقدار النصف. [13]
مخابئ البرامج
ذاكرة التخزين المؤقت للقرص
في حين تتم إدارة ذاكرة التخزين المؤقت لوحدة المعالجة المركزية بشكل عام بالكامل بواسطة الأجهزة، فإن مجموعة متنوعة من البرامج تدير ذاكرة التخزين المؤقت الأخرى. تتم إدارة ذاكرة التخزين المؤقت للصفحة في الذاكرة الرئيسية، والتي تعد مثالاً على ذاكرة التخزين المؤقت للقرص، بواسطة نواة نظام التشغيل .
في حين أن مخزن القرص ، وهو جزء متكامل من محرك الأقراص الصلبة أو محرك الحالة الصلبة، يُشار إليه أحيانًا بشكل مضلل باسم "ذاكرة التخزين المؤقت للقرص"، فإن وظائفه الرئيسية هي تسلسل الكتابة وقراءة البيانات مسبقًا. تعد عمليات الوصول المتكررة إلى ذاكرة التخزين المؤقت نادرة نسبيًا، نظرًا لصغر حجم المخزن المؤقت مقارنة بسعة محرك الأقراص. ومع ذلك، غالبًا ما تحتوي وحدات التحكم في الأقراص المتطورة على ذاكرة تخزين مؤقتة خاصة بها من كتل بيانات محرك الأقراص الصلبة.
أخيرًا، يمكن لمحرك القرص الصلب المحلي السريع أيضًا تخزين المعلومات المخزنة على أجهزة تخزين بيانات أبطأ، مثل الخوادم البعيدة (ذاكرة التخزين المؤقت للويب) أو محركات الأشرطة المحلية أو أجهزة تشغيل الموسيقى الضوئية ؛ مثل هذا المخطط هو المفهوم الرئيسي لإدارة التخزين الهرمي . كما يمكن استخدام محركات الأقراص ذات الحالة الصلبة (SSD) السريعة القائمة على الفلاش كذاكرة تخزين مؤقتة لمحركات الأقراص الصلبة ذات الوسائط الدوارة الأبطأ، حيث تعمل معًا كمحركات هجينة أو محركات أقراص هجينة ذات حالة صلبة (SSHD).
ذاكرة التخزين المؤقت للويب
تستخدم متصفحات الويب وخوادم بروكسي الويب ذاكرة تخزين مؤقتة للويب لتخزين الاستجابات السابقة من خوادم الويب، مثل صفحات الويب والصور . تعمل ذاكرة التخزين المؤقت للويب على تقليل كمية المعلومات التي يلزم نقلها عبر الشبكة، حيث يمكن إعادة استخدام المعلومات المخزنة سابقًا في ذاكرة التخزين المؤقت غالبًا. يقلل هذا من متطلبات النطاق الترددي والمعالجة لخادم الويب، ويساعد في تحسين الاستجابة لمستخدمي الويب. [14]
تستخدم متصفحات الويب ذاكرة تخزين مؤقتة مدمجة للويب، ولكن بعض موفري خدمة الإنترنت (ISPs) أو المؤسسات يستخدمون أيضًا خادم وكيل للتخزين المؤقت، وهو عبارة عن ذاكرة تخزين مؤقتة للويب يتم مشاركتها بين جميع مستخدمي هذه الشبكة.
شكل آخر من أشكال التخزين المؤقت هو التخزين المؤقت من نظير إلى نظير ، حيث يتم تخزين الملفات الأكثر طلبًا من قبل تطبيقات نظير إلى نظير في ذاكرة تخزين مؤقتة لمزود خدمة الإنترنت لتسريع عمليات نقل نظير إلى نظير. وعلى نحو مماثل، توجد مكافئات لامركزية، والتي تسمح للمجتمعات بأداء نفس المهمة لحركة مرور نظير إلى نظير، على سبيل المثال، Corelli. [15]
التذكير
يمكن للذاكرة المؤقتة تخزين البيانات التي يتم حسابها عند الطلب بدلاً من استرجاعها من مخزن احتياطي. التذكير هو أسلوب تحسين يخزن نتائج استدعاءات الوظائف المستهلكة للموارد داخل جدول بحث، مما يسمح للاستدعاءات اللاحقة بإعادة استخدام النتائج المخزنة وتجنب الحساب المتكرر. وهو مرتبط بمنهجية تصميم خوارزمية البرمجة الديناميكية ، والتي يمكن اعتبارها أيضًا وسيلة للتخزين المؤقت.
شبكة توصيل المحتوى
شبكة توصيل المحتوى (CDN) هي شبكة من الخوادم الموزعة التي تقوم بتوصيل الصفحات ومحتويات الويب الأخرى إلى المستخدم، استنادًا إلى الموقع الجغرافي للمستخدم ومصدر صفحة الويب وخادم توصيل المحتوى.
بدأت شبكات CDN في أواخر التسعينيات كوسيلة لتسريع تسليم المحتوى الثابت، مثل صفحات HTML والصور ومقاطع الفيديو. من خلال تكرار المحتوى على خوادم متعددة حول العالم وتسليمه للمستخدمين بناءً على موقعهم، يمكن لشبكات CDN تحسين سرعة وتوافر موقع ويب أو تطبيق بشكل كبير. عندما يطلب المستخدم قطعة من المحتوى، ستتحقق شبكة CDN لمعرفة ما إذا كان لديه نسخة من المحتوى في ذاكرة التخزين المؤقت الخاصة به. إذا كان الأمر كذلك، فستقوم شبكة CDN بتسليم المحتوى للمستخدم من ذاكرة التخزين المؤقت. [16]
بوابة التخزين السحابي
بوابة التخزين السحابي، والمعروفة أيضًا باسم الملف الحافة، هي جهاز تخزين سحابي هجين يربط شبكة محلية بخدمة تخزين سحابي واحدة أو أكثر ، وعادةً ما تكون خدمات تخزين كائنية مثل Amazon S3 . وهي توفر ذاكرة تخزين مؤقتة للبيانات التي يتم الوصول إليها بشكل متكرر، مما يوفر وصولاً محليًا عالي السرعة إلى البيانات التي يتم الوصول إليها بشكل متكرر في خدمة التخزين السحابي. توفر بوابات التخزين السحابي أيضًا مزايا إضافية مثل الوصول إلى تخزين كائنات السحابة من خلال بروتوكولات تقديم الملفات التقليدية بالإضافة إلى الوصول المستمر إلى البيانات المخزنة مؤقتًا أثناء انقطاع الاتصال. [17]
مخابئ أخرى
يقوم خادم BIND DNS بتخزين تعيين أسماء النطاق إلى عناوين IP ، كما تفعل مكتبة المحلل.
تعد عملية الكتابة المباشرة شائعة عند التشغيل عبر شبكات غير موثوقة (مثل شبكة Ethernet LAN)، وذلك بسبب التعقيد الهائل لبروتوكول التماسك المطلوب بين ذاكرات التخزين المؤقتة المتعددة للكتابة المباشرة عندما يكون الاتصال غير موثوق. على سبيل المثال، تكون ذاكرات التخزين المؤقتة لصفحات الويب وذاكرات التخزين المؤقتة لنظام ملفات الشبكة من جانب العميل (مثل تلك الموجودة في NFS أو SMB ) للقراءة فقط أو الكتابة المباشرة على وجه التحديد للحفاظ على بروتوكول الشبكة بسيطًا وموثوقًا به.
كما تتيح محركات البحث بشكل متكرر صفحات الويب التي قامت بفهرستها من ذاكرة التخزين المؤقتة الخاصة بها. على سبيل المثال، توفر Google رابط "مخزن مؤقتًا" بجوار كل نتيجة بحث. وقد يكون هذا مفيدًا عندما تكون صفحات الويب من خادم الويب غير قابلة للوصول مؤقتًا أو بشكل دائم.
يمكن أن يؤدي تخزين قاعدة البيانات مؤقتًا إلى تحسين إنتاجية تطبيقات قاعدة البيانات بشكل كبير ، على سبيل المثال في معالجة الفهارس ، وقواميس البيانات ، والمجموعات الفرعية المستخدمة بشكل متكرر من البيانات.
تستخدم ذاكرة التخزين المؤقت الموزعة [18] مضيفات متصلة بالشبكة لتوفير قابلية التوسع والموثوقية والأداء للتطبيق. [19] يمكن أن تكون المضيفات موجودة في نفس المكان أو موزعة على مناطق جغرافية مختلفة.
المخزن المؤقت مقابل ذاكرة التخزين المؤقت
يحتاج هذا القسم إلى مصادر إضافية للتحقق . ( يونيو 2021 ) |
إن دلالات "المخزن المؤقت" و"الذاكرة المؤقتة" ليست مختلفة تمامًا؛ ومع ذلك، هناك اختلافات جوهرية في القصد بين عملية التخزين المؤقت وعملية التخزين المؤقت.
في الأساس، يحقق التخزين المؤقت زيادة في الأداء لعمليات نقل البيانات التي يتم نقلها بشكل متكرر. وفي حين قد يحقق نظام التخزين المؤقت زيادة في الأداء عند النقل الأولي (عادةً الكتابة) لعنصر بيانات، فإن هذه الزيادة في الأداء ترجع إلى التخزين المؤقت الذي يحدث داخل نظام التخزين المؤقت.
في حالة ذاكرات التخزين المؤقتة للقراءة، يجب جلب عنصر بيانات من موقعه الذي يقيم فيه مرة واحدة على الأقل حتى تتمكن القراءات اللاحقة لعنصر البيانات من تحقيق زيادة في الأداء بفضل إمكانية جلبها من التخزين الوسيط (الأسرع) للذاكرة المؤقتة بدلاً من موقع إقامة البيانات. في حالة ذاكرات التخزين المؤقتة للكتابة، قد يتحقق زيادة في الأداء عند كتابة عنصر البيانات لأول مرة بفضل تخزين عنصر البيانات على الفور في التخزين الوسيط للذاكرة المؤقتة، مما يؤدي إلى تأجيل نقل عنصر البيانات إلى التخزين الذي يقيم فيه في مرحلة لاحقة أو حدوثه كعملية خلفية. على عكس التخزين المؤقت الصارم، يجب أن تلتزم عملية التخزين المؤقت ببروتوكول تماسك ذاكرة التخزين المؤقت (الموزع المحتمل) من أجل الحفاظ على الاتساق بين التخزين الوسيط للذاكرة المؤقتة والموقع الذي توجد فيه البيانات. التخزين المؤقت، من ناحية أخرى،
- يقلل من عدد عمليات النقل للبيانات الجديدة بين عمليات الاتصال، مما يؤدي إلى استهلاك النفقات العامة المترتبة على العديد من عمليات النقل الصغيرة على عدد أقل من عمليات النقل الأكبر،
- يوفر وسيطًا للتواصل بين العمليات التي لا يمكن نقلها بشكل مباشر فيما بينها، أو
- يضمن الحد الأدنى لحجم البيانات أو التمثيل المطلوب من قبل واحدة على الأقل من عمليات الاتصال المشاركة في النقل.
في تطبيقات التخزين المؤقت النموذجية، يتم تخزين عنصر البيانات الذي تتم قراءته أو كتابته لأول مرة بشكل فعال؛ وفي حالة الكتابة، يتم تحقيق زيادة في الأداء للتطبيق الذي نشأت منه الكتابة. بالإضافة إلى ذلك، فإن الجزء من بروتوكول التخزين المؤقت حيث يتم تأجيل عمليات الكتابة الفردية إلى دفعة من عمليات الكتابة هو شكل من أشكال التخزين المؤقت. الجزء من بروتوكول التخزين المؤقت حيث يتم تأجيل عمليات القراءة الفردية إلى دفعة من عمليات القراءة هو أيضًا شكل من أشكال التخزين المؤقت، على الرغم من أن هذا الشكل قد يؤثر سلبًا على أداء القراءات الأولية على الأقل (على الرغم من أنه قد يؤثر بشكل إيجابي على أداء مجموع القراءات الفردية). في الممارسة العملية، يتضمن التخزين المؤقت دائمًا تقريبًا شكلًا من أشكال التخزين المؤقت، في حين لا يتضمن التخزين المؤقت الصارم التخزين المؤقت.
المخزن المؤقت هو موقع ذاكرة مؤقت يستخدم تقليديًا لأن تعليمات وحدة المعالجة المركزية لا يمكنها معالجة البيانات المخزنة في الأجهزة الطرفية بشكل مباشر. وبالتالي، تُستخدم الذاكرة القابلة للعنونة كمرحلة وسيطة. بالإضافة إلى ذلك، قد يكون هذا المخزن المؤقت ممكنًا عندما يتم تجميع أو تفكيك كتلة كبيرة من البيانات (كما هو مطلوب بواسطة جهاز تخزين)، أو عندما يتم تسليم البيانات بترتيب مختلف عن الترتيب الذي تم إنتاجها به. أيضًا، يتم نقل مخزن مؤقت كامل للبيانات عادةً بشكل متسلسل (على سبيل المثال إلى القرص الصلب)، لذلك فإن التخزين المؤقت نفسه يزيد أحيانًا من أداء النقل أو يقلل من التباين أو التذبذب في زمن انتقال النقل على عكس التخزين المؤقت حيث يكون القصد هو تقليل زمن الانتقال. تتوفر هذه الفوائد حتى إذا تمت كتابة البيانات المخزنة مؤقتًا في المخزن المؤقت مرة واحدة وقراءتها من المخزن المؤقت مرة واحدة.
كما تعمل ذاكرة التخزين المؤقت على زيادة أداء النقل. وبالمثل، يأتي جزء من الزيادة من إمكانية دمج عمليات نقل صغيرة متعددة في كتلة كبيرة واحدة. لكن المكسب الرئيسي في الأداء يحدث لأن هناك فرصة جيدة لقراءة نفس البيانات من ذاكرة التخزين المؤقت عدة مرات، أو أن البيانات المكتوبة ستتم قراءتها قريبًا. الغرض الوحيد من ذاكرة التخزين المؤقت هو تقليل الوصول إلى التخزين الأساسي الأبطأ. ذاكرة التخزين المؤقت هي أيضًا عادةً طبقة تجريد مصممة لتكون غير مرئية من منظور الطبقات المجاورة.
انظر أيضا
مراجع
- ^ "Cache". قواميس أكسفورد . مؤرشف من الأصل في 18 أغسطس 2012. استرجاع 2 أغسطس 2016 .
- ^ Zhong, Liang; Zheng, Xueqian; Liu, Yong; Wang, Mengting; Cao, Yang (فبراير 2020). "تعظيم نسبة إصابة ذاكرة التخزين المؤقت في الاتصالات بين الأجهزة التي تغطي الشبكات الخلوية". China Communications . 17 (2): 232–238. doi :10.23919/jcc.2020.02.018. ISSN 1673-5447. S2CID 212649328.
- ^ Bottomley, James (1 يناير 2004). "Understanding Caching". Linux Journal . تم الاسترجاع في 1 أكتوبر 2019 .
- ^ Hennessy, John L.; Patterson, David A. (2011). Computer Architecture: A Quantitative Approach. Elsevier. p. B–12. ISBN 978-0-12-383872-8.
- ^ باترسون، ديفيد أ.؛ هينيسي، جون ل. (1990). هندسة الكمبيوتر: نهج كمي . دار نشر مورجان كوفمان. ص. 413. رقم ISBN 1-55860-069-8.
- ^ Su, Chao; Zeng, Qingkai (10 يونيو 2021). Nicopolitidis, Petros (محرر). "Survey of CPU Cache-Based Side-Channel Attacks: Systematic Analysis, Security Models, and Countermeasures". Security and Communication Networks . 2021 : 1–15. doi : 10.1155/2021/5559552 . ISSN 1939-0122.
- ^ "معالج Intel Broadwell Core i7 5775C '128MB L4 Cache' العملاق للألعاب ومعالجات Skylake Core i7 6700K الرائدة متوفرة الآن في متاجر التجزئة". 25 سبتمبر 2015.يذكر ذاكرة التخزين المؤقت L4. وعند الجمع بين ذاكرة التخزين المؤقت I-Cache وTLB المنفصلة، يصبح العدد الإجمالي لذاكرات التخزين المؤقت (المستويات والوظائف) 6.
- ^ "نظرة عامة على Qualcom Hexagon DSP SDK".
- ^ فرانك أويدا (2009). "المحاضرة 7: إدارة الذاكرة" (PDF) . CSE 120: مبادئ أنظمة التشغيل . جامعة كاليفورنيا سان دييغو . تم الاسترجاع في 4 ديسمبر 2013 .
- ^ بلال، محمد؛ وآخرون (2019). "التوزيع الآمن للمحتوى المحمي في الشبكات التي تركز على المعلومات". مجلة أنظمة معهد مهندسي الكهرباء والإلكترونيات . 14 (2): 1-12. arXiv : 1907.11717 . رمز Bibcode : 2020ISysJ..14.1921B. doi : 10.1109/JSYST.2019.2931813. S2CID 198967720.
- ^ بلال، محمد؛ كانج، شين-جاك (2014). سياسة إدارة ذاكرة التخزين المؤقت الأقل استخدامًا مع مراعاة الوقت في ICN . المؤتمر الدولي السادس عشر لتكنولوجيا الاتصالات المتقدمة. ص 528-532. arXiv : 1801.00390 . رمز Bibcode : 2018arXiv180100390B. doi : 10.1109/ICACT.2014.6779016. ISBN 978-89-968650-3-2. S2CID 830503.
- ^ بلال، محمد؛ وآخرون (2017). "مخطط إدارة ذاكرة التخزين المؤقت لإخراج المحتوى بكفاءة وتكراره في شبكات ذاكرة التخزين المؤقت". IEEE Access . 5 : 1692–1701. arXiv : 1702.04078 . Bibcode :2017arXiv170204078B. doi :10.1109/ACCESS.2017.2669344. S2CID 14517299.
- ^ مورفي، كريس (30 مايو 2011). "5 أسطر من التعليمات البرمجية في السحابة". InformationWeek . ص 28.
300 مليون إلى 500 مليون طلب أقل يوميًا يتم التعامل معها بواسطة خوادم AccuWeather
- ^ متعدد (ويكي). "تخزين تطبيقات الويب مؤقتًا". Docforge . مؤرشف من الأصل في 12 ديسمبر 2019 . تم الاسترجاع 24 يوليو 2013 .
- ^ تايسون، جاريث؛ ماوثي، أندرياس؛ كاون، سيباستيان؛ مو، مو؛ بلاجمان، توماس. كوريللي: خدمة تكرار ديناميكية لدعم المحتوى المعتمد على زمن الوصول في الشبكات المجتمعية (PDF) . MMCN'09. مؤرشف من الأصل (PDF) في 18 يونيو 2015.
- ^ "Globally Distributed Content Delivery, by J. Dilley, B. Maggs, J. Parikh, H. Prokop, R. Sitaraman and B. Weihl, IEEE Internet Computing, Volume 6, Issue 5, November 2002" (PDF) . مؤرشف من الأصل (PDF) في 9 أغسطس 2017. تم الاسترجاع في 25 أكتوبر 2019 .
- ^ "تعريف: بوابة التخزين السحابي". SearchStorage . يوليو 2014.
- ^ بول، س.؛ في، ز. (1 فبراير 2001). "التخزين المؤقت الموزع مع التحكم المركزي". اتصالات الكمبيوتر . 24 (2): 256-268. CiteSeerX 10.1.1.38.1094 . doi :10.1016/S0140-3664(00)00322-4.
- ^ خان، إقبال (يوليو 2009). "التخزين المؤقت الموزع على الطريق نحو قابلية التوسع". MSDN . 24 (7).
قراءة إضافية
- "ما ينبغي لكل مبرمج أن يعرفه عن الذاكرة"
- "التخزين المؤقت في البيئة الموزعة"
