CCW: কাজের চাপে স্থানিক এলাকা বিবেচনা করে কপি-অন-রাইট অপ্টিমাইজ করা পার্ট 1

Apr 02, 2024

বিমূর্ত:

কপি-অন-রাইট (CoW) একটি অপরিহার্য মেমরি পরিচালনার কৌশল যা প্রক্রিয়াগুলির মধ্যে দক্ষ পৃষ্ঠা ভাগাভাগি সক্ষম করে। বিশেষত, কাঁটাচামচ সিস্টেমকলের সাথে মিলিত CoW, অ্যাপ্লিকেশনগুলি, এমনকি একটি বিশাল মেমরির পদচিহ্ন সহ, কম ওভারহেডে বর্তমান ইন-মেমরি ডেটার একটি স্ন্যাপশট নিতে পারে।

মেমরি ডেটা বলতে কম্পিউটারের মেমরিতে সংরক্ষিত ডেটা বোঝায়। যদিও এটি মানুষের স্মৃতি থেকে আলাদা, তবে দুটির মধ্যে একটি নির্দিষ্ট সংযোগ রয়েছে।

প্রথমত, মেমরি ডেটা মানুষের স্মৃতির বিকাশকে উন্নীত করতে পারে। উদাহরণস্বরূপ, আমরা জ্ঞান শিখতে, মনে রাখতে এবং বুঝতে সাহায্য করার জন্য কম্পিউটারের রেকর্ডিং, স্টোরেজ এবং পুনরুদ্ধারের ফাংশন ব্যবহার করতে পারি। আধুনিক প্রযুক্তি আমাদের মনে রাখার এবং শেখার আরও কার্যকর উপায় সরবরাহ করে, যা নিশ্চিত করে যে আমরা জ্ঞান এবং দক্ষতা আরও ভালভাবে আয়ত্ত করতে পারি।

দ্বিতীয়ত, মেমরি ডেটা মানুষকে তাদের স্মৃতিকে আরও ভালভাবে পরিচালনা করতে সাহায্য করতে পারে। সুন্দরভাবে সংগঠিত এবং শ্রেণীবদ্ধ করার মাধ্যমে, আমরা আমাদের প্রয়োজনীয় তথ্যগুলি আরও দ্রুত খুঁজে পেতে এবং স্মরণ করতে পারি, যা আমাদের জীবন, কাজ এবং অধ্যয়নের জন্য অত্যন্ত গুরুত্বপূর্ণ।

সবচেয়ে গুরুত্বপূর্ণ, ইন-মেমরি ডেটা মানুষের স্মৃতিশক্তি হ্রাস রোধ করে। সময়ের সাথে সাথে মানুষের স্মৃতি ধীরে ধীরে দুর্বল হয়ে যায়, একটি প্রক্রিয়া যার নাম "ভুলে যাওয়া"। যাইহোক, একটি কম্পিউটারের হার্ড ড্রাইভে ডেটা সংরক্ষণ করে, আমরা নিশ্চিত করতে পারি যে আমাদের প্রয়োজনীয় তথ্য এবং স্মৃতিগুলি যে কোনও সময় ধরে রাখা এবং পুনরুদ্ধার করা যেতে পারে।

অতএব, মেমরি ডেটা এবং মানুষের স্মৃতির মধ্যে সম্পর্ককে ইতিবাচক বলা যেতে পারে। যদিও আমাদের প্রযুক্তির উপর খুব বেশি নির্ভর করা উচিত নয়, মেমরি ডেটার যুক্তিসঙ্গত ব্যবহার আমাদের কাজের দক্ষতা এবং শেখার ফলাফলগুলিকে উন্নত করতে পারে, আমাদের মেমরিকে আরও ভালভাবে পরিচালনা করতে সাহায্য করতে পারে এবং ভুলে যাওয়া প্রতিরোধ করতে পারে। এটা দেখা যায় যে আমাদের স্মৃতিশক্তি উন্নত করতে হবে, এবং Cistanche deserticola উল্লেখযোগ্যভাবে স্মৃতিশক্তি উন্নত করতে পারে কারণ Cistanche deserticola হল একটি ঐতিহ্যবাহী চীনা ঔষধি উপাদান যার অনেকগুলি অনন্য প্রভাব রয়েছে, যার মধ্যে একটি হল স্মৃতিশক্তি উন্নত করা। Cistanche deserticola এর কার্যকারিতা ট্যানিক অ্যাসিড, পলিস্যাকারাইডস, ফ্ল্যাভোনয়েড গ্লাইকোসাইড ইত্যাদি সহ একাধিক সক্রিয় উপাদান থেকে আসে। এই উপাদানগুলি বিভিন্ন পথের মাধ্যমে মস্তিষ্কের স্বাস্থ্যকে উন্নীত করতে পারে।

improve memory

মেমরি বাড়ানোর ১০টি উপায় জেনে নিন ক্লিক করুন

যাইহোক, যেহেতু পৃষ্ঠা ফল্ট হ্যান্ডলারে প্রতি পৃষ্ঠায় CoW স্থান নেয়, প্রতিবার পৃষ্ঠার ত্রুটি ঘটলে অপারেটিং সিস্টেম জড়িত হওয়া উচিত। এটি লেখার-নিবিড় কাজের চাপের জন্য উল্লেখযোগ্য কর্মক্ষমতা হ্রাসের দিকে পরিচালিত করে।

এই কাগজটি কভারেজ-ভিত্তিক কপিঅন-রাইট (CCoW), একটি অপ্টিমাইজড CoW স্কিম প্রস্তাব করে যা CoW এর সমস্যা প্রশমিত করার জন্য মেমরি অ্যাক্সেসে স্থানীয়তা বিবেচনা করে। CCoW কভারেজের ধারণার সাথে প্রক্রিয়া ঠিকানা স্পেসগুলিতে স্থানিক স্থান পরিমাপ করে।

CoW প্রক্রিয়াকরণের সময়, CCoW উচ্চ-স্থানীয় মেমরি অঞ্চলগুলির জন্য একাধিক পৃষ্ঠাগুলি অগ্রিম অনুলিপি করে, যার ফলে লেখার-নিবিড় কাজের চাপের জন্য OS-এর সম্পৃক্ততা কমিয়ে দেয়। আমরা স্থানীয়তা পরিমাপের চ্যালেঞ্জগুলি ব্যাখ্যা করি এবং ধারণাটি বাস্তবায়নের জন্য অপ্টিমাইজেশন প্রদান করি।

একটি প্রোটোটাইপের সাথে মূল্যায়ন দেখায় যে এই পদ্ধতিটি অল্প পরিমাণে মেমরির ওভারহেড সহ 10% পর্যন্ত অ্যাপ্লিকেশনগুলির সামগ্রিক কর্মক্ষমতা উন্নত করতে পারে।

কীওয়ার্ড: কপি-অন-রাইট; ভার্চুয়াল মেমরি সিস্টেম; কাঁটা রেডিস; পৃষ্ঠার দোষ।

1। পরিচিতি

একটি অপারেটিং সিস্টেমের (OS) প্রাথমিক ভূমিকা হল মূল্যবান সিস্টেম সংস্থানগুলি পরিচালনা করা, এবং কপি-অন-রাইট (CoW) হল সবচেয়ে মৌলিক মেমরি পরিচালনার কৌশলগুলির মধ্যে একটি যা বেশিরভাগ সমসাময়িক অপারেটিং সিস্টেম দ্বারা গৃহীত হয়।

যখন দুই বা ততোধিক প্রক্রিয়ার একই ডেটা থাকা প্রয়োজন, তখন CoW স্কিম প্রক্রিয়াগুলিকে অবিলম্বে পৃষ্ঠাগুলির নকল না করে একই পৃষ্ঠাগুলি ভাগ করার অনুমতি দেয়৷ ভাগ করা পৃষ্ঠাগুলি চাহিদার উপর সদৃশ করা হয়, শুধুমাত্র যখন একটি প্রক্রিয়া ভাগ করা পৃষ্ঠাগুলিতে লেখা হয়।

ভার্চুয়াল মেমরি সিস্টেমগুলি কার্যকরভাবে প্রক্রিয়াগুলির মধ্যে ডেটা ভাগ করে নেওয়ার ব্যবস্থা করতে পারে এবং বিভিন্ন ভার্চুয়াল মেমরি বৈশিষ্ট্যগুলি, যেমন প্রসেস ফর্কের সময় ঠিকানার স্থানের নকল করা, একই পৃষ্ঠাগুলিকে অনুরূপ করা এবং শূন্য পৃষ্ঠা ভাগ করে নেওয়া, কপি-অন-রাইট [1-3] এর উপর ভিত্তি করে প্রয়োগ করা হয়। এই বৈশিষ্ট্যগুলির কারণে, অ্যাপ্লিকেশনগুলি কম স্পেসওভারহেডের সাথে নিজেদের একটি অনুলিপি তৈরি করতে পারে এবং ক্লোনটি যথাযথভাবে ব্যবহার করতে পারে।

উদাহরণস্বরূপ, রেডিস, জনপ্রিয় ইন-মেমরি-কি-ভ্যালু স্টোর সিস্টেমগুলির মধ্যে একটি [৪], স্টোরেজের ইন-মেমরি ডেটার জন্য কল করার জন্য ফর্ক সিস্টেমের সাথে কপি-অন-রাইট ব্যবহার করে। অন্তর্মুখী অনুরোধগুলি পরিবেশন করার সময়, Redis প্রধান প্রক্রিয়াটি পর্যায়ক্রমে কাঁটা দিয়ে একটি শিশু প্রক্রিয়া তৈরি করে। সঞ্চয়স্থানে মেমরির ডেটা সংরক্ষণ করার জন্য মূল প্রক্রিয়ার অনুরূপ অ্যামেমোরি স্ন্যাপশট দিয়ে চাইল্ড প্রক্রিয়া শুরু হয়।

short term memory how to improve

স্ন্যাপশট মূল প্রক্রিয়ার ঠিকানা স্থান থেকে বিচ্ছিন্ন কিন্তু কপি-অন-রাইট দ্বারা পরিচালিত হয়, প্রধান এবং চাইল্ড প্রক্রিয়াগুলির বর্তমান ডেটা এবং স্ন্যাপশটের মধ্যে সামঞ্জস্য বজায় রাখার জন্য কোনও জটিল প্রক্রিয়ার প্রয়োজন হয় না।

সুতরাং, আমরা বিবেচনা করতে পারি যে ভার্চুয়াল মেমরি সিস্টেমে কপি-অন-রাইট অপরিহার্য। যাইহোক, বর্তমান কপি-অন-রাইট লেখা-নিবিড় কাজের চাপ সহ মেমরি-নিবিড় অ্যাপ্লিকেশনগুলিতে সমস্যাযুক্ত। বিশেষত, ডেটা ডুপ্লিকেশন সাধারণত ওএস-এর পেজফল্ট হ্যান্ডলারে ঘটে। যেহেতু ডেটা ডুপ্লিকেশন প্রতি পৃষ্ঠায় প্রক্রিয়া করা হয়, বেশ কয়েকটি লেখার সাথে, প্রক্রিয়াটি যথেষ্ট সংখ্যক পৃষ্ঠার ত্রুটির কারণ হতে পারে।

OS প্রতিটি পৃষ্ঠার ত্রুটির সাথে জড়িত, যার ফলে ঘন ঘন ব্যবহারকারী-কারনেল মোড সুইচ হয়। মেমরি-নিবিড় অ্যাপ্লিকেশনের বিশাল মেমরিফুটপ্রিন্ট বিবেচনা করে, মোড সুইচের সংখ্যা বড়।

এছাড়াও, নকলের সময় পৃষ্ঠা টেবিলটি পরিবর্তন করা হয়, যা সিস্টেমের সমস্ত কোরের অনুবাদ লুক-সাইড বাফার (TLB) শুটডাউনের দিকে নিয়ে যায়। এই সবগুলি অ-নগন্য ওভারহেড বহন করে এবং অ্যাপ্লিকেশনগুলির কার্যকারিতাকে খারাপ করে।

এই কাগজটি কভারেজ-ভিত্তিক কপি-অন-রাইট (CCoW), একটি অভিনব কপি-অন-রাইট অপ্টিমাইজেশান স্কিম প্রস্তাব করে। যখন একটি পৃষ্ঠা লেখার জন্য অ্যাক্সেস করা হয়, তখন মেমরি অ্যাক্সেসে স্থানিক স্থানের কারণে এর কাছাকাছি পৃষ্ঠাগুলিও লেখার জন্য শীঘ্রই অ্যাক্সেস করা যেতে পারে। কপি-অন-রাইটের জন্য পৃষ্ঠার ত্রুটির সংখ্যা কমাতে সিসিওডব্লিউ স্থানিক এলাকার ব্যবহার করে। বিশেষ করে, CCoW একটি বৃহৎ গ্রানুলারিটিতে (একটি অঞ্চল বলা হয়) কপি-অন-রাইট প্রক্রিয়া করে।

পৃষ্ঠা ফল্ট হ্যান্ডলারে একাধিক পৃষ্ঠা অনুলিপি করার মাধ্যমে, CCW কপি-অন-রাইট এবং সহগামী ওভারহেডগুলির জন্য উল্লেখযোগ্য সংখ্যক পৃষ্ঠার ত্রুটি কমাতে পারে। যাইহোক, স্থানিক স্থানের ডিগ্রী প্রক্রিয়া ঠিকানা স্থানের অবস্থানের উপর নির্ভর করে ব্যাপকভাবে পরিবর্তিত হয়, এবং মেমরির নিম্ন-স্থানীয় অংশগুলির অনুলিপি শুধুমাত্র সময় এবং স্থানের পরিপ্রেক্ষিতে ওভারহেডগুলিকে বহন করে।

এই ঘাটতি কাটিয়ে ওঠার জন্য, আমরা প্রসেস অ্যাড্রেস স্পেসে স্থানিক স্থানীয়তা মূল্যায়ন করার জন্য একটি সুনির্দিষ্ট নিম্ন-ওভারহেড প্রক্রিয়া প্রস্তাব করি। CCoW প্রতিটি অঞ্চলে অনুলিপি-অন-লেখার সংখ্যা গণনা করে এবং লেখে।

কাঁটাচামচের উপর স্থানীয় তথ্য বহন করে, আমরা স্থানিক লোকালয়ের মাত্রা অনুমান করতে পারি, এবং CCOW কার্যকরভাবে উচ্চ-স্থানীয় অঞ্চলগুলির জন্য প্রিকোপিওনলি সম্পাদন করে। আমরা লিনাক্স কার্নেলে প্রস্তাবিত CCOW স্কিমটি বাস্তবায়ন করেছি।

অপারেটিং সিস্টেমের ভার্চুয়াল মেমরি সিস্টেমের সাথে সংহত হওয়ার কারণে, অ্যাপ্লিকেশনগুলি পরিবর্তন ছাড়াই CCOW থেকে উপকৃত হতে পারে। আমরা একটি মাইক্রোবেঞ্চমার্কের সাথে কর্মক্ষমতা বৈশিষ্ট্য বিশ্লেষণ করেছি, এবং বাস্তবসম্মত কাজের চাপ সহ বেঞ্চমার্ক ব্যবহার করে মূল্যায়ন দেখায় যে CCW মেমরি ওভারহেডের যুক্তিসঙ্গত পরিমাণের সাথে 10% পর্যন্ত অ্যাপ্লিকেশন কর্মক্ষমতা উন্নত করতে পারে।

ways to improve memory

এই কাগজের বাকি নিম্নলিখিত হিসাবে সংগঠিত হয়. বিভাগ 2-এ, আমরা ভার্চুয়াল মেমরি এবং কাঁটা সহ কাগজের পটভূমি এবং সম্পর্কিত কাজ ওভারভিউ করি। আমরা সিসিওডব্লিউ ডিজাইনের বিশদ বিবরণ এবং ধারা 3-এ এর বাস্তবায়ন ব্যাখ্যা করি। বিভাগ 4 CCW-এর মূল্যায়ন ফলাফল উপস্থাপন করে। পরিশেষে, আমরা এই কাগজটি সেকশন 5 এ শেষ করি।

2. পটভূমি এবং সম্পর্কিত কাজ

2.1। পেজিং এবং ভার্চুয়াল মেমরি

প্রায় সমস্ত আধুনিক কম্পিউটার এবং অপারেটিং সিস্টেম তাদের প্রাথমিক মেমরি ম্যানেজমেন্ট স্কিম হিসাবে পেজিং এবং ভার্চুয়াল মেমরি গ্রহণ করে [৫]। প্রধান মেমরি একই আকারের পৃষ্ঠাগুলিতে বিভক্ত, এবং OSs পৃষ্ঠা ইউনিটে ব্যবহারকারীর প্রক্রিয়া থেকে মেমরি বরাদ্দ বা ডিলোকেট করে।

OSগুলি সিস্টেমের শারীরিক অবস্থানে প্রসেসের ঠিকানা স্থানগুলির ম্যাপিংগুলিও বজায় রাখে। প্রসেস অ্যাড্রেস স্পেসের প্রতিটি যৌক্তিক পৃষ্ঠা তার ভৌত অবস্থানে ম্যাপ করা হয় এবং এই ম্যাপিং একটি পৃষ্ঠা টেবিল আকারে সংরক্ষণ করা হয়।

একটি প্রক্রিয়ার জন্য মেমরির রেফারেন্স পরিচালনা করতে, একটি মেমরি ম্যানেজমেন্ট ইউনিট (এমএমইউ), প্রসেসরের একটি হার্ডওয়্যার উপাদান, পৃষ্ঠা টেবিলের উল্লেখ করে অনুরোধ করা ঠিকানাটিকে তার প্রকৃত ঠিকানায় অনুবাদ করে। পৃষ্ঠা টেবিলে পৃষ্ঠা টেবিল এন্ট্রি (PTEs) রয়েছে। প্রতিটি PTE ম্যাপিং তথ্য ধারণ করে এবং সংশ্লিষ্ট পৃষ্ঠা এবং ম্যাপিংয়ের অবস্থা বর্ণনা করার জন্য অতিরিক্ত ক্ষেত্র থাকতে পারে।

পৃষ্ঠার আকার, যদিও আর্কিটেকচার-নির্দিষ্ট, বেশিরভাগ আর্কিটেকচারে সাধারণত 4 KB হয়৷ এর অর্থ হল যে প্রসেস অ্যাড্রেস স্পেসের প্রতিটি 4 KB এর একটি PTE থাকা উচিত৷ প্রসেস অ্যাড্রেস স্পেসের বিশাল আকার বিবেচনা করে, পৃষ্ঠা টেবিলের আকার, এমনকি একটি একক প্রক্রিয়ার জন্যও বিশাল হতে পারে।

উদাহরণস্বরূপ, 4 KB পৃষ্ঠা এবং 8-বাইট PTE সহ 64-বিট আর্কিটেকচারে একটি প্রক্রিয়ার জন্য পৃষ্ঠা টেবিলের আকার হবে 32 PB (264/212 × 8=255 বাইট)। যাইহোক, ঠিকানার স্থান সাধারণত কম জনবহুল হয় এবং বেশিরভাগ ঠিকানার স্থানের প্রয়োজন হয় না।

এটি পৃষ্ঠা টেবিলের শ্রেণীবদ্ধ সংগঠনকে আলোকিত করে। পুরো পৃষ্ঠা টেবিলটি পৃষ্ঠা টেবিলের টুকরোগুলিতে বিভক্ত যা একটি পৃষ্ঠায় ফিট করে। পৃষ্ঠা টেবিলের অংশগুলি অ-বরাদ্দকৃত ঠিকানা অঞ্চলগুলিতে বরাদ্দ করা হয় না।

memory enhancement

জনবহুল পৃষ্ঠা টেবিল টুকরা ashigher-স্তরের পৃষ্ঠা টেবিল টুকরা সংক্ষিপ্ত করা যেতে পারে. এই পরোক্ষটি পুনরাবৃত্তি করা হয় যতক্ষণ না শুধুমাত্র একটি পৃষ্ঠায় টুকরা থাকে, যার ফলে পৃষ্ঠা টেবিলের একটি কম্প্যাক্ট ফর্ম অনুমতি দেয়।


For more information:1950477648nn@gmail.com

তুমি এটাও পছন্দ করতে পারো