কম্পিউটার বাছাই করা নেটওয়ার্কগুলির মতো বিশেষায়িত হার্ডওয়্যার নিয়ে আসে না কেন?


10

আমরা যেভাবে প্রোগ্রামিং করি তার পরিবর্তে আমরা সাধারণ কাজের যেমন "বাছাই করা" এর স্পেসিফিকেশন তৈরি করি না, এবং তারপরে পরিবেশটিকে তার হার্ডওয়্যারটির সর্বোত্তম ব্যবহার করতে সংকলন করতে দেয়? এইভাবে, আমরা নতুন বিশেষায়িত হার্ডওয়্যার যেমন বাছাই করা নেটওয়ার্কগুলির সাথে কম্পিউটার শিপ করতে পারি এবং এটি স্বয়ংক্রিয়ভাবে বিদ্যমান কোড সহ কাজ করবে।


2
একটি পিসিআই এফপিজিএ বোর্ড কিনুন এবং আপনার পছন্দসই এক্সটেনশনগুলি কার্যকর করুন।
এসকে-লজিক

হার্ডওয়্যার যাদু নয়। বিশেষায়িত হার্ডওয়্যার দ্বারা অনেক কিছুই খুব বেশি (বা কিছুতেই) ত্বরান্বিত করা যায় না, এবং তা পারলেও বিদ্যমান হার্ডওয়্যারটি প্রায়শই অভিযোজিত হতে হয় (বা কমপক্ষে পুনরায় সংকলিত)। দেখুন yosefk.com/blog/its-done-in-hardware-so-its-cheap.html


3
@ ওয়ার্ল্ড এঞ্জাইনার আমি কীভাবে ছবিতে প্রবেশ করে তা দেখছি না। আপনার গড় ব্যবহারকারী জানেন না যে একটি আধুনিক সিপিইউতে 80০% জিনিস কীসের জন্য, তারা খুশী কারণ তাদের বলা হয় যে এটি তাদের প্রোগ্রামগুলিকে আরও দ্রুত করে তোলে (এবং এটিতে সত্যের কর্নেল রয়েছে)। বাছাই করা যদি ওপি অনুমানের মতো সাধারণ ছিল এবং ডেডিকেটেড হার্ডওয়্যার দ্বারা অনুকূলিত হতে পারে তবে তারা শাখার ভবিষ্যদ্বাণী ("এটি কী, বাগান করা?") এর পাশে রাখবেন, একটি প্রেস বিজ্ঞপ্তি জারি করে তারা অ্যাপ্লিকেশন এক্স এবং ওয়াই 5% করেছে দ্রুত, এবং এটি বিক্রি।

1
এটি আমার সংরক্ষণের ধারণার কথা মনে করিয়ে দেয় , যা শীর্ষে পারফরম্যান্সের পরিবর্তে শক্তি দক্ষতার জন্য লক্ষ্যযুক্ত।
পল এ। ক্লেটন

উত্তর:


19

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

দ্বিতীয়ত, বাছাই করা কম্পিউটিংয়ের অন্যতম সেরা গবেষণামূলক দিক এবং এটি সহজ ক্ষেত্রেগুলির চেয়ে বেশি হার্ডওয়ারের জন্য তৈরি করা খুব জটিল বলে প্রমাণিত হয় । বাছাই করা গতি এবং সঠিকতা সম্পর্কে সমস্ত। গতিটি অ্যালগরিদমের পছন্দ, উপাত্তের ধরণ এবং প্রকরণ এবং ডেটার পরিমাণের উপর নির্ভর করে। সঠিকতা ডেটার ধরণ এবং প্রসঙ্গে নির্ভর করে। এটা তোলে পূর্ণসংখ্যার যে সিপিইউ নেটিভ শব্দ আকার ভিতরে ফিট একটি মাঝারী মাপের অ্যারের বাছাই করতে ইতিবাচক তুচ্ছ আছে ( উদাঃ, 31 বা 63 বিট প্লাস সাইন)। কেবলমাত্র ASCII মানগুলির চেয়ে বেশি রয়েছে এমন চরিত্রের স্ট্রিংগুলি বাছাই করা অত্যন্ত জটিল - আইবিএম 20 বছর আগে একটি জাতীয় 500+ পৃষ্ঠার বই প্রকাশ করেছে যা কেবল জাতীয় গণ্ডি এবং সাধারণ ব্যবহারের প্রসঙ্গে চরিত্রের সেটগুলির বিষয়গুলি নিয়ে আলোচনা করে। এবং তারপরে অ-সংগতিপূর্ণ ডেটার প্রশ্ন রয়েছে - একটি লিঙ্কযুক্ত তালিকা বাছাই করা সমস্ত মেমরির মধ্যে পয়েন্টারকে তাড়ানোর সাথে জড়িত।


10

মূল বিষয়টি হ'ল বাছাই করা অ্যালগরিদম (1) এর জন্য অনেক নমনীয়তা প্রয়োজন এবং (2) যাইহোক হার্ডওয়্যার ব্যবহার করে ত্বরান্বিত করা খুব কঠিন হবে।

একটি বিষয় হ'ল প্রক্রিয়াকরণের মেমরি ব্যান্ডউইথকে ছাড়িয়ে নেওয়ার জন্য বাছাই করা অ্যালগরিদমগুলি ইতিমধ্যে সহজেই দ্রুত হয়ে যায় - প্রসেসর ইতিমধ্যে তার সময়ের একটি বৃহত অংশটি ডেটা পিছনের দিকে এবং মূল স্মৃতিতে এগিয়ে যাওয়ার অপেক্ষায় ব্যয় করবে। একটি হার্ডওয়্যার-এক্সিলিটেড বাছাই সহ-প্রসেসর বা একটি বিশেষ বাছাইকরণ নির্দেশ একই সমস্যা হবে।

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

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

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

গ্রাফিক্স প্রসেসরগুলি এখন ডিজিটাল সিগন্যাল প্রসেসরের আধ্যাত্মিক বা প্রকৃত বংশধর, যা ডিজিটাল সিগন্যালগুলির (যেমন অডিও) ডিল করার জন্য এক ধরণের বিশেষায়িত প্রসেসর ছিল (এবং সম্ভবত এখনও রয়েছে)।

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

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


3

কিন্তু তারা কি! তাদের নির্দেশ সেট এক্সটেনশন বলা হয়। (এসএসই এবং এর মতো স্টাফ)

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

আপনি যদি হার্ডওয়্যারটি দেখেন যা এই কাজটি করতে পারে তবে আমার অনুমান যে আপনি এফপিজিএর মতো কিছু খুঁজছেন। আপনি এফপিজিএগুলির সাথে দেখতে পাচ্ছেন যে চিপটি অনেক বেশি ব্যয়বহুল হয়ে উঠবে যদিও এটি অনেক অ্যাপ্লিকেশনের জন্য প্রযোজ্য নয়।


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

এহ, এছাড়াও আমরা যেমন রয়েছি, আপনি কি বইয়ের পরামর্শ দেবেন?
মাইয়াভিক্টর

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

আমার উল্লেখ করতে হবে যে সর্বাধিক নির্দেশাবলী সেট এক্সটেনশানগুলি নিম্ন স্তরে কাজ করে তবে আপনি বাছাইকরণ নেটওয়ার্কটি উদাহরণ হিসাবে ব্যবহার করেছেন, তবে এই পদ্ধতিতে বাছাই করতে পারে এমন একাধিক নিবন্ধের অপ্টিমাইজেশন তৈরি করা অসম্ভব নয়। তবে সিপিইউ নির্মাতাদের জন্য প্রশ্নটি হ'ল: "এটি কি ব্যয়টিকে ন্যায়সঙ্গত করার পক্ষে যথেষ্ট অর্থ প্রদান করবে?"
ওন্নো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.