জেফ ডিনের "প্রতিটি প্রোগ্রামারকে জানা থাকা বিলম্বের সংখ্যাগুলি" কীভাবে বিভিন্ন হার্ডওয়্যার প্রয়োগের প্রসঙ্গে সঠিক হতে পারে?


11

আমি গুগলের জেফ ডিনকে দায়ী করে এই বিলম্বের সংখ্যাগুলির চার্টটি উল্লেখ করছি ।

আমি যে জিনিসটি বুঝতে পারি না তা হ'ল, এই সংখ্যাগুলি কি হার্ডওয়্যারের এক সেট থেকে পরেরটিতে আলাদা হয় না? এগুলি সমস্ত ধরণের র‌্যাম, সিপিইউ, মাদারবোর্ড, হার্ড ড্রাইভ ইত্যাদির জন্য কীভাবে সঠিক হতে পারে?


People.eecs.berkeley.edu/~rcs/research/interactive_latency.html দেখুন যা দেখায় যে বছরগুলিতে সংখ্যাগুলি কীভাবে পরিবর্তিত হয় (প্রতি প্রতিনিধি হার্ডওয়্যার)।
শ্রীভাতসার

উত্তর:


14

এই সংখ্যাগুলি ( নরভিগের শিখুন নিজেকে প্রোগ্রামিং 10 বছরের মধ্যে তালিকাভুক্তও ) আনুমানিক, কেবলমাত্র (ক্রমের) আকার হিসাবে কার্যকর।

প্রকৃতপক্ষে, আজকের হার্ডওয়্যার (কমপক্ষে ডেস্কটপ বা ল্যাপটপের জন্য) সস্তার 300 € ল্যাপটপ এবং হাই-এন্ড 10 কে € ওয়ার্কস্টেশনের মধ্যেও তেমন কোনও পার্থক্য নেই। গতি সর্বাধিক 2 বা 4 এর একটি ফ্যাক্টর দ্বারা পরিবর্তিত হয়। এই জাতীয় ওয়ার্কস্টেশনে বৃহত্তর ডিস্ক, আরও বেশি কোর, ক্যাশে এবং র‌্যাম থাকতে পারে। তবে এটি কাঁচা একক থ্রেডেড পারফরম্যান্সে খুব বেশি প্রভাব ফেলবে না।

Http://openbenchmarking.org/ বা কিছু সিপিইউ তুলনাকারীর কয়েকটি চিত্র দেখুন ।

তথাকথিত মুরের আইন করা হয় মরণ । বাড়িতে আমার 3+ বছরের পুরানো ডেস্কটপ (একটি i3770K) কিছু আই 6700 দ্বারা প্রতিস্থাপন করা যেতে পারে (আজ মার্চ 2016 এ) যা কেবলমাত্র 20% দ্রুত।


7

সংখ্যাগুলি নির্ভুল হতে বোঝানো হয়নি। এটি গুরুত্বপূর্ণ স্তরগুলির মধ্যে প্রস্থের ক্রমগুলির মধ্যে অনুপাত

যাইহোক, যখন একটি বিঘ্নজনক প্রযুক্তি উপস্থিত হয় (যেমন ক্লাউড কম্পিউটিং, 10 গিগাবাইট / 100 গিগাবাইট ইথারনেট, নতুন নেটওয়ার্কিং কার্নেল মডিউল, এসএসডি স্টোরেজ নেটওয়ার্কগুলি, ভার্চুয়ালাইজেশন এবং ধারককরণ), নতুন সংখ্যার উপস্থিতি, অদৃশ্য হয়ে যাওয়া বা চারপাশে বদল হওয়ার কারণে এই সংখ্যাগুলি বাতিল করা যেতে পারে।

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

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

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

বেশিরভাগ সফ্টওয়্যার সংস্থাগুলি উপাদান স্তরটিতে কাজ করে না - উপাদানগুলি একসাথে স্থাপন থেকে সম্পূর্ণ কার্যক্ষম সফ্টওয়্যার সিস্টেমগুলি তৈরি করা যেতে পারে। এই সফ্টওয়্যার সংস্থাগুলিকে কীভাবে বিলম্বের ক্ষেত্রে উপাদানগুলি ইঞ্জিনিয়ার করতে হবে সেদিকে মনোনিবেশ করার দরকার নেই; পরিবর্তে তাদের পছন্দসই উপাদানগুলির মূল্যায়ন করা উচিত।

সংক্ষিপ্তসার হিসাবে, (1) এটি খুব সম্ভব যে আপনার বিলম্বের সংখ্যাগুলি জানতে হবে না; (২) আপনি যদি এমন কোনও সংস্থা দ্বারা নিযুক্ত না হতে চান যা সফ্টওয়্যার উপাদান (লাইব্রেরি) তৈরি করে, বিক্রয়ের জন্য হোক বা অভ্যন্তরীণ ব্যবহারের জন্য (যেমন বিশ্বের কয়েকটি বৃহত্তম সফ্টওয়্যার সংস্থার মতো), (3) আপনার যদি এই সংখ্যার প্রয়োজন হয়, বৈজ্ঞানিকভাবে সঠিক উপায়ে নিজেই মানদণ্ডগুলি করা আপনার কাজ, অন্যথায় আপনি সফ্টওয়্যার উপাদানগুলিতে কাজ করা উচিত নয়।


3

কেউ কোনও দাবি করেনি যে এই সংখ্যাগুলি কোনও হার্ডওয়ারের জন্য নির্ভুল।

তবে এগুলি অন্ধ অনুমানের চেয়ে অনেক বেশি নির্ভুল। দুর্ভাগ্যক্রমে অনেক লোক তাদের কোডটি বেস করে।


2

এগুলি পুরোপুরি নির্ভুল নয় এবং এগুলি সত্যই হ'ল উদ্দেশ্য নয়।

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

একই সময়ে, হ্যাঁ, প্রস্থের অর্ডারগুলি সবচেয়ে কার্যকর অংশ হতে পারে। উদাহরণস্বরূপ, নিবন্ধের চেয়ে মূল স্মৃতি থেকে ডেটা অ্যাক্সেস করতে প্রায় 100 গুণ বেশি সময় লাগে। হ্যাঁ, একটি মেশিনে এটি প্রায় 97 গুণ বেশি দীর্ঘ হতে পারে এবং অন্যটিতে এটি 127 গুণ বেশি দীর্ঘ হতে পারে। এটি অবশ্যই প্রায় 10 বা 1000 এর তুলনায় 100 এর কাছাকাছি হতে চলেছে।

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


0

অবশ্যই সংখ্যাগুলি প্রতিটি মেশিনের জন্য নির্ভুল হতে পারে না। এবং আমার ধারণা তাদের কখনই করা উচিত ছিল না। যদিও তারা বিভিন্ন ধরণের ক্রিয়াকলাপগুলির মধ্যে প্রস্থের ক্রমের মধ্যে পার্থক্য দেখায়।

আপনার লিঙ্ক করা ডেটার মন্তব্যে আপনি আরও কিছু দরকারী লিঙ্ক এবং ডেটা পেতে পারেন।

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