কেন পোল এপল দিয়ে প্রতিস্থাপন করা হয় না?


8

লেভেল আলোড়ন epollখুব অনুরূপ poll। পরবর্তীগুলিকে সমর্থনকারী সিস্টেমগুলিতে pollকেবল একটি মোড়ক কেন নয় epoll?

সম্পাদনা: মানে, এই জাতীয় সিদ্ধান্তের বিরুদ্ধে কি কোনও প্রযুক্তিগত বাধা রয়েছে? বাস্তবায়নকারী pollহিসাবে epollনাটকীয়ভাবে অনেক নেটওয়ার্কের অ্যাপ্লিকেশনের কর্মক্ষমতা বৃদ্ধি হবে। কিছু প্রযুক্তিগত সমস্যা থাকতে হবে যা আমি লক্ষ্য করতে ব্যর্থ হই।


5
এগুলি সিস্টেম কল system তিনি কী সম্পর্কে কথা বলছেন যদি আপনার কোনও ধারণা না থাকে তবে আপনার এটি দেখার উচিত, তবে তাঁর প্রশ্নটি পুরোপুরি বৈধ।
drrlvn

2
উভয়ই ফাইল বর্ণনাকারীর সেটগুলিতে যে কোনও ক্রিয়াকলাপের জন্য অপেক্ষা করার জন্য সিস্কল। এপল লিনাক্স 2.6+ এর জন্য নির্দিষ্ট। আমি ম্যান পেজগুলিতে লিঙ্ক যুক্ত করেছি।

আমি জানি তারা কি। তবে এমন অনেকগুলি লিনাক্স / ইউনিক্স রয়েছে যেমন সিস্টেমে পোল রয়েছে এবং কোন সংস্করণটি কী তা নির্দিষ্ট করেই প্রশ্নের উত্তর দেওয়া যাবে না।
bmargulies

pollএকটি মোড়ক হিসাবে বাস্তবায়ন epollঅবিশ্বাস্যভাবে জটিল এবং অকার্যকর হবে। হয় আপনি একটি নতুন এপল বর্ণনাকারী সেট আপ করতে এবং প্রতিবার এটি কনফিগার করতে হবে বা আপনি ইপল বর্ণনাকারীর সাথে ইতিমধ্যে সম্পর্কিত একটিতে বর্তমান পোলের সেটটিকে বেদনাদায়ক তুলনা করতে হবে। ইশ!
ডেভিড শোয়ার্জ

উত্তর:


2

পোল সহজ ক্ষেত্রে খুব সহজ; এটি সম্ভবত সংখ্যক ফাইল বর্ণনাকারীর পক্ষে দক্ষ। কলকারীকে পোল এফডি বজায় রাখা এবং এফডি যুক্ত / সরানোর বিষয়ে চিন্তা করার দরকার নেই, তারা প্রতিটি কলটিতে যা চান তার সবগুলিই জরিপে যোগ করতে পারেন।

আমার অনুভূতি হ'ল তারা প্রশংসাসূচক, যদিও পোলটি এপলটির জন্য একটি মোড়ক হিসাবে কার্যকর করা উচিত, এটি সম্ভবত হওয়া উচিত নয়।

এপলটি (প্রায়) জরিপের জন্য মোড়ক হিসাবে কার্যকর করা যেতে পারে তবে এটি তার দক্ষতার যুক্তিগুলিকে পরাস্ত করবে।


1
এটি সবচেয়ে সম্ভাব্য উত্তর। আমি এটি পরীক্ষা করেছি এবং এপল একটি স্থানীয় ফাইলের 1 ফাইল বর্ণনাকারীর জন্য জরিপের তুলনায় 10 গুণ বেশি ধীর (1000 পোল প্রতি 550 আমাদের এবং 1000 এপোল প্রতি 5420 আমাদের (+ সিটিএল + অপেক্ষা + কাছাকাছি তৈরি করুন))। এপল_ওয়েট সম্পূর্ণ জরিপের চেয়ে মাত্র 2 গুণ ধীর ছিল।

1

এর শব্দার্থবিদ্যা poll()এবং epollভিন্ন। যদি poll()আপনাকে অবহিত করে যে কোনও বর্ণনাকারী পঠনযোগ্য, তবে আপনি কিছু পড়েন তবে উপলব্ধ সমস্ত বাইটগুলি পড়েন না এবং তারপরে সেই বিবরণটিকে poll()আবার প্রবেশ করুন , এটি তত্ক্ষণাত জাগবে। আফাইক একই কথা সত্য নয় epoll

এছাড়াও নোট করুন যে epollবর্ণনাকারীরা একটি সীমিত সংস্থান। ম্যানপেজটিepoll_create() ব্যর্থতার অবস্থার বিষয়ে কথা বলে যা আফ্রিকের সাথে ঘটে না poll()

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


1
1. এপোলের ডিফল্ট গন্ধ (স্তর-ট্রিগার) জরিপের মতো কাজ করে (এপোলের ম্যান্যাপের বিবরণ বিভাগ (7) দেখুন)। ২. পোলটি মূলত এপল_ক্রিয়েট + এপল_সিটিএল + এপল + অপেক্ষা + বন্ধ। সুতরাং এই কাল্পনিক পোলে ব্যবহৃত এপল বর্ণনাকারীর সংখ্যা এক সাথে থ্রেড সংখ্যার দ্বারা আবদ্ধ। সুতরাং সর্বাধিক সংখ্যক থ্রেড প্রতিফলিত করার জন্য ম্যাক্স_উসার_ইনস্ট্যান্টগুলি সামঞ্জস্য করার কিছু কৌশল থাকতে পারে। ৩. এই অনুমানগুলি কী ছিল তা সম্পর্কে কৌতূহলের কারণে আমি এই প্রশ্নটি পোস্ট করেছি।

1

ঠিক আছে, 7 বছর পরে ইভান ক্লিটজকের এই নিবন্ধটির উপর ভিত্তি করে আমার আরও দৃ conv় প্রত্যয়যুক্ত উত্তর রয়েছে।

প্রথমত, যে প্রশ্নটি আমি প্রথম স্থানে জিজ্ঞাসা করেছি তা হল / এর epollতুলনায় প্রায়শই উল্লিখিত পারফরম্যান্স সুবিধা । শব্দটি (ও ( এন )) এর চেয়ে অসম্পূর্ণভাবে আরও কার্যকর (ও (1)) হয় goespollselectepollpoll

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

এটি খুঁজে পাওয়া আকর্ষণীয় হবে যে কোনও পুনরায় সূচিত থ্রেডটি ঠিক কীভাবে এফডি এটিকে জাগিয়ে তুলেছিল তা আবিষ্কার করে তবে এটি সম্ভবত সম্ভব যে এই ডেটুমটি এপল-ট্রিগারযুক্ত জাগরণের সময় পেরিয়ে গেছে।

স্পষ্টতই, poll/ শব্দার্থবিজ্ঞান পৃথক হওয়ায় প্রান্ত-ট্রিগারযুক্তselect ব্যবহার করতে পারে না । যেমনটি আমরা দেখেছি, স্তর-ট্রিগারযুক্ত সাথে বাস্তবায়ন অ্যাসিম্পটোটিক কার্যকারিতা সুবিধা আনবে না। এবং সম্ভবত, ধ্রুবক কারণ বা ধ্রুবক শর্তগুলি উচ্চতর হলে এগুলি নেতিবাচকভাবেও প্রভাবিত করে (যেমন তারা মোটা বেঞ্চমার্কের উপর ভিত্তি করে বলে মনে হচ্ছে যা আমি করেছি এবং অন্য একটি মন্তব্যে উদ্ধৃত করা হয়েছে)। epoll epoll

আরও তথ্যের জন্য, দয়া করে ব্লকিং I / O, ননব্লকিং আই / ও, এবং এপল পড়ুন

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