কীভাবে ওএস এক্সে প্রসেসরের সম্পর্ক স্থাপন করবেন?


17

আপনি কীভাবে ম্যাকবুক প্রোতে স্নো লেপার্ডে প্রসেসরের সম্পর্ক স্থাপন করেন? আমি জানি উইন্ডোজটিতে আপনি কেবল এটি টাস্ক ম্যানেজারে স্যুইচ করতে পারেন।


2
<snarky- কমেন্ট> ভার্চুয়াল মেশিনে ওএস এক্স চালান, এবং ভার্চুয়াল মেশিনের
সান্নিধ্য

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

2
@ জাল্ফ: প্রসেসরের স্নেহ কার্য সম্পাদন করতে পারে যেহেতু এটি কিছু ক্ষেত্রে ক্যাশে অবৈধতা এবং ট্র্যাসিং হ্রাস করে।

1
হতাশাজনক। দেখে মনে হচ্ছে ম্যাক কখনই রিয়েল-টাইম সফ্টওয়্যার বিকাশের জন্য আদর্শ প্ল্যাটফর্ম হতে পারে না।
ইভান প্লেইস

1
সিপিইউগুলিতে @Jweyrich ব্যতিক্রমগুলি ম্যাক প্রোতে যেমন QPI (ইন্টেলের NUMA) রয়েছে সেগুলিতে, যেখানে সিপিইউ অ্যাফিনিটি সেট করা মেমরির স্নেহকে অক্ষম করে এবং কার্যকারিতা হ্রাস করে। যদিও এটি মোবাইল প্রসেসরের ক্ষেত্রে প্রযোজ্য নয়।
জানো

উত্তর:


14

সংস্করণ 10.5 থেকে ওএস এক্স একটি থ্রেড অ্যাফিনিটি এপিআই সমর্থন করেছে । আমি ওয়েবপৃষ্ঠায় লিঙ্কযুক্ত কিছু প্রাসঙ্গিক উপাদান এখানে।

অ্যাফিনিটি সেট

একটি অ্যাফিনিটি সেট হ'ল থ্রেডের সংকলন যা মেমরির রিসোর্সগুলি ভাগ করে এবং একটি এল 2 ক্যাশে ভাগ করে নিতে চায়। স্বতন্ত্র অ্যাফিনিটি সেটগুলি পৃথক সংযুক্তিগুলি উপস্থাপন করে — অর্থাত, একটি আলাদা সেটের অন্তর্ভুক্ত থ্রেডগুলিতে পৃথক এল 2 ক্যাশে ব্যবহার করা উচিত এবং সুতরাং এটি একটি ভিন্ন লজিকাল প্রসেসরের উপর চালানো উচিত।

একটি আত্মীয়তা সেট একটি "ট্যাগ" দ্বারা চিহ্নিত করা হয়। থ্রেডগুলি নির্দিষ্ট সেটটি নির্দিষ্ট করে সেটটিকে চিহ্নিত করে ট্যাগ নির্ধারণ করে set একটি থ্রেড সর্বাধিক এক সান্নিধ্য সেট হতে পারে; অর্থাৎ এটির একটি অ্যাফিনিটি ট্যাগ রয়েছে।

ডিস্টিন্ট অ্যাফিনিটি ট্যাগ নির্ধারণের প্রভাব

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

ব্যবহারের উদাহরণ

যে অ্যাপ্লিকেশনটি প্রতিটি উপলভ্য প্রসেসরের উপর থ্রেড রাখতে চায় তা নিম্নলিখিতগুলি করবে:

  • সিস্টেস্টল (3) ব্যবহার করে সিস্টেমে প্রসেসরের সংখ্যা পান।
  • থ্রেড সংখ্যা যে তৈরি করুন।
  • প্রতিটি থ্রেডকে আলাদা স্বতন্ত্রতা ট্যাগ সহ সেট করুন।
  • সমস্ত থ্রেড শুরু করুন।

ডিফল্ট অ্যাফিনিটি নীতি সহ থ্রেডগুলি যে কোনও প্রসেসরের উপর আরও অবাধে নির্ধারিত হবে। এই থ্রেডগুলি অলস প্রসেসরের উপর চালাতে অগ্রাধিকার হিসাবে স্থানান্তরিত হবে। অ্যাফিনিটি ট্যাগ সহ থ্রেডগুলি স্থানে থাকবে।

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


এই এপিআই ছাড়াও কি কোনও কমান্ডলাইন ইউটিলিটি রয়েছে?
ভিক্টর আইজখাউট

11

http://developer.apple.com/mac/library/releasenotes/Performance/RN-AffinityAPI/

ম্যাক ওএস এক্স প্রসেসর সনাক্ত করতে বা থ্রেড প্লেসমেন্ট নিয়ন্ত্রণ করে এমন ইন্টারফেসগুলি রফতানি করে না process প্রসেসরের বাইন্ডিংয়ে সুস্পষ্ট থ্রেড সমর্থিত নয় । পরিবর্তে, কার্নেল সমস্ত থ্রেড প্লেসমেন্ট পরিচালনা করে। অ্যাপ্লিকেশনগুলি আশা করে যে শিডিয়ুলার বেশিরভাগ পরিস্থিতিতে ক্যাশে সান্নিধ্যের ক্ষেত্রে ভাল প্রসেসর প্লেসমেন্ট ব্যবহার করে এর থ্রেডগুলি চালাবে।


2
ওএস এক্স সংস্করণ 10.5 থেকে একটি থ্রেড অ্যাফিনিটি এপিআই সমর্থন করেছে। বিস্তারিত জানার জন্য আমার উত্তর দেখুন।
অকার্যকর-পয়েন্টার

4

এখন অবধি, এক্সএনইউ (1504.3.12) শিডিয়ুলার প্রক্রিয়া বা থ্রেডগুলির জন্য প্রসেসরের সংযুক্তি প্রয়োগ করে না।

সুতরাং MacOSX এটি করার কোনও উপায় সরবরাহ করে না।


2

Http://images.apple.com/macosx/docs/OSX_for_UNIX_Uvers_TB_July2011.pdf থেকে

Ker দক্ষ কার্নেল থ্রেড। প্রতিটি পসিক্স থ্রেড একটি নির্দিষ্ট সিপিইউতে সজ্জিত থাকে, লক যুক্তি হ্রাস করার সময় প্রসেসরের অ্যাফিনিটি এবং স্কেলিবিলিটি উন্নত করে। থ্রেডগুলি বাতিল এবং ভাগ করা মিটেক্সেসের সমর্থন সহ POSIX (1c) এর সাথে সামঞ্জস্য।

এটি আমার কাছে বিজ্ঞাপনের মতো দেখায়, আমার আইম্যাক চলমান সিংহ বেশিরভাগ সময় সম্মান দেখায় তবে এটি 'পিন'আর প্রক্রিয়াটি কোনও কোরকে দেয় না।

যাইহোক ডারউইনের জন্য প্রক্রিয়া প্রবণতা নিয়ন্ত্রণ করতে কোনও API খুঁজে পাইনি not

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