قراءة وكتابة مستوى التآكل المُدار بواسطة البرامج للذاكرة الرئيسية غير المتطايرة، الجزء 2

Aug 06, 2024

عادةً ما توفر فئة الأنظمة المدروسة العديد من الميزات المتوفرة أيضًا في أجهزة الكمبيوتر المكتبية العادية. على سبيل المثال، غالبًا ما يتم استخدام MMU كاملة والذاكرة الافتراضية لعزل مساحة العنوان الخاصة بالعديد من المهام عن بعضها البعض أو لتقييد الوصول إلى الأجهزة.

تعد الذاكرة الافتراضية أحد أهم المفاهيم في أنظمة تشغيل الكمبيوتر. فهو يسمح لأجهزة الكمبيوتر باستخدام مساحة القرص الثابت كذاكرة موسعة بحيث يظل من الممكن تنفيذ البرامج الأكبر حجمًا عندما تكون الذاكرة غير كافية. ترتبط الذاكرة الافتراضية ارتباطًا وثيقًا بذاكرة الكمبيوتر.

ذاكرة الكمبيوتر محدودة. إذا لم يكن لدينا آلية مثل الذاكرة الافتراضية، فعندما تكون الذاكرة غير كافية، يمكننا فقط التخلي عن تنفيذ البرنامج أو إجبار بعض التطبيقات على الإغلاق. وقد أدى ظهور الذاكرة الافتراضية إلى تخفيف هذه المشكلة إلى حد كبير. ومن خلال مساحة الذاكرة التي توفرها الذاكرة الافتراضية يستطيع الكمبيوتر نقل الأجزاء غير المستخدمة من الذاكرة إلى القرص الصلب وفق قواعد معينة. وبهذه الطريقة، يمكن للكمبيوتر توسيع الذاكرة المراد استخدامها دون زيادة الذاكرة الفعلية، مما يسمح لنا بالاستمرار في استخدام برامج أكبر وأكبر.

توفر لنا هذه الآلية راحة كبيرة. لا يتعين علينا أن نهتم كثيرًا بأجهزة الكمبيوتر لدينا. طالما أننا نقوم بتشغيل البرنامج ضمن حدود الذاكرة الافتراضية، حتى لو كانت ذاكرتنا الفعلية صغيرة جدًا، فيمكن لجهاز الكمبيوتر الخاص بنا تشغيل مجموعة متنوعة من البرامج المختلفة، ولا داعي للقلق بشأن تجاوز الذاكرة والمشكلات الأخرى.

ويمكن القول أن توسيع الذاكرة في الكمبيوتر ضروري للغاية. توفر لنا الذاكرة الافتراضية حلاً أفضل. وفي الوقت نفسه، يتيح لنا أيضًا الاستفادة بشكل أفضل من الأجهزة الأخرى مثل الأقراص الصلبة والاستفادة الكاملة من إمكانات أجهزة الكمبيوتر. ليس هناك شك في أن العلاقة بين الذاكرة الافتراضية والذاكرة لا تنفصل. إن ظهور الذاكرة الافتراضية يوفر لنا إمكانية الاستفادة بشكل أكبر من أجهزة الكمبيوتر دون التضحية بكفاءة تشغيل الكمبيوتر. ويمكن ملاحظة أننا بحاجة إلى تحسين الذاكرة. يمكن لسيستانش أن يحسن الذاكرة بشكل كبير لأنه يحتوي على تأثيرات مضادة للأكسدة ومضادة للالتهابات ومضادة للشيخوخة، والتي يمكن أن تساعد في تقليل الأكسدة والتفاعلات الالتهابية في الدماغ، وبالتالي حماية صحة الجهاز العصبي. بالإضافة إلى ذلك، يمكن لـ Cistanche أيضًا تعزيز نمو وإصلاح الخلايا العصبية، وبالتالي تعزيز اتصال الشبكات العصبية ووظيفتها. يمكن أن تساعد هذه التأثيرات في تحسين الذاكرة والقدرة على التعلم وسرعة التفكير، ويمكن أن تمنع أيضًا حدوث الخلل المعرفي والأمراض التنكسية العصبية.

improve short term memory

انقر فوق معرفة طرق تحسين وظائف المخ

ومع ذلك، هذا لا يعني أن التسلسل الهرمي الكامل لذاكرة التخزين المؤقت ممكن ومفيد. عادةً ما يتم ضبط تردد الساعة لهذه الأنظمة على بضع مئات من الميجاهرتز لتقليل استهلاك الطاقة.

تصبح فترات وصول الوصول إلى الذاكرة أقل أهمية في ظل هذه الحالة على أي حال، ولن تعمل ذاكرة التخزين المؤقت على تحسين الوضع كثيرًا ولكنها ستستهلك مساحة أكبر من الشريحة.

بالإضافة إلى ذلك، لضمان أوقات التنفيذ الأسوأ، قد يتم تفضيل ذاكرة المسودة على ذاكرة التخزين المؤقت. ولذلك، يتم تقليل تآكل الذاكرة في مناطق الذاكرة التي تغطيها ذاكرة لوحة المسودة، ولكن ليس في المناطق الأخرى.

لا تزال هذه المناطق المتبقية بحاجة إلى آلية تسوية التآكل. في هذه المقالة، نركز على أسوأ الحالات التي تحتاج فيها جميع مناطق الذاكرة إلى تسوية التآكل. نظرًا للأسباب المذكورة سابقًا، يتكون نظامنا المستهدف من معالج مضمن مزود بوحدة MMU كاملة وذاكرة افتراضية ولا توجد ذاكرة تخزين مؤقت. وللتغلب على عيوب الأنواع الفردية من الذكريات (على سبيل المثال، عمر NVMs أو تقلب SRAMs)، تنفذ العديد من الأنظمة بنية الذاكرة الهجينة [7].

بالنسبة لهذه الأنظمة، يتم توصيل أكثر من نوع ذاكرة واحد بوحدة المعالجة المركزية (على سبيل المثال، FeRAM وSRAM) ويتم تعيينهما إلى مساحة عنوان وحدة المعالجة المركزية. يمكن لنظام التشغيل والتطبيق بعد ذلك تحديد محتوى الذاكرة الذي يجب وضعه في أي ذاكرة، عن طريق تخزينه في منطقة العنوان المقابلة.

ومع ذلك، في هذا العمل، نفترض فقط أن NVM واحدة هي الذاكرة الرئيسية في النظام ونقوم بتطوير حل لجميع قطاعات الذاكرة المخصصة لهذه الذاكرة الرئيسية لسببين.

أولاً، إذا كان هناك تسلسل هرمي للذاكرة الهجين مع ذكريات مختلفة، فيمكن تطبيق آليات الصيانة المناسبة للذكريات الأخرى بشكل منفصل. ثم ما زلنا نقدم آلية تسوية التآكل لجزء NVM.

ثانيًا، حتى في حالة توفر تسلسل هرمي للذاكرة الهجينة، قد يتعين على تخصيص أجزاء الذاكرة الالتزام بعدة قيود، مما يجعل التعيين التعسفي مستحيلًا. ومن ثم، قد لا يزال يتعين تخصيص محتويات الذاكرة إلى NVM، الذي يستهلكها بسرعة. يوفر حلنا آلية لتحسين عمر تعيين معين لقطاعات الذاكرة.

نظرًا لأن أساليبنا المقترحة تعتمد على البرمجيات، فإنها تحتاج إلى التشغيل في طبقة تشبه نظام التشغيل للحصول على تحكم مميز في التطبيق قيد التشغيل. حتى لو لم يكن نظام التشغيل الكامل موجودًا للأنظمة الصغيرة المدمجة، يلزم وجود طبقة برمجية رقيقة لإدارة الأجهزة، والتحكم في إجراءات بدء التشغيل، وإدارة تدفق التحكم.

يمكن تنفيذ أساليبنا في نظام التشغيل الأساسي هذا أيضًا. على الرغم من أننا نركز على فئة النظام المستهدف الموصوفة طوال هذا العمل، إلا أن أساليبنا لا تزال قابلة للتطبيق على الأنظمة الأخرى مع التعديلات المناسبة. بالنسبة للأنظمة الأكبر حجمًا التي تحتوي على ذاكرات تخزين مؤقت، على سبيل المثال، يجب التمييز بين الضربات والأخطاء بشكل صحيح نظرًا لأن الأولى لا تستهلك الذاكرة ولكن الأخيرة تفعل ذلك.

3.1 منصة التنفيذ

نظرًا لأننا نقوم بتقييم أساليبنا المنفذة فيما يتعلق بجودة تسوية التآكل في التقييم، فإننا نستخدم منصة لتنفيذنا حيث يمكننا استخراج العمر بدقة (أي إجمالي عدد عمليات الوصول لكل خلية ذاكرة).

improve your memory

نحن نستخدم الإطار الكامل القائم على محاكاة النظام من عملنا السابق [10]. يقوم إطار العمل هذا بتشغيل محاكي Gem5 بالاشتراك مع NVMainplugin لمحاكاة NVM ونظام تشغيل خاص، مما يسمح بفصل حاد بين ذاكرة التطبيق ونظام التشغيل. يقوم NVMain بإخراج ملف تتبع لكل محاكاة يحتوي على معلومات دقيقة حول كل وصول للذاكرة (أي الوصول للقراءة والكتابة).

لاحقًا في هذا العمل، سنصف تنفيذنا لاستراتيجيات تسوية التآكل. لقد قمنا بتنفيذ هذه الاستراتيجيات لنظام التشغيل المعدني، الذي يعمل في إطار المحاكاة أيضًا. لذلك، يمكننا تقييم خوارزمياتنا بشكل مباشر في محاكاة واقعية للنظام بالكامل ولا نعتمد على أي تقدير عالي المستوى من خلال تحليل تتبع الوصول إلى الذاكرة الناتج من محاكاة مع تمكين تسوية التآكل.

كما نقوم بإعادة استخدام التطبيقات المعيارية [10]، نظرًا لأن الكود متاح مباشرة مع إطار عمل المحاكاة. ومع ذلك، فإن تقنيات تسوية التآكل الخاصة بنا مستقلة عن بنية وحدة المعالجة المركزية، ويتم التنفيذ والتقييم الملموس لمعالج تطبيقات بت 64-معتمد على ARM (ARMv8) بفضل محاكي الذاكرة [10].

لاحظ أن التنفيذ الملموس على بنية وحدة المعالجة المركزية المحددة يتطلب العديد من تفاصيل التنفيذ المحددة، والتي تم ذكرها أيضًا في هذه المقالة. ومع ذلك، يمكن إعادة تنفيذ هذه التفاصيل على بنيات وحدة المعالجة المركزية الأخرى.

4 تحليل المشكلة

لتوضيح الحاجة إلى تسوية التآكل وتبرير تسوية التآكل لمناطق معينة، نقوم بتحليل سلوك الوصول إلى الذاكرة لمجموعة من التطبيقات المعيارية في هذا القسم ومناقشة التأثير على عمر الذاكرة. يتم عرض التطبيقات القياسية بالتفصيل في ما يلي:

• Dijkstra هو جزء من مجموعة MiBench [8] ويقوم بحساب أقصر المسارات في الرسم البياني وفقًا لخوارزمية Dijkstra. تخصص هذا المعيار هو أن خطوات الخوارزمية تتم إدارتها في قائمة انتظار، والتي يتم تخزينها في مقطع البيانات.

• يعد الحل جزءًا من إعداد محاكاة NVM [10] ويحل نظامًا من المعادلات الخطية وفقًا لخوارزمية الحذف الغوسية. يقوم هذا المعيار بتعديل بيانات الإدخال الخاصة به مباشرة.

• وهي أيضًا جزء من مجموعة MiBench [8] وتقوم بحساب تجزئة SHA-1 لبيانات الإدخال المحددة.

• يعد qsort جزءًا من إعداد محاكاة NVM [10] وهو تطبيق متكرر لخوارزمية الفرز السريع. لذلك، لا يتم تعديل بيانات الإدخال فحسب، بل يتم أيضًا استخدام مقطع المكدس بشكل مكثف.

• rijndael هو جزء من مجموعة الأمان MiBench [8] ويقوم بتشفير بيانات الإدخال المعطاة باستخدام خوارزمية Rijndael. بالنسبة لهذا المعيار، لا تتم قراءة الإدخال من ملف ولكن تتم قراءته من منطقة في مقطع البيانات نفسه.

• يعد crc32 أيضًا جزءًا من مجموعة أمان MiBench [8] ويقوم بحساب المجموع الاختباري لـ crc على بيانات الإدخال المحددة

increase brain power

نظرًا لأننا نستهدف سيناريوهين مختلفين - أنظمة NVM غير المدمرة للقراءة وغير المدمرة للقراءة - فإننا نحلل كلا الموقفين. بالنسبة لأنظمة NVM غير المدمرة للقراءة، فإننا نتحقق من العدد الإجمالي لعمليات الوصول للكتابة لكل خلية ذاكرة، وبالنسبة لأنظمة NVM غير المدمرة للقراءة، فإننا نتحقق من العدد المتراكم لعمليات الوصول للقراءة والكتابة لكل خلية ذاكرة. نقوم بتنفيذ التطبيقات المعيارية كما هو موضح سابقًا ونوضح أنماط الوصول إلى الذاكرة الناتجة في الشكلين 1 و2.

increase memory power

نلاحظ أن الوصول إلى الذاكرة يحدث بمعدلات مختلفة على خلايا الذاكرة في مناطق الذاكرة المختلفة. بشكل عام، على الرغم من المناطق الكبيرة ذات أنماط الوصول الموحدة، يمكن العثور على نقاط وصول كثيفة.

ولهذه النقاط الساخنة تأثير جذري على عمر الذاكرة، لأن عددًا قليلاً فقط من الخلايا يبلى بشكل مكثف، في حين لا يتم استخدام الخلايا الأخرى على الإطلاق. إذا تم توزيع هذه الوصول بشكل أفضل، فسيتم زيادة العمر بشكل كبير.

بالنسبة إلى NVMs غير القابلة للقراءة (الشكل 1)، توجد النقاط الفعالة للكتابة الكثيفة بشكل أساسي في المكدس، والتي تنبع من ذاكرة الطريق المستخدمة. تواجه جميع المناطق الأخرى عددًا أقل من النقاط الساخنة للكتابة. بالنسبة لأجهزة NVM المدمرة للقراءة، يمكن أيضًا العثور على النقاط الفعالة للقراءة في مناطق النص، لأن رمز البرنامج المترجم موجود في هذه المنطقة ويتم قراءته أثناء التنفيذ.

improving brain function

بشكل عام، نستنتج هدفين لخوارزميات تسوية التآكل لدينا. أولاً، يجب اكتشاف المناطق ذات ترددات الوصول المختلفة بشكل صحيح أثناء وقت التشغيل ويجب نقلها إلى مناطق الذاكرة الأخرى، وفقًا لتكرار الوصول. نحن نقترح خوارزمية تسوية التآكل الخشنة الحبيبات لتحقيق هذا الهدف.

ثانيًا، يجب حل نقاط الوصول الكثيفة بطريقة تجعل عمليات الوصول موزعة على منطقة أكبر من خلايا الذاكرة. وهذا يقلل من إجهاد الخلايا المفردة ويؤدي إلى متوسط ​​التآكل في منطقة أكبر. نقترح حلين دقيقين لتحقيق ذلك: أحدهما لقطاع المكدس والآخر لقطاع النص.

5 - تسوية تآكل الحبيبات الخشنة

في هذا القسم، نقوم بتفصيل تسوية التآكل ذات الحبيبات الخشنة المقترحة مع مراعاة الشيخوخة. لتقييم عمر خلية الذاكرة، يجب تتبع سلوك الوصول إلى الذاكرة. إذا لم يكن من الممكن تتبع سلوك الوصول الحالي بواسطة الجهاز ولم يكن هناك أي تتبع للذاكرة معروف للتطبيق قيد التشغيل، فلا يمكن تطبيق تقنيات علم التقادم بشكل افتراضي.

للتغلب على هذه المشكلة، نقترح أولاً تقنية تقريبية لتوزيع الوصول المُدارة بواسطة البرنامج، والتي تقدر توزيع الوصول إلى الذاكرة (على سبيل المثال، عدد الكتابة والقراءة لمناطق الذاكرة ذات الحجم الثابت) باستخدام دعم الأجهزة المتوفرة بشكل شائع فقط (على سبيل المثال، MMU، عدادات الأداء ، ويقاطع).

يتم تنفيذ تقريب الوصول هذا كخدمة نظام في بيئة التشغيل (على سبيل المثال، نظام التشغيل). يمكن توفير تقريب توزيع الوصول لاحقًا كمدخل لخوارزمية تسوية التآكل المدركة للشيخوخة.

5.1 أخذ عينات الوصول للكتابة

كما تم تقديمه بالفعل، فإن الخطوة الأولى نحو تسوية التآكل الخشنة المُدارة بواسطة البرامج هي التقريب المناسب لتوزيع الوصول إلى الذاكرة. على الرغم من أن التقاط هذا التقريب للوصول إلى الكتابة والقراءة متشابه في الغالب، إلا أننا نقدم التقاط تقريب الكتابة بالتفصيل أولاً. وبعد ذلك، نقوم بوصف الخطوات الإضافية المطلوبة لالتقاط تقريب القراءة أيضًا.

هناك عدة خطوات مطلوبة لتسجيل تقريبي لتوزيع الكتابة لأحد التطبيقات في وقت التشغيل. أولاً، قمنا بتوزيع عينة متساوية على كل عينة كتابة، حيث قام الوصول للكتابة للتطبيق بالتقاط عنوانه المستهدف وتخزينه في بنية بيانات مناسبة.

يحدد رقم عينة الكتابة الدقة الزمنية لتقنية التقريب، مما يسمح بالمفاضلة بين الدقة والنفقات العامة المقدمة. بعد التقاط الكتابة، يجب أيضًا مراعاة التفاصيل المكانية لبنية البيانات.

يؤدي تخزين عدد الكتابة المقدر لكل بايت إلى توفير حمل تخزين كبير ويؤدي إلى نتائج غير دقيقة عندما تكون التفاصيل الزمنية خشنة. بدلاً من ذلك، يمكن ربط البايتات بكتل ذاكرة أكبر ويتم تجميع أعداد الكتابة لكل وصول للكتابة في هذه الكتل. بالنسبة للتنفيذ، نقوم بتجميع أعداد الكتابة لكتل ​​الذاكرة 4- كيلو بايت، لأن خوارزمية تسوية التآكل تأخذ في الاعتبار هذه الدقة (أي أن القرار يستند إلى صفحات الذاكرة).

باستخدام عداد 8- بايت لكل كتلة، يلزم وجود 1512 بايت بحجم الذاكرة لتخزين توزيع الكتابة التقريبي (على سبيل المثال، 2 ميجا بايت عند تعقب 1 جيجا بايت من الذاكرة الرئيسية).

يتطلب التدفق التفصيلي لالتقاط الهدف لكل عينة كتابة والوصول إلى الكتابة في الذاكرة تقنيتين ليتم تنفيذها. أولاً، يجب إنشاء مصيدة بعد كل نموذج كتابة من خلال الوصول للكتابة، وبالتالي يمكن تنفيذ التقريب اتخاذ إجراء. بعد ذلك، يجب تحديد هدف الوصول إلى الذاكرة والكتابة وتخزينه في بنية البيانات.

سيتم ذكر كلا التطبيقين بالتفصيل لاحقًا. على الرغم من النهج الذي اتبعه Gogte وآخرون. [6] يسمح بالتقاط مباشر لطلبات CPUwrite على فترات زمنية لعينات، ويعتمد أسلوبهم على إمكانية تصحيح الأخطاء المتخصصة.

توفر طريقتنا بديلاً يستفيد من ميزات الأجهزة المتوفرة على نطاق أوسع. يقترح Vogland Eckert [21] استخدام عدادات الأداء لتحليل تنفيذ تعليمات التطبيق على وجه التحديد. وبالمثل، فإننا نستخدم عدادات الأداء لتحليل استخدام الذاكرة لأحد التطبيقات، على النقيض من ذلك، كما هو موضح في ما يلي.

supplements to boost memory


For more information:1950477648nn@gmail.com

قد يعجبك ايضا