কতবার সিপিইউ গণনা ত্রুটি করে?


22

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



বর্তমানে বিদ্যমান দুটি উত্তর দ্বারা উল্লিখিত পেন্টিয়াম এফডিএল বাগে উইকিপিডিয়া পৃষ্ঠাটি এখানে রয়েছে ।
ক্যাসাবেল

মৌলিক সিপিইউ অপারেশনগুলিতে কোনও প্রকার ব্যাকআপ বা ত্রুটি পরীক্ষা না করেই আমরা পেয়ে যাই, তাই আমরা সহজেই এলোমেলো ক্ষণস্থায়ী কম্পিউটারের ত্রুটির ফ্রিকোয়েন্সিটির জন্য একটি উচ্চতর আবদ্ধ অনুমান করতে পারি। বেশিরভাগ সিপিইউ নির্দেশাবলী গণিতে জড়িত থাকে (মেমরি অপারেশনগুলির পাশাপাশি গণনার জন্য ঠিকানা গণনা করে), এবং আধুনিক সিপিইউগুলি প্রতি সেকেন্ডে কয়েক বিলিয়ন অপারেশন করছে, এটিকে> 1e14 অপারেশনগুলি কল করুন। যদি 10 টির মধ্যে 1 টি গণিত ত্রুটি প্রোগ্রামে স্পষ্ট প্রভাব ফেলে (সম্ভবত একটি কম অনুমান), এবং আমরা প্রতিদিন ভিত্তিতে এই ধরনের ত্রুটি দেখতে না পাই, তবে ALU এর জন্য প্রাথমিক ত্রুটির হারটি <1e-13 হতে হবে এবং আমি <1e-15 অনুমান করবে।
রাসেল বোরোগোভ

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

1
@ লংপোক আমাকেও
নিকোল

উত্তর:


14

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

উপরের বিষয়টি উপেক্ষা করে মনে হচ্ছে মনে হচ্ছে পেন্টিয়ামের শুরুর দিকে কিছু এফপিইউ গণনা বাগ ছিল, সুতরাং এগুলি অবশ্যই ফলপ্রসূ নয়।

আমার হাতে কোনও শক্ত প্রমাণ নেই, তবে আমার অন্ত্রটি আমাকে বলেছে আপনি সম্ভবত ক্যাশে / র‌্যাম / ডিস্কের বিটগুলি সম্পর্কে আরও উদ্বিগ্ন হওয়া উচিত যখন গণনাটি ভুল।


40
কাজ করে এসও অবরুদ্ধ? আপনার সংস্থার কেউ কি সফটওয়্যার বিকাশকে নাশকতার চেষ্টা করছেন?
নিকোল

3
আপনি বলছেন যে যেন এটি কেবলমাত্র একজন ব্যক্তি এবং তারা এখনও সফল হতে পারেনি ...;)
ড্যান ম্যাকগ্রা

9
কর্পোরেট পর্যায়ে এসএফডব্লু সাইটগুলি ব্লক করার যৌক্তিকতা আমি কখনই বুঝতে পারি না। যেহেতু অনুসন্ধান ইঞ্জিনগুলি একটি অত্যন্ত মূল্যবান সরঞ্জাম, আপনার উত্স থেকে প্রাপ্ত তথ্যটি আপনার দেখতে পারা উচিত
টিম পোস্ট

@ ড্যান, এটি অবরোধ মুক্ত করুন। আপনার ঘরে https- টানেলিং করতে সক্ষম হওয়া উচিত।

4
সিস্টেমটিকে বাইপাস করে ধরা ধরা কেবল সমাপ্তির কারণ ছিল। আমি মার্কিন যুক্তরাষ্ট্রে চলে এসেছি এবং একটি নতুন চাকরি পেয়েছি।
ড্যান ম্যাকগ্রা

6

এই দিনটির এই প্রশ্নের উত্তরের একটি বড় সমস্যা হ'ল সিপিইউ উত্পাদনকারীরা এনডিএ (নন-ডিসক্লোজার এগ্রিমেন্ট) এর চিপের জন্য ত্রুটিগুলি আবৃত করে। আইএনআরসি, ইন্টেল এটি করে।

অনেক কম গোপনীয় নির্মাতারা ডেটা শীটটিতে সংশোধন জারি করে, তবে কী পরিবর্তন হয়েছে তা আপনাকে জানায় না, সুতরাং যদি আপনি সমস্ত 300 পৃষ্ঠাগুলির তুলনা করতে কল্পনা করেন না, তবে আপনাকে বলা খুব কঠিন হতে পারে।

সিপিইউতে প্রচুর পরিমাণে খারাপ নির্দেশনা রয়েছে, লিনাক্স কার্নেল রিপোর্টটি বুট-এ পাওয়া যায় তা মাঝারি আকর্ষণীয়।

মেমরির ত্রুটিগুলির বিষয়ে গুগল গুগলটি খুব সম্পর্কিত, তারা আপনার ভাবার চেয়ে সাধারণ। "ওয়াইল্ডে ড্রামের ত্রুটি: একটি বৃহত-স্কেল ফিল্ড স্টাডি" স্কোডার, পিনহেরো এবং ওয়েবার মূলত ২০০৯ সালে এসিএম সিগমেট্রিক্সে প্রকাশিত হয়েছিল the

এই সমস্ত মেমরি ত্রুটি আপনার প্রশ্নটির জন্য কী বোঝায়, তা হ'ল ইসিসি মেমরি ছাড়া আপনি যে কোনও উপায়ে ভুল গণনা পাবেন।


5

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

এটি সুপার কমপুটিংয়ের জন্য একটি বাস্তব সমস্যা, যেখানে 1e18 বা আরও বেশি ভাসমান পয়েন্ট অপারেশনগুলিকে অন্তর্ভুক্ত করা গণনাগুলি বিবেচনা করা হয়।


3

নিম্নলিখিত সামগ্রীটি জিপিইউতে গণনা ত্রুটি সম্পর্কে হতে পারে।

পর্যাপ্ত সময় দেওয়া, ইন্টেল i7-3610QM এবং একটি Nvidia GeForce GTX 660 একই নির্দেশাবলী দেওয়া একে অপরের সাথে একমত হবে না। (চুদা 5.5, গণনা_20, এসএম_20)

সুতরাং, দু'জনের মধ্যে একটি ত্রুটি করে এমন সিদ্ধান্তে পৌঁছতে বাকি রয়েছে।

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

আমি তুলনা করার জন্য সংখ্যার একটি ছোট অংশ দেব (প্রথম সংখ্যাটি সর্বদা সিপিইউ হয়, দ্বিতীয় জিপিইউ হয়)

-1.4906010142701069
-1.4906010142701074

-161011564.55005690
-161011564.55005693

-0.13829959396003652
-0.13829959396003658

-16925804.720949132
-16925804.720949136

-36.506235247679221
-36.506235247679228

-3.3870884719850887
-3.3870884719850896

(নোট করুন যে প্রতিটি রূপান্তর ক্রমটি ত্রুটি দেয় না)

সর্বাধিক ত্রুটিটি প্রায় তুচ্ছ (0.0000000000000401%)হলেও এটি এখনও বিদ্যমান এবং এটি ক্রমগত ত্রুটিতে অবদান রাখে।

এখন এই ত্রুটিটি অভ্যন্তরীণ লাইব্রেরিগুলির একটিতে প্রয়োগের ক্ষেত্রে পার্থক্যের কারণে হতে পারে। প্রকৃতপক্ষে, দেখে মনে হচ্ছে GPU রাউন্ড ডাউন বা ছাঁটাই করতে পছন্দ করে যেখানে CPU রাউন্ড আপ হয়। কৌতূহলজনকভাবে, এটি কেবল নেতিবাচক সংখ্যায় ঘটেছিল বলে মনে হচ্ছে।

তবে মুল বক্তব্যটি হ'ল অভিন্ন নির্দেশাবলী অগত্যা অভিন্ন ফলাফলগুলি ফেরত দেওয়ার নিশ্চয়তা দেওয়া হয় না এমনকি ডিজিটাল মেশিনেও।

আমি আশা করি এটির অবদান আছে।

সাইডনোট হিসাবে সম্পাদনা করুন: জিপিইউ গাণিতিক ত্রুটির ক্ষেত্রে, এটি (সিটিআরএল + চ "ইসিসি মেমরি সাপোর্ট সহ প্রথম জিপিইউ") আগ্রহীও হতে পারে, যদিও উপরের ত্রুটিগুলির সাথে প্রয়োজনীয়ভাবে প্রাসঙ্গিক নয়।


ভাসমান পয়েন্ট গণনাগুলি সেগুলি কোথায় সংরক্ষণ করা হয়েছে তার উপর ভিত্তি করে ভিন্নভাবে ঘুরে আসতে পারে। কিছু সিপিইউগুলির অভ্যন্তরীণ এফপিইউ নিবন্ধগুলির র‌্যামের চেয়ে পৃথক দৈর্ঘ্য থাকে, সুতরাং এটি অপারেটরগুলি কোথা থেকে লোড করে তার উপর নির্ভর করে এটি বিভিন্ন ফলাফলে আসতে পারে। আরও তথ্যের জন্য, আমি ভাসমান-পয়েন্ট- gui.de সুপারিশ করি । এটি যাইহোক, কোনও গণনা ত্রুটি নয় - এটি ভাসমান পয়েন্ট গণিত কীভাবে কাজ করছে তা ডিজাইনের মাধ্যমে।
ফিলিপ

2
এইচপি গণিত কীভাবে কাজ করে সে সম্পর্কে অসচেতনদের জন্য, ফিলিপের মন্তব্যটি পরিষ্কার করার জন্য, এই পার্থক্যগুলি খুব ভালভাবে সঠিক হতে পারে (যেমন তাদের পার্থক্যগুলি সফ্টওয়্যার বাগ বা হার্ডওয়্যার বাগের কারণে নয়)) সফ্টওয়্যার বাস্তবায়ন বা হার্ডওয়্যার প্রয়োগের কারণে এই পার্থক্যগুলি হতে পারে। এগুলি বগি কিনা তা নির্ধারণ করতে একজনকে অবশ্যই একটি নির্দিষ্ট মেশিনের অ্যাপসিলনের ধারণাটি ব্যবহার করতে হবে: en.wikedia.org/wiki/Machine_epsilon (মূলত এই ধ্রুবকটি বর্ণনা করে যে কোনও একক এফপি অপারেশন কতটা সুনির্দিষ্ট হতে হবে)
টমাস এডিং

1

আপনি প্রকৃত "সিপিইউ" (এক্সিকিউশন ইউনিট, পাইপলাইন..একটি) হিসাবে বিবেচনা করেন এর পরিপ্রেক্ষিতে এটি প্রায়শই ঘটে না। কিছুক্ষণ আগে পেন্টিয়ামের স্বাদগুলির মধ্যে একটি নিয়ে একটি জ্ঞাত সমস্যা ছিল তবে আমি কেবল এটিই শুনেছি। এখন, আপনি যদি প্রসেসরের মধ্যে অন্তর্নিহিত চিপস সেটগুলি বিবেচনা করেন বা কমপক্ষে একই প্যাকেজিং যেমন ইউএসবি কন্ট্রোলার, টিএসইসি, ডিএমএ নিয়ামক বা মেমরি নিয়ামক হন তবে সেখানে প্রচুর ত্রুটি রয়েছে। আমি সন্দেহ করি যে সম্পর্কে যদিও কোনও পরিসংখ্যানের ডেটা আছে।


0

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

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


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

(1 - .7) * 100 উচিত 30 হতে যদিও জাভাস্ক্রিপ্ট ফিরে আসবে 30.000000000000004যা হয় একটি ত্রুটি। এটি হার্ডওয়্যার বা সফ্টওয়্যার কিনা তা আমি ব্যক্তিগতভাবে নিশ্চিত নই।
জন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.