কম বিরতি জিসির পিছনে অ্যালগরিদমগুলি কী কী?


12

উদাহরণস্বরূপ জাভা-র জন্য কয়েকটি ভাষায় স্বল্প বিরতির জিসি প্রবর্তন করা হয়েছে।

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

সুতরাং মূলত, এর পিছনে অ্যালগরিদম (গুলি) কী?

গবেষণা বিষয়গুলি বা সত্যই প্রযুক্তিগত নিবন্ধের লিঙ্কটি বৈধ উত্তর হিসাবে বিবেচিত হবে, কারণ এই বিষয়টি সত্যই প্রযুক্তিগত।

উত্তর:


16

সুতরাং মূলত, এর পিছনে অ্যালগরিদম (গুলি) কী?

এটি মূলত একটি চিহ্ন এবং সুইপ অ্যালগরিদম যা "ঠিক" পৃথক থ্রেডে একযোগে চালিত হয়

যে বিষয়ে গবেষণামূলক কাগজপত্র হিসাবে:


5

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

এখানে জেরেমি ম্যানসনের একটি ব্যাখ্যা দেওয়া হল :

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


5

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

আর একটি জিসি রয়েছে যা গতিশীল ডিফ্র্যাগমেন্টেশন করে এবং হার্ড-রিয়েলটাইম প্রয়োজনীয়তাগুলি পূরণ করে, তবে আমি কেবলমাত্র রেফারেন্সটি পাই তা এখানে (এসিএম সদস্যতা প্রয়োজন)।

একটি আকর্ষণীয় সমকালীন আবর্জনা সংগ্রহকারী স্টপলস । এটি theতিহ্যবাহী চিহ্ন-এবং-স্যুইপ পদ্ধতির ব্যবহার করে তবে এটি মাল্টিপ্রসেসর সিস্টেমগুলিতে ব্যবহারের জন্য ডিজাইন করা হয়েছে এবং লক-ফ্রি সমকালীন মাল্টিথ্রেডিং সমর্থন করে।


সুন্দর! খুব খারাপ আমার এসিএম অ্যাক্সেস নেই, এই নিবন্ধটি সত্যিই আকর্ষণীয় দেখায়।
311

2

এটি কাজ করার কারণটি হ'ল জাভাতে, কেবলমাত্র জিসি মেমরি মুক্ত করতে পারে যার মধ্যে জিসি রেফারেন্স থাকতে পারে। এর অর্থ হ'ল যতক্ষণ না আপনি পৃথক থ্রেডে সুরক্ষিতভাবে অবজেক্টগুলি পড়তে পারবেন, স্ট্যাকের রেফারেন্সগুলি পর্যবেক্ষণ করার জন্য আপনার কেবল প্রোগ্রামটি বিরতি দিতে হবে।

আমি পরিবর্তনের জন্য পরামর্শ দেব যে তারা পরিবর্তনের বিষয়ে জিসিকে অবহিত করার জন্য তারা কিছু অনুলিপি-অন-লিখন প্রয়োগ করে।


যতক্ষণ না সেগুলির রেফারেন্স যে কোনও সময় কোনও থ্রেড দ্বারা আপডেট করা সম্ভব।
ডেডালনিক্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.