NUMA নোডের পরিমাণ কি সর্বদা সকেটের সমান?


16

আমি lscpuদুটি সার্ভার কনফিগারেশন চেক করতে ব্যবহার করেছি :

[root@localhost ~]# lscpu
Architecture:          x86_64
......
Core(s) per socket:    1
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 26

অন্যটি:

[root@localhost Packages]# lscpu
Architecture:          x86_64
.....
Socket(s):             2
NUMA node(s):          2
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 45

সুতরাং আমি ভাবছি যে আসলে NUMA নোডের পরিমাণ সর্বদা সকেটের সমান। তারা সমান না যেখানে কোন উদাহরণ আছে?

উত্তর:


20

আপনি NUMA নোডের সংখ্যা সম্পর্কে কেন ভাবছেন? গুরুত্বপূর্ণ অংশটি হ'ল NUMA টপোলজি, যা বলে যে "নোডগুলি" কীভাবে সংযুক্ত রয়েছে।

আমি 8-সকেট (10-কোর সিপিইউস) সহ 4 টি আন্তঃসংযুক্ত 2-সকেট ব্লেড (হিটাচি কম্পিউট নোড 2000) সহ কয়েকটি সিস্টেম পরীক্ষা করেছি। এছাড়াও এখানে NUMA নোডের সংখ্যা সিপিইউ সকেটের সংখ্যার (8) সমান। এটি সিপিইউ আর্কিটেকচারের উপর নির্ভর করে, মূলত এটির মেমোরি বাস ডিজাইন।

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

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

আপনি যেমন কমান্ড ব্যবহার করতে পারেন numastatবা numactl --hardwareআপনার সিস্টেমে ফলে NUMA স্থিতি চেক করতে। এই 8-সকেট মেশিন থেকে তথ্য:

hana2:~ # lscpu
Architecture:          x86_64
CPU(s):                160
Thread(s) per core:    2
Core(s) per socket:    10
CPU socket(s):         8
NUMA node(s):          8
NUMA node0 CPU(s):     0-19
NUMA node1 CPU(s):     20-39
NUMA node2 CPU(s):     40-59
NUMA node3 CPU(s):     60-79
NUMA node4 CPU(s):     80-99
NUMA node5 CPU(s):     100-119
NUMA node6 CPU(s):     120-139
NUMA node7 CPU(s):     140-159

hana2:~ # numactl --hardware
available: 8 nodes (0-7)
node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
node 0 size: 130961 MB
node 0 free: 66647 MB
node 1 cpus: 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
node 1 size: 131072 MB
node 1 free: 38705 MB
node 2 cpus: 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
node 2 size: 131072 MB
node 2 free: 71668 MB
node 3 cpus: 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
node 3 size: 131072 MB
node 3 free: 47432 MB
node 4 cpus: 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
node 4 size: 131072 MB
node 4 free: 68458 MB
node 5 cpus: 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
node 5 size: 131072 MB
node 5 free: 62218 MB
node 6 cpus: 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
node 6 size: 131072 MB
node 6 free: 68071 MB
node 7 cpus: 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
node 7 size: 131008 MB
node 7 free: 47306 MB
node distances:
node   0   1   2   3   4   5   6   7
  0:  10  21  21  21  21  21  21  21
  1:  21  10  21  21  21  21  21  21
  2:  21  21  10  21  21  21  21  21
  3:  21  21  21  10  21  21  21  21
  4:  21  21  21  21  10  21  21  21
  5:  21  21  21  21  21  10  21  21
  6:  21  21  21  21  21  21  10  21
  7:  21  21  21  21  21  21  21  10

সেখানে আপনি প্রতিটি NUMA নোড (সিপিইউ সকেট) -এ উপস্থিত মেমরির পরিমাণ এবং এটি কতটা ব্যবহৃত এবং নিখরচায় দেখতে পারেন।

শেষ বিভাগটি NUMA টপোলজি দেখায় - এটি মেমরি অ্যাক্সেসের বিলম্বের ক্ষেত্রে পৃথক নোডগুলির মধ্যে "দূরত্ব" দেখায় (সংখ্যাগুলি কেবলমাত্র আপেক্ষিক, তারা এমএস বা কোনও কিছুর ক্ষেত্রে সময় উপস্থাপন করে না)। এখানে আপনি স্থানীয় মেমোরিটির প্রচ্ছদতা দেখতে পাবেন (নোড ০ 0 এ মেমরি অ্যাক্সেসিং মেমোরি, 1 ইন নোড 1, ...) 10 হ'ল রিমোট লেটেন্সি (অন্য নোডে নোডের অ্যাক্সেসিং নোড) 21. যদিও এই সিস্টেমটি 4 টি স্বতন্ত্র সমন্বয়ে গঠিত ব্লেড, একই ব্লেড বা অন্যান্য ফলকের উপর বিভিন্ন সকেটের জন্য বিলম্বতা একই।

NUMA সম্পর্কে আকর্ষণীয় নথিটি রেডহ্যাট পোর্টালেও রয়েছে


3

নং NUMA নোডের সংখ্যা সর্বদা সকেটের সংখ্যার সমান হয় না। উদাহরণস্বরূপ, একটি এএমডি থ্রেড্রিপার 1950X এর মধ্যে 1 সকেট এবং 2 টি NUMA নোড রয়েছে যখন একটি ডুয়াল ইন্টেল জিয়ন ই 5310 সিস্টেম 2 সকেট এবং 1 এসএএ নোড প্রদর্শন করতে পারে।

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