আপনি কীভাবে ম্যাকবুক প্রোতে স্নো লেপার্ডে প্রসেসরের সম্পর্ক স্থাপন করেন? আমি জানি উইন্ডোজটিতে আপনি কেবল এটি টাস্ক ম্যানেজারে স্যুইচ করতে পারেন।
আপনি কীভাবে ম্যাকবুক প্রোতে স্নো লেপার্ডে প্রসেসরের সম্পর্ক স্থাপন করেন? আমি জানি উইন্ডোজটিতে আপনি কেবল এটি টাস্ক ম্যানেজারে স্যুইচ করতে পারেন।
উত্তর:
সংস্করণ 10.5 থেকে ওএস এক্স একটি থ্রেড অ্যাফিনিটি এপিআই সমর্থন করেছে । আমি ওয়েবপৃষ্ঠায় লিঙ্কযুক্ত কিছু প্রাসঙ্গিক উপাদান এখানে।
একটি অ্যাফিনিটি সেট হ'ল থ্রেডের সংকলন যা মেমরির রিসোর্সগুলি ভাগ করে এবং একটি এল 2 ক্যাশে ভাগ করে নিতে চায়। স্বতন্ত্র অ্যাফিনিটি সেটগুলি পৃথক সংযুক্তিগুলি উপস্থাপন করে — অর্থাত, একটি আলাদা সেটের অন্তর্ভুক্ত থ্রেডগুলিতে পৃথক এল 2 ক্যাশে ব্যবহার করা উচিত এবং সুতরাং এটি একটি ভিন্ন লজিকাল প্রসেসরের উপর চালানো উচিত।
একটি আত্মীয়তা সেট একটি "ট্যাগ" দ্বারা চিহ্নিত করা হয়। থ্রেডগুলি নির্দিষ্ট সেটটি নির্দিষ্ট করে সেটটিকে চিহ্নিত করে ট্যাগ নির্ধারণ করে set একটি থ্রেড সর্বাধিক এক সান্নিধ্য সেট হতে পারে; অর্থাৎ এটির একটি অ্যাফিনিটি ট্যাগ রয়েছে।
উদাহরণস্বরূপ, পৃথক এল 2 ক্যাশে 2 টি থ্রেড চালনা করতে চাইলে একটি অ্যাপ্লিকেশন থ্রেডগুলিকে বিভিন্ন অ্যাফিনিটি ট্যাগ সহ সেট করে। ডুয়াল কোর মেশিনে, এই স্নেহ কার্যকরভাবে উপেক্ষা করা হবে। তবে একটি 4-কোর ম্যাকপ্রোতে শিডিয়ুলার পৃথক প্যাকেজগুলিতে থ্রেড চালানোর চেষ্টা করবে। একইভাবে, একটি 8-কোর ম্যাকপ্রোতে, শিডিয়ুলার এই থ্রেডগুলি পৃথক মরণে চালানোর চেষ্টা করবে (যা একই শারীরিক সিপিইউ প্যাকেজে থাকতে পারে বা নাও হতে পারে) on
যে অ্যাপ্লিকেশনটি প্রতিটি উপলভ্য প্রসেসরের উপর থ্রেড রাখতে চায় তা নিম্নলিখিতগুলি করবে:
- সিস্টেস্টল (3) ব্যবহার করে সিস্টেমে প্রসেসরের সংখ্যা পান।
- থ্রেড সংখ্যা যে তৈরি করুন।
- প্রতিটি থ্রেডকে আলাদা স্বতন্ত্রতা ট্যাগ সহ সেট করুন।
- সমস্ত থ্রেড শুরু করুন।
ডিফল্ট অ্যাফিনিটি নীতি সহ থ্রেডগুলি যে কোনও প্রসেসরের উপর আরও অবাধে নির্ধারিত হবে। এই থ্রেডগুলি অলস প্রসেসরের উপর চালাতে অগ্রাধিকার হিসাবে স্থানান্তরিত হবে। অ্যাফিনিটি ট্যাগ সহ থ্রেডগুলি স্থানে থাকবে।
কোড তালিকার জন্য উত্স, এবং পিতামাতা এবং শিশু প্রক্রিয়াগুলির মধ্যে সখ্যতা ট্যাগগুলি ভাগ করে নেওয়ার বিষয়ে তথ্য, সিপিইউ ক্যাশে কনফিগারেশন প্রাপ্ত করার জন্য এবং আরও অনেক কিছু নিয়ে পরামর্শ করুন।
http://developer.apple.com/mac/library/releasenotes/Performance/RN-AffinityAPI/
ম্যাক ওএস এক্স প্রসেসর সনাক্ত করতে বা থ্রেড প্লেসমেন্ট নিয়ন্ত্রণ করে এমন ইন্টারফেসগুলি রফতানি করে না process প্রসেসরের বাইন্ডিংয়ে সুস্পষ্ট থ্রেড সমর্থিত নয় । পরিবর্তে, কার্নেল সমস্ত থ্রেড প্লেসমেন্ট পরিচালনা করে। অ্যাপ্লিকেশনগুলি আশা করে যে শিডিয়ুলার বেশিরভাগ পরিস্থিতিতে ক্যাশে সান্নিধ্যের ক্ষেত্রে ভাল প্রসেসর প্লেসমেন্ট ব্যবহার করে এর থ্রেডগুলি চালাবে।
Http://images.apple.com/macosx/docs/OSX_for_UNIX_Uvers_TB_July2011.pdf থেকে
Ker দক্ষ কার্নেল থ্রেড। প্রতিটি পসিক্স থ্রেড একটি নির্দিষ্ট সিপিইউতে সজ্জিত থাকে, লক যুক্তি হ্রাস করার সময় প্রসেসরের অ্যাফিনিটি এবং স্কেলিবিলিটি উন্নত করে। থ্রেডগুলি বাতিল এবং ভাগ করা মিটেক্সেসের সমর্থন সহ POSIX (1c) এর সাথে সামঞ্জস্য।
এটি আমার কাছে বিজ্ঞাপনের মতো দেখায়, আমার আইম্যাক চলমান সিংহ বেশিরভাগ সময় সম্মান দেখায় তবে এটি 'পিন'আর প্রক্রিয়াটি কোনও কোরকে দেয় না।
যাইহোক ডারউইনের জন্য প্রক্রিয়া প্রবণতা নিয়ন্ত্রণ করতে কোনও API খুঁজে পাইনি not