পরীক্ষা-নিরীক্ষার জন্য সর্বসম্মত সংখ্যা কেন, 2?


17

উইকিপিডিয়া অনুসারে ,

পরীক্ষা-সেট-অপারেশন দুটি সমবর্তী প্রক্রিয়া ছাড়া আর অপেক্ষা-মুক্ত সম্মতি সমস্যার সমাধান করতে পারে can

কেন এটি দুটির বেশি প্রক্রিয়ার জন্য সমস্যার সমাধান করতে পারে না?

উত্তর:


17

কেবল আমরা একই পৃষ্ঠায় রয়েছি তা নিশ্চিত করার জন্য প্রথমে আমাদের এই তিনটি সংজ্ঞা বিবেচনা করুন:

সংজ্ঞা। টেস্ট-অ্যান্ড-সেট হ'ল কিছু বাইনারি রেজিস্ট্রারের উপর একটি রিড-মডিফাই-রাইটিং নির্দেশিকা (আসুন কেবল এটি বলা যাক যে 0 এবং 1 সম্ভাব্য মান) যেখানে কোনও থ্রেড পুরানো মান অর্জন করে এবং 1 লিখেছে।

সংজ্ঞা। ঐকমত্য মধ্যে উপনিত iff এর সকল লিপি এন থ্রেড একই মান উপর (দৃঢ়তা প্রয়োজন) সিদ্ধান্ত নেন এবং সব থ্রেড একটি মান যে আসলে থ্রেডের এক (বৈধতা প্রয়োজন) দ্বারা প্রস্তাবিত হয় সিদ্ধান্ত।এনn

Defintion। প্রতিটি পদ্ধতি কল একটি সীমাবদ্ধ পদক্ষেপের মধ্যে শেষ হয় যদি একটি sensক্যমত্য প্রোটোকল অপেক্ষা-মুক্ত হয়।

এখন দুটি প্রমাণ স্কেচ অনুসরণ করুন।

দাবি 1. পরীক্ষা-নিরীক্ষার sensকমত্য সংখ্যা কমপক্ষে 2. প্রমাণ of মনে করুন যে আমাদের দুটি থ্রেড 0 এবং 1 রয়েছে যা thatকমত্যে পৌঁছাতে হবে। প্রতিটি থ্রেডকে নীচে theক্যমত্য প্রোটোকলটি অনুসরণ করে আমরা এটি করতে পারি:

  1. আপনার প্রস্তাবিত মান লিখুন , যেখানে টি থ্রেড আইডি এবং A হ'ল আকারের অ্যারে।A[t]tA
  2. কিছু রেজিস্টার -তে পরীক্ষা-ও-সেট নির্দেশনাটি সম্পন্ন করুন , আর-এর সাথে প্রাথমিকভাবে 0 থেকে শুরু করে।RR
  3. যদি ফেরতের মান 0 হয় তবে আপনি প্রথমে ছিলেন: ফেরান । অন্যথায়, আপনি দ্বিতীয় ছিলেন: ফিরে A [ | টি - 1 | ]A[t]A[|t1|]

আপনি নিজেকে যাচাই করতে পারেন যে sensক্যমত্য এবং অপেক্ষা-নিখরচায় সন্তুষ্ট।

(পরবর্তী প্রমাণের জন্য, আমি কিছু প্রমাণ এবং সংজ্ঞা নীড় করব কারণ আমার মতে এটি অনুসরণ করা আরও সহজ করে দেবে))

দাবি ২. পরীক্ষা-নিরীক্ষার sensকমত্য সংখ্যাটি সর্বাধিক ২. প্রুফ। দ্বন্দ্ব দ্বারা। ধরুন আমাদের তিনটি , B এবং C রয়েছে যা যথাক্রমে a , b এবং c এর মান নির্ধারণ করতে চায় এবং আমাদের কাছে কিছু বৈধ অপেক্ষা-মুক্ত sensক্যমত্য প্রোটোকল রয়েছে যা পরীক্ষা-ও-সেট ব্যবহার করে প্রয়োগ করা হয় (এবং পরমাণু পড়ে এবং লেখাগুলি ব্যবহার করে) )।ABCabc

আমরা treeকমত্য প্রক্রিয়াটিকে একটি নির্দেশিত বৃক্ষ হিসাবে কল্পনা করতে পারি, যেখানে:

  • মূলটি এমন একটি রাষ্ট্র যেখানে থ্রেডগুলির কোনওটিই 'পদক্ষেপ' করে নি;
  • নোডের বাম শিশুটি সেই রাষ্ট্রকে প্রতিনিধিত্ব করে যা দ্বারা সরানোর পরে ফলাফল হয় , মাঝারি শিশুটি সেই রাষ্ট্রকে উপস্থাপন করে যা বি দ্বারা সরানো পরে ফলাফল দেয় এবং ডান শিশু সেই রাষ্ট্রকে প্রতিনিধিত্ব করে যা সি দ্বারা সরানোর পরে ফলাফল হয় ;ABC
  • একটি লিফ নোড এমন একটি রাষ্ট্রের প্রতিনিধিত্ব করে যেখানে সমস্ত থ্রেড সমাপ্ত হয়েছে। একটি পাত নোড সঙ্গে যুক্ত একটি মান , , অথবা , যেখানে মান নির্ভর করে যার উপর মান নির্দিষ্ট সঞ্চালনের জন্য সিদ্ধান্ত নেওয়া হয়।abc

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

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

সংজ্ঞা। সমালোচনামূলক রাষ্ট্রকে এমন একটি রাষ্ট্র হিসাবে ধরা যাক মাল্টিভ্যালেন্ট, অতিরিক্ত সম্পত্তি যা দ্বারা সরানো একটি নির্ধারণ করে , এবং বি দ্বারা সরানো নির্ধারণ করবে ।একজনএকটিবি

একটি সমালোচনামূলক রাষ্ট্র বিদ্যমান। প্রুফ। উপরে থেকে আমরা জানি যে আমরা একটি মাল্টিভ্যালেন্ট অবস্থায় শুরু করি। আসুন সব সময়ে কোন পদক্ষেপ আছে। যতক্ষণ না A বা B গাছটিকে অবিস্মরণীয় অবস্থায় জোর করে না, ততক্ষণ এটিকে চলাফেরা করতে দিন। অপেক্ষা-নিখরচায়তা গ্যারান্টি দেয় যে গাছ সসীম, তাই কোনও সময়ে একটি সমালোচনামূলক অবস্থার মুখোমুখি হতে হবে। সিএকজনবি

এখন এমন একটি পরিস্থিতি বিবেচনা করুন যেখানে আমরা সংকটজনক অবস্থায় আছি। আছে অন্তত দুই সম্ভাবনার:

1) তার চলন করে (এর মাধ্যমে একটি নির্ধারণ করে ) এবং থামে l বি তারপর তার পদক্ষেপ এবং থামিয়ে তোলে। শেষ হওয়া অবধি পরবর্তী সি চালায়, শেষ পর্যন্ত একজনএকটিবিসিএকটি

2) তার চালচলন করে (এর মাধ্যমে নির্ধারণ করে ) এবং বন্ধ করে দেয়। এটি শেষ না হওয়া পর্যন্ত পরবর্তী সি চালায়, শেষ পর্যন্ত বি একটি পদক্ষেপ না।বিসিএকজন

যেহেতু পারমাণবিক পাঠ্য এবং লেখার conক্যমত্য সংখ্যা 1, তাই এবং B এর চালচলনগুলিকে একই রেজিস্টারে পরীক্ষা-নিরীক্ষার নির্দেশনা থাকতে হয় (যদি রেজিস্টারগুলি পৃথক হয়, তবে সি ক্রমটি কাকে বলতে পারবে না যে A এবং বি এর পদক্ষেপগুলি ঘটেছে)। থেকে সি এর দৃষ্টিকোণ, তারপর, পরিস্থিতিতে 1 এবং 2 আলাদা করে চেনা, তাই আমরা যে থাকতে হবে সি উভয় সিদ্ধান্ত নেয় একটি এবং । এটা অসম্ভব. একজনবিসিএকজনবিসিসিএকটি

যে পরীক্ষা-সেট নির্দেশাবলীর conকমত্য সংখ্যা 2 রয়েছে যা দাবী 1 এবং 2 উভয়ই অনুসরণ করে।


উত্তরের জন্য ধন্যবাদ রায়। আপনি কি এই বিষয়ের কোনও বিষয়বস্তুতে নির্দেশ করতে পারেন যা আপনার ব্যাখ্যার মতোই সুদৃ l়? :)। আমি খুঁজে পাওয়া সমস্ত উপাদান খুব আনুষ্ঠানিক ছিল।
সনাতন

@ সাসানতানা: আমি আপনার প্রশ্নের জবাব দিতে ভুলে গেছি, আমি দুঃখিত। এটি এখনও প্রাসঙ্গিক হলে: আমি হেরলিহি এবং শাভিতের 'আর্ট অফ মাল্টিপ্রসেসর প্রোগ্রামিং' (বিশেষ করে অধ্যায় 5) এবং ফোককিংকের কনকুর ન્સી এবং মাল্টিথ্রেডিং কোর্সের পাঠ্যক্রমের প্রস্তাব করছি: cs.vu.nl/~tcs/cm (যা ভিত্তিক হেরলিহি এবং শভিতের বই)। পৃষ্ঠার নীচে আপনি হার্লিহির ভিডিও লেকচারের একটি লিঙ্ক পাবেন (27 শে সেপ্টেম্বরের বক্তৃতা sensকমত্যের বিষয়ে)। উপাদানটি পর্যালোচনা করার পরে আমি বুঝতে পারি যে এই ধরণের প্রমাণের জন্য বাইনারি গাছ বিবেচনা করা যথেষ্ট। সম্ভবত আমি আমার উত্তরটি পরে আপডেট করব।
রায় ও।

@RoyO। আমি দেখতে পেয়েছি যে আপনার উত্তরটি পরামর্শ দেয় যে 3 টি প্রক্রিয়া নিয়ে sensকমত্যে পৌঁছানোর কোনও উপায় নেই। কেবল বুঝতে চেয়েছিলেন যে কোনও উপায়ে আমরা প্রমাণ করে দিয়েছি যে আমরা এখনও sensকমত্যে পৌঁছতে পারছি কিন্তু সেই প্রোটোকল অপেক্ষা-মুক্ত নয়?
চূড়ান্ত কারণ

6

উইকিপিডিয়া নিবন্ধটিতে এমন একটি উল্লেখ রয়েছে যা আপনার প্রশ্নের উত্তর দেয় তবে সম্ভবত আপনি ২ 26 পৃষ্ঠার কাগজটি পড়তে চান না। আমি (বেশ প্রযুক্তিগত) প্রমাণের একটি সরল সংস্করণ দেব, যা দেখায় যে পরীক্ষা-সেটটি 3 টি প্রক্রিয়ার জন্য বাইনারি conকমত্য সমাধান করতে পারে না। এই জাতীয় যুক্তি সর্বসম্মত সংখ্যার প্রমাণ দেওয়ার জন্য ব্যবহৃত হয়।

ধরা যাক 3 টি প্রক্রিয়ার জন্য টিএএস রেজিস্টারগুলি ব্যবহার করে আমাদের কাছে একটি sensক্যমত্য অ্যালগরিদম রয়েছে।

যে কোনও সময়, প্রতিটি প্রক্রিয়া কার্যকর করার জন্য একটি পদক্ষেপ (নির্দেশ) প্রস্তুত থাকবে। তিনটি নির্দেশাবলীর মধ্যে কোনটি কার্যকর করা হবে তা হ'ল নির্দোষ।

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

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

আসুন এই দুটি সম্ভাব্য মৃত্যুদণ্ড বিবেচনা করুন:

  • প্রক্রিয়া 1 প্রথমে সরানো হয়, তারপরে 2 টি মুভিগুলি প্রক্রিয়া করে, তারপরে একা 3 টি রান প্রক্রিয়া করে
  • প্রক্রিয়া 2 প্রথমে সরানো হয়, তারপরে একা 3 রান করুন

প্রক্রিয়া 3 এর দৃষ্টিকোণ থেকে, এই রাজ্যগুলি পার্থক্যযোগ্য নয় কারণ এটি কেবল প্রক্রিয়া 2 দ্বারা লিখিত মান দেখায় However তবে, প্রথম ক্ষেত্রে এটি আউটপুট হিসাবে 2 এবং আউটপুট হিসাবে দ্বিতীয় দেওয়া উচিত। স্পষ্টতই, এটি একটি বৈপরীত্য।

1 এবং 2 প্রক্রিয়াগুলি নিজেদের মধ্যে সিদ্ধান্ত নিতে পারে যে কোনটি আগে স্থানান্তরিত হয়েছিল (কারণ তারা তাদের লেখার আগে রেজিস্টারে কী মান ছিল তা দেখতে পারে) তবে তৃতীয় দর্শকের প্রক্রিয়াটি তা করতে পারে না।


1

3-প্রসেসরের sensক্যমত্য সমাধানের জন্য পরীক্ষা-সেটকে ব্যবহার করা যায় না তা প্রমাণ করার আরেকটি উপায় হ'ল 2-প্রসেসরের sensক্যমত ব্যবহার করে পরীক্ষা-সেটটি প্রয়োগ করা যেতে পারে to তারপরে, ধরে নিই যে পরীক্ষা-সেটটি 3-প্রসেসরের ;কমত্যকে সমাধান করতে পারে sensকমত্য একটি দ্বন্দ্বের দিকে নিয়ে যায়: মনে করুন যে পরীক্ষা-সেট 3-প্রসেসরের sensকমত্য সমাধান করতে পারে; তারপরে 2-প্রসেসরের sensকমত্য ব্যবহার করে এর বাস্তবায়ন দ্বারা পরীক্ষা-সেট-এর পরিবর্তে 3-প্রসেসরের conকমত্য ব্যবহার করে 3-প্রসেসরের sensকমত্যের বাস্তবায়ন পাওয়া যায় যা অসম্ভব। সুতরাং পরীক্ষা-সেট 3-প্রসেসরের sensকমত্য সমাধান করতে পারে না।

2-প্রসেসরের sensকমত্য ব্যবহার করে এন-প্রসেসরের পরীক্ষা-সেট-সেট বাস্তবায়নের জন্য, প্রসেসররা টুর্নামেন্ট ব্যবহার করে পরীক্ষা-সেট-এর বিজয়ী নির্ধারণ করুন যেখানে প্রতিটি ম্যাচ 2-প্রসেসরের conকমত্য ব্যবহার করে প্রয়োগ করা হয় (একটি ম্যাচে, প্রসেসরগুলি তাদের শনাক্তকারীকে প্রস্তাব দিন এবং sensকমত্যের ফলাফলটি কে জিতবে তা তাদের জানায়)।


0

ব্যবহারিক দিক থেকে কম কঠোর sensক্যমত্য সংজ্ঞা যথেষ্ট হতে পারে (এখানে আমি একে হালকা-sensকমত্য বলি):

সংজ্ঞা । হালকা Conকমত্য n থ্রেডের মধ্যে পৌঁছে যায় if (ক) প্রতিটি থ্রেড হয় একই মান নিয়ে সিদ্ধান্ত নেয় বা মান তার জন্য অজানা, (খ) কমপক্ষে একটি থ্রেড মানটি জানে এবং (গ) এই মানটি আসলে একটির দ্বারা প্রস্তাবিত হয়েছিল থ্রেড।

সুতরাং হালকা অর্থে এই sensক্যমত্যের অনুমতি দেয় যে কিছু থ্রেড sensক্যমত্যকে জানে না, সিদ্ধান্ত নেওয়া মান।

সমান্তরাল : এই হালকা অর্থে পরীক্ষা-সেট-এর সীমাহীন আলো-.কমত্য সংখ্যা রয়েছে।

দাবি : এই হালকা জ্ঞানটি ব্যবহারিক। উদাহরণস্বরূপ, সমালোচনামূলক বিভাগে প্রবেশ করতে থ্রেডটি নির্বাচন করার জন্য কঠোর অর্থে sensক্যমত্য তৈরি করা প্রয়োজন হয় না। এটি বলার জন্য: প্রতিটি থ্রেড এটি নির্বাচন করা হয়েছে কিনা তা জানতে হবে, তবে এটি যদি নির্বাচিত না হয় তবে এটি কোনটি নির্বাচিত হয়েছিল তা জানতে হবে না। অন্য কথায়, পারস্পরিক বর্জনের জন্য কঠোর-sensকমত্যের প্রয়োজন নেই, আলো যথেষ্ট।

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