শেষ থেকে শেষের নীতিটি কি আনুষ্ঠানিক হতে পারে?


10

নব্বইয়ের দশকের শেষের দিকে, যখন আমি স্নাতক স্কুলে ছিলাম, কাগজটি

জেএইচ সল্টজার; ডিপি রিড; ডিডি ক্লার্ক: সিস্টেম ডিজাইনে শেষ থেকে শেষ যুক্তিএসিএম ট্রান্স Comput। Syst। 2 (4): 277-288, 1984. ডিওআই = 10.1145 / 357401.357402

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

শেষ থেকে শেষের নীতিতে বলা হয়েছে (সালটজার এট আল। 1984):

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

বা আরও সংক্ষেপে (বিমূর্ত থেকে):

শেষ থেকে শেষের যুক্তিটি পরামর্শ দেয় যে কোনও নিম্ন স্তরে সরবরাহের ব্যয়ের তুলনায় কোনও সিস্টেমের নিম্ন স্তরে রাখা ফাংশনগুলি অপ্রয়োজনীয় বা অল্প মূল্য হতে পারে।

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

উদাহরণ: অন-চিপ নেটওয়ার্কগুলি (ইন্টারনেটের বিপরীতে) প্যাকেটগুলি ছাড়ার অনুমতি নেই তবে যথেষ্ট সীমিত বাফারিং রয়েছে, তাই আপনার অচলাবস্থার থেকে এড়ানোর বা পুনরুদ্ধারের কিছু উপায় থাকা দরকার। অন্যদিকে, অ্যাপ্লিকেশনটির পাশাপাশি নিজেকে অচল করে দেওয়াও ঠিক আছে, তাই না? সুতরাং আমি যুক্তিযুক্ত হতে পারি যে আমার সাধারণ ঘটনাটি (কোনও অচলিত) দ্রুত করা উচিত এবং অ্যাপটিতে ডেডলক এড়ানো বন্ধ করা উচিত। এটি প্রকৃতপক্ষে, আমরা যা করেছি অ্যালিউইফ এবং ফুগুতে (ম্যাকেনজি, ইত্যাদি।, দ্রুত সুরক্ষিত মেসেজিংয়ের জন্য দ্বি-কেস বিতরণ , এক্সপ্লোর পরিচালনা সিম্প হাই-পারফ্যাক কমপ আর্ট, (এইচপিসিএ -4): 231-242, 1998. বা জন কুবিয়াটভিচের গবেষণামূলক প্রবন্ধ।) এটি "কাজ করেছে" (বাফারগুলি পূরণ হয়ে গেলে এবং আন্তঃসংযোগ প্রসেসরটিতে বাধা পেয়ে এবং সফ্টওয়্যার বাফারিংয়ের মাধ্যমে ওএস সংযোজন করে) তবে আমি একাডেমিয়া বা শিল্পে কাউকে দেখিনি (যার মধ্যে আমরা লেখক ছিলাম এমন কাউকেই দেখিনি) এইচপিসিএ কাগজ) ধারণাটি প্রতিলিপি করার চেষ্টা করে প্রায় রেসিং। সুতরাং আপাতদৃষ্টিতে কোনও নেটওয়ার্কে অচলাবস্থা এড়ানো অ্যাপ্লিকেশন-স্তরের ডেডলক এড়ানো যেমন "প্রশ্নে ফাংশন" নয় বা শেষ থেকে শেষের নীতিটি ভুল।

"কবিতা" থেকে শেষ থেকে শেষের নীতিটি উপপদে রূপান্তর করা কি সম্ভব? বা কমপক্ষে, এটি কোনও কম্পিউটার স্থপতি হিসাবে বোধগম্য পদে বলা যেতে পারে?


এটি কোনও যোগাযোগের প্রসঙ্গে একটি ইন্টারফেসকে অতিরিক্ত নকশাকৃতকরণ বা অতিরিক্ততর করার মতো কিছু শোনায়। প্রায়শই সিএস ইন্টারফেস / এপিআইগুলিতে এমন ফাংশন তৈরি করা হয় যা খুব কম ব্যবহৃত হয় বা প্রত্যাশিত কাঠামো প্রকৃত ব্যবহার / প্রয়োজনীয়তার সাথে সামঞ্জস্য হয় না। উপদেশটি "সচেতন হওয়া এবং যেখানে সম্ভব সেখানে এড়ানো" বলে মনে হচ্ছে।
vzn

আপনার উদাহরণ সম্পর্কে; আপনি উল্লেখ করেছেন: এটি "কাজ করেছে" (বাফারগুলি পূরণ হয়ে গেলে এবং সফ্টওয়্যার বাফারিংয়ের মাধ্যমে ওএস সংযোজনে প্রসেসরের আন্তঃসংযোগ স্থাপনের মাধ্যমে) worked সুতরাং সিপিইউগুলির মধ্যে আন্তঃসংযোগটি "অন্য পর্যায়ে যথেষ্ট নীরব" যাতে অন্য সিপিইউকে নিয়মিত প্রসেসরের মেমরিতে ডেটা বাফার করতে দেয়? এটাই আমার কাছে যথেষ্ট অবর্ণনীয় বলে মনে হচ্ছে।
আলেকজান্দ্রোস

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

উত্তর:


3

আমি বিশ্বাস করি আপনার এন্ড-টু-এন্ড (ই 2 ই) নীতি প্রয়োগের ক্ষেত্রে দুটি ত্রুটি থাকতে পারে:

প্রথমত, এই অর্থে যে আপনি এটি সম্পাদনার জন্য প্রয়োগ করেন। শেষ থেকে শেষ হ'ল একটি নকশা নীতি যেমন আর্কিটেকচার অরথোগোনালিটি, কমপোসিবিলিটি, নিয়মিততা, এক বা সমস্তগুলি, আদিম সরবরাহ প্রদান ইত্যাদি সম্পর্কিত নীতিগুলি সম্পর্কিত পাঠ্যপুস্তকে বর্ণিত হয়েছে। পারফরম্যান্স তাদের মধ্যে একটি নয়। প্রকৃতপক্ষে, ক্লার্ক এট আল, বোঝায় যে কঠোর পরিণতিতে শেষের পরিণতি খারাপ কার্য সম্পাদন করতে পারে তাই এটি এই নীতিটির ব্যতিক্রম হিসাবে এটি ব্যবহার করে।

সুতরাং, আপনি যদি এখনও আনুষ্ঠানিক করতে চান:

"শেষ থেকে শেষ যুক্তি প্রয়োগের প্রয়োজনীয়তার জন্য আবেদন করে এবং স্তরযুক্ত সিস্টেমে ক্রিয়াকলাপকে upর্ধ্বমুখী করার জন্য একটি যুক্তি সরবরাহ করে" যাতে আপনার আনুষ্ঠানিক প্রয়োগের প্রয়োজনীয়তা এবং আনুষ্ঠানিকভাবে স্তরিত সিস্টেমের প্রয়োজন হবে। এখানে এমন একটি প্রচেষ্টা রয়েছে যা এটি আরও এক ধাপ এগিয়ে নিতে সহায়তা করতে পারে:

বলুন যে আপনার কাছে স্তর (i) প্রয়োজনীয়তা রয়েছে (লেয়ার (0) আপনি যে অ্যাপ্লিকেশনগুলির এখনই বা ভবিষ্যতে সমর্থন করতে পারেন সেগুলির সেটগুলির জন্য, অ্যাপ্লিকেশন স্তর) এবং দৃ firm় ইন্টারফেস ইন্টারফেস (i, i + 1) এবং ইন্টারফেস (i + 1) , i) (স্তর 1 থেকে i + 1 প্রাক-অনুমান এখানে কোনও ক্রস-লেয়ারিং নেই, এটি পরিবর্তন করা সহজ এবং এটি প্রয়োজনীয় করে তোলা সহজ) এবং ফাংশন ফাংশন (i, j) (স্তর i, ফাংশন সূচক জে, ফাংশনের ডেটা অংশ ধরে এটি সহজ আছে)

ইনপুট: স্তর (0) প্রয়োজনীয়তা (যেমন আমরা বলেছি এগুলি আনুষ্ঠানিকভাবে করা দরকার)

আউটপুট: অন্য সব

এন্ড-টু-এন্ড আউটপুট একটি আউটপুট যেমন: প্রতিটি এল এর জন্য লেয়ার (এল) কেবল তার ফাংশন (এল, জে) (যেমন স্তরটির মধ্যে ফাংশন) এবং ইন্টারফেস (এল, এল + 1), ইন্টারফেস দ্বারা প্রয়োজনীয়তাগুলি সম্পাদন করে hes (এল + 1 টি, এল)

প্রতিটি লেয়ার এল এবং ফাংশন ফাংশন (এল, এফ) এর জন্য আউটপুটে ফাংশন এস-এর কোনও সেট নেই যেমন ফাংশন (এল, এফ) = এস (= এর অর্থ সমতুল আউটপুট এবং পার্শ্ব-প্রতিক্রিয়া)

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

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