উত্তর:
ওপটারনস এবং নেহেলাহাম (55xx এবং তার পরে) জিয়নের একটি NUMA আর্কিটেকচার রয়েছে - প্রতিটি সকেটের নিজস্ব মেমরি বাস রয়েছে এবং সকেটের মধ্যে একটি লিঙ্ক রয়েছে। এই লিঙ্কটি ওপ্টরন সিস্টেমে হাইপারট্রান্সপোর্ট এবং এক্সসনে কুইকপ্যাথ নামে পরিচিত। জি 5 নীলাহামকে পূর্বাভাস দেয় এবং এখনও পুরানো ফ্রন্ট সাইড বাস ব্যবহার করে, যা কোনও NUMA আর্কিটেকচার নয়।
ওপ্টারসন এবং 35xx / 55xx বা পরবর্তী Xeons একটি খাঁটি NUMA অ্যাড্রেসিং মোড ব্যবহার করতে পারে, যেখানে প্রতিটি সকেটের স্মৃতি শারীরিক ঠিকানার জায়গার সংলগ্ন অংশে বাস করে। আপনি যদি এমন একটি অ্যাপ্লিকেশন চালাতে চান যা NUMA সচেতন (যেমন প্রসেসরের সম্পর্কের জন্য সমর্থন) তবে আপনি এই মোডে চালানোর জন্য সিস্টেমটি সেট আপ করতে পারেন।
এই ধরণের সিস্টেমগুলিরও একটি উত্তরাধিকার মোড থাকে যেখানে পৃথক 4K পৃষ্ঠাগুলি সকেটগুলিতে বিকল্প হয়, সুতরাং মেমরি অ্যাক্সেসটি সকেটের মধ্যে সূক্ষ্মভাবে মেশানো হয়। এটির একটি সামান্য পারফরম্যান্স ওভারহেড রয়েছে কারণ সমস্ত মেমরি অ্যাক্সেসের অর্ধেকটি হাইপারট্রান্সপোর্টের বাসটি অন্য সকেটে যেতে হয় (জিয়নের ক্ষেত্রে কুইকপথ)। তবে বেশিরভাগ অ্যাক্সেস ক্যাশে করা হবে তাই পারফোমেন্স ওভারহেড তুলনামূলকভাবে ছোট।
এই মোডটি সিস্টেমগুলিকে অ NUMA- সচেতন অ্যাপ্লিকেশনগুলি দক্ষতার সাথে চালানোর অনুমতি দেয় এবং এটি সাধারণত ডিফল্ট মোড যা সিস্টেমে বুট হয় Nor সাধারণত আপনি এটি BIOS এ কনফিগার করতে পারেন।
আপনার জি 5 একটি NUMA মোডে চলবে না কারণ এটির সামনের দিকের বাস আর্কিটেকচার রয়েছে। এফএসবি হ'ল একক বাস যা মেমরি এবং সমস্ত প্রসেসরের সকেট দ্বারা ভাগ করা হয়, সুতরাং এতে অভিন্ন মেমরির অ্যাক্সেস বৈশিষ্ট্য রয়েছে, অর্থাৎ NUMA নয়। আমি কোনও উইন্টেল বা লিন্টেল অ্যাপ্লিকেশন সম্পর্কে সচেতন নই যা একটি NUMA আর্কিটেকচারের উপর নির্ভর করে; সম্ভাবনা হ'ল অ্যাপ্লিকেশনটির NUMA প্রয়োজন নেই তবে উপস্থিত থাকলে এটি সমর্থন করবে। আপনি সম্ভবত আপনার পুরানো জি 5 সিস্টেমে অ্যাপ্লিকেশনটি চালাতে পারেন। এটি প্রাসঙ্গিক কিনা তা নির্ভর করে অ্যাপ্লিকেশন এবং আপনি কী অর্জন করতে চান তার উপর।
অ্যাপ্লিকেশনগুলিতে NUMA সমর্থন
কিছু অ্যাপ্লিকেশন (এসকিউএল সার্ভার একটি উদাহরণ) মেমরি, I / O ব্যবহার এবং সময়সূচী অনুকূলকরণের মাধ্যমে উল্লেখযোগ্য পারফরম্যান্স সুবিধাগুলি উপলব্ধি করতে পারে যাতে অ-স্থানীয় অ্যাক্সেসের জন্য জরিমানা হ্রাস করা যায়। একটি অ্যাপ্লিকেশনটিতে NUMA সমর্থন প্রয়োগের জন্য অপারেটিং সিস্টেম থেকে সহায়তাযোগ্য সুবিধাদি পাওয়া দরকার, যেমন:
সময়সূচী সম্পর্কে: একটি থ্রেড এমন একটি পুলে রাখা যেতে পারে যা এক বা একাধিক প্রসেসরের গ্রুপের শিডিয়ুলের অগ্রাধিকার দেয়। নোট করুন যে NUMA- এর একটি একক মেমোরি বাসে একাধিক প্রসেসর থাকতে পারে - মাল্টি-কোর ওপ্টরনের ক্ষেত্রে বা সিওন সিওর ক্ষেত্রে সমস্ত কোর একই বাসে ভাগ করে। এটি থ্রেডকে স্থানীয় মেমোরির অনুরোধ করতে বা সিপিইউ পুলটিতে স্থানীয় মেমরির পুল ব্যবহার করতে অনুমতি দেয়। এছাড়াও, যখন কোনও থ্রেড স্থানীয় সিপিইউতে রাখা হয় তখন এটি থ্রেড নির্ধারিত হওয়ার সাথে সাথে ক্যাশে থ্র্যাশিংকে হ্রাস করে - কার্যকারী সেটটি নির্দিষ্ট কোরটি ব্যবহার করে কেবল থ্রেডের কার্যকারী সেট।
মেমোরি অ্যাফিনিটি: একটি থ্রেড মেমরির জন্য অনুরোধ করতে পারে এবং উল্লেখ করতে পারে যে এটি অবশ্যই মেমোরি থেকে স্থানীয়ভাবে সকেটে পাওয়া উচিত। একই বাসে মেমরি এবং সিপিইউ ব্যবহার রাখা অ-লোকাল মেমরির অ্যাক্সেসের ওভারহেডকে হ্রাস করে। ওভারহেড আধুনিক NUMA সিস্টেমে তেমন দুর্দান্ত নয় তবে প্রারম্ভিক সিভারেন্ট গিয়ারের মতো পুরানো সিস্টেমে অ-লোকাল অ্যাক্সেস অনেক ধীর ছিল er
আই / ও অ্যাফিনিটি: পেরিফেরাল বাসগুলি একটি স্থানীয় সিপিইউতে আবদ্ধ হতে পারে, সুতরাং I / O হ্যান্ডলিং I / O এর কাছাকাছি প্রসেসরের উপর নির্ধারিত হতে পারে। বেশিরভাগ NUMA সিস্টেমে একাধিক I / O বাস রয়েছে, তাই বাধা হ্যান্ডলারগুলি এবং স্থানীয় মেমোরিতে ডিএমএ নির্ধারণ করার সময় I / O পারফরম্যান্সে কিছুটা সুবিধা পাওয়া যায়।