تقنية NUMA مقدمة
NUMA هو حل تقني لحل عمل متعددة وحدة المعالجة المركزية معا، دعونا استعراض تاريخ متعددة CPU العمل العمارة التكنولوجيا جنبا إلى جنب. متعدد وحدة المعالجة المركزية العمل معا العمارة هناك ثلاثة، وهي العمارة SMP MPP NUMA. SMP MPP NUMA متعددة وحدة المعالجة المركزية من أجل حل هذه المشكلة هو العمل معا.
في وقت مبكر، كل الملقم هو وحدة المعالجة المركزية واحدة، مع تطور التكنولوجيا، كان هناك طلب على عمل متعددة وحدة المعالجة المركزية معا، وأول تقنية متعددة وحدة المعالجة المركزية هي SMP.
SMP
إن تعددية وصول الحافلة التي كتبها ذاكرة وحدة المعالجة المركزية، وبالتالي يشار إليها أحيانا باسم SMP ذاكرة الوصول موحد نظام (UMA) الهندسة المعمارية، وسائل الاتساق أنه لا يهم في أي وقت، لكل معالج البيانات يمكن الذاكرة فقط عقد فريدة من نوعها أو المشتركة قيمة.
العيب هو قابلية محدودة من SMP، لأنه عندما المشبعة واجهة الذاكرة، المعالج لا يمكن أن تزيد إلى تحقيق أداء أعلى، وبالتالي عدد محدود من دعم وضع وحدة المعالجة المركزية SMP.
MPP
وضع MPP هو وضع الذاكرة الموزعة، يمكن أن يكون أكثر المعالجات في نظام الذاكرة. A ذاكرة نمط وجود عدد وافر من العقد الموزعة، وذاكرة خاصة بها، قد يتم تكوين كل عقدة كوسيلة SMP، قد يتم ترتيب وضع غير SMP. العقد الفردية متصلة مع بعضها البعض لتشكيل النظام الكلي. MPP تفهم على أنها مقياس تقريبي من كتلة SMP، MPP تعتمد عموما على البرمجيات.
NUMA
كل معالج له ذاكرة خاصة بها، ويمكن لكل معالج الوصول إلى ذاكرة من المعالجات الأخرى.
NUMA بنية متعددة وحدة المعالجة المركزية
NUMA متعددة النواة وحدة المعالجة المركزية العمارة
NUMA-Q
IBM هي الأولى لتطبيق الحلول التقنية NUMA إلى العمل على I386، يمكنك دعم أكثر إلى x86 عمل وحدة المعالجة المركزية معا.
KVM نظام رصد السفن NUMA ضبط
لأن بنية NUMA كل معالج يمكن الوصول إلى ذاكرة خاصة بها ومعالجات أخرى للوصول إلى قدرتها على الوصول الذاكرة الخاصة الأخرى من الذاكرة أسرع بكثير، NUMA هدف ضبط هو جعل أكبر قدر ممكن من المعالج الوصول إلى ذاكرة خاصة بها، من أجل تحسين معالجة سرعة.
تستطيع أن ترى في الأجهزة CPU الحالي numactl --hardware
إدارة libvirt من نوما
استخدام القيادة numastat لعرض إحصائيات الذاكرة لكل عقدة
استخدام القيادة numatune لعرض أو تعديل تكوين نوما الجهاز الظاهري
لينكس موازنة استراتيجية numu
لينكس نظام الافتراضية تلقائيا numu موازنة استراتيجية، إذا كنت ترغب في إيقاف التلقائي موازنة نظام لينكس، استخدم الأمر التالي
# صدى 0 > / بروك / SYS / نواة / numa_balancing
إذا كنت ترغب في فتح، استخدم الأمر التالي
صدى 1 > / بروك / SYS / نواة / numa_balancing
العمل نوما يمكن أن يكون صارمة، numad الخدمة المعينة وحدة المعالجة المركزية، أو السيارات لاستخدام نظام
< numatune >
< وضع الذاكرة = 'الصارم' وضع = 'السيارات' / >
< / Numatune >
< numatune >
< وضع الذاكرة = "صارمة" nodeset = '0،2-3' / >
< / Numatune >
virsh numatune rhel7 --nodeset '0،2-3'
إعدادات vpcu
< = vcpu وضع "السيارات" > 8 < / Vcpu >
< = vcpu وضع "ثابت" cpuset = '0-10، 5' > 8 < / Vcpu >
< vcpu > و < numatune > تحتاج إلى أن تكون متسقة، < numatune > تكوين CPU المادية، < vcpu > التكوين حدة المعالجة المركزية الأساسية، بما في ذلك جوهر الترابط المنتجة.
< numatune > استخدام وضع ثابت، < nodeset > يجب أن يكون؛
ويجوز تقديم لجهاز ظاهري CPU الظاهري 32، ولكن يمكن استخدام 8 تبدأ، وضغط النظام يمكن بعد ذلك، والساخنة، إضافة وحدة المعالجة المركزية إلى الجهاز الظاهري.
< vcpu وضع = 'السيارات' = الحالية '8' > 32 < / Vcpu >
يمكنك أيضا إعطاء كل جهاز وحدة المعالجة المركزية الظاهري، آلة المادية استراتيجية محددة تعيين CPU التدبيس
< cputune >
< vcpupin vcpu = "0" cpuset = "1-4، 2" / >
< vcpupin vcpu = "1" cpuset = "0،1" / >
< vcpupin vcpu = "2" cpuset = "2،3" / >
< vcpupin vcpu = "3" cpuset = "0،4" / >
< / Cputune >
يمكنك أيضا استخدام وسيلة emulatorpin
تحدد العلامة emulatorpin وحدة المعالجة المركزية المادية معينة، وحدة المعالجة المركزية الجهاز الظاهري ويتم استخدام الذاكرة في وحدة المعالجة المركزية الداخلية آلة البدنية
< cputune >
< emulatorpin cpuset = "1-3" / >
< / Cputune >
وضع الأمر
virsh emulatorpin rhel71-3
1-3 الأساسية هي داخل وحدة المعالجة المركزية المادية.
افتراضيا، يستخدم نظام NUMA استراتيجية التوازن الذاتي.
طوبولوجيا نوما الجهاز الظاهري
يمكن أن توضع باستخدام نوما موارد الجهاز الظاهري
< وحدة المعالجة المركزية >
...
< نوما >
< خلية وحدات المعالجة المركزية = '0-3' الذاكرة = '512000' / >
< خلية وحدات المعالجة المركزية = '4-7' الذاكرة = '512000' / >
< / نوما >
...
< / وحدة المعالجة المركزية >
الخلية أو الخلايا نوما نوما العقدة
وحدة المعالجة المركزية CPU وحدة المعالجة المركزية المادية نطاق وحدة المعالجة المركزية التي يمكن استخدامها
حجم الذاكرة الذاكرة التي يمكن استخدامها في كيلوبايت
NUMA علم وخالد شيخ محمد
الصفحة نفس الذاكرة KSM يمكن إدراج، حتى العقد NUMA مختلفة،
مجموعة / تميز الكلية / نواة / مم / خالد شيخ محمد / merge_across_nodes المعلمة 0، يمكن إغلاق قبالة عبر NUMA ذاكرة عقدة جنبا إلى جنب
أو يمكنك إيقاف توحيد ذاكرة الجهاز الظاهري
< memoryBacking >
< nosharepages / >
< / MemoryBacking >
اثنين من التكنولوجيا وتطبيق سيناريوهات المضيف العبور
KVM تعريف نموذج وحدة المعالجة المركزية
libvirt صقل تعريف أنواع CPU القياسية يمكن العثور عليها في /usr/share/libvirt/cpu_map.xml
< وحدات المعالجة المركزية >
< اسم اللدود = 'إلى x86 " >
< ! - تعريفات بائع - >
< اسم البائع = سلسلة 'إنتل' = 'GenuineIntel' / >
< اسم البائع = سلسلة "AMD '=' AuthenticAMD '/ >
< ! - الميزات القياسية، EDX - >
< اسم ميزة = 'فبو " > < ! - CPUID_FP87 - >
< وظيفة CPUID = "0x00000001" EDX = '0x00000001' / >
< / تحقيقات >
< اسم ميزة = 'VME " > < ! - CPUID_VME - >
< وظيفة CPUID = "0x00000001" EDX = '0x00000002' / >
< / تحقيقات >
...
< ! - نماذج - >
< اسم نموذج = '486' >
< اسم ميزة = "فبو '/ >
< اسم ميزة = "VME '/ >
< اسم ميزة = 'سوق فلسطين' / >
< / نموذج >
...
< اسم نموذج = 'هسول " >
< اسم النموذج = "ساندي بريدج" / >
< اسم ميزة = "FMA '/ >
< اسم ميزة = "PCID '/ >
< اسم ميزة = "movbe '/ >
< اسم ميزة = "fsgsbase '/ >
< اسم ميزة = "bmi1 '/ >
< اسم ميزة = 'HLE' / >
< اسم ميزة = "AVX2 '/ >
< اسم ميزة = "smep '/ >
< اسم ميزة = "bmi2 '/ >
< اسم ميزة = "ERMS '/ >
< اسم ميزة = "invpcid '/ >
< اسم ميزة = "الموائد المستديرة '/ >
< / نموذج >
....
أساسا النماذج التالية CPU.
'486' 'بنتيوم' 'pentium2' 'pentium3' 'pentiumpro' 'coreduo' 'pentiumpro' 'N270' 'coreduo' 'CORE2DUO' 'qemu32' 'kvm32' 'cpu64-rhel5' 'cpu64-rhel6' 'kvm64' ' qemu64 '' كونروي '' بنراين '' Nehalem''Westmere '' ساندي بريدج '' هسول '' اثلون '' الظاهرة '' Opteron_G1 '' Opteron_G2 '' Opteron_G3 '' Opteron_G4 '' Opteron_G5 '' POWER7 '' POWER7_v2.1 '' POWER7_v2.3 "
باستخدام هذا البرنامج هو أساسا لحين الهجرة الجهاز الظاهري بين مضيف آخر لضمان التوافق.
يمكن تكوين وضع وحدة المعالجة المركزية لمختلف وسائط هي التالية:
تحديد المخصصة الخاصة بهم
< وضع وحدة المعالجة المركزية = "مخصص" مباراة = 'الدقيقة' >
< نموذج تراجع = 'السماح' > kvm64 < / نموذج >
...
< سياسة ميزة = 'يتطلب' اسم = 'رصد' / >
< / وحدة المعالجة المركزية >
المضيف نموذج
وفقا لخصائص الفيزيائية وحدة المعالجة المركزية، وحدة المعالجة المركزية طراز الأقرب إلى معايير الاختيار، وإذا لم يتم تحديد وضع وحدة المعالجة المركزية، الافتراضي هو استخدام هذا الملف تكوين نموذج، أكس:
< وضع وحدة المعالجة المركزية = 'المضيف نموذج' / >
المضيف العبور
وحدة المعالجة المركزية المادية يتعرض مباشرة إلى الجهاز الظاهري، الجهاز الظاهري يمكن أن يرى هو وحدة المعالجة المركزية المادية النموذج، ملف التكوين XML:
< "المضيف العبور 'واسطة وحدة المعالجة المركزية = / >
استخدام VCPU المضيف نموذج ينظر
المعالج: 3
VENDOR_ID: GenuineIntel
الأسرة وحدة المعالجة المركزية: 6
نموذج: 44
اسم الطراز: Westmere E56xx / L56xx / X56xx (نيهالم-C)
...
استخدام VCPU انظر من المضيف العبور
المعالج: 3
VENDOR_ID: GenuineIntel
الأسرة وحدة المعالجة المركزية: 6
نموذج: 44
اسم الطراز: إنتل (R) زيون (R) CPU X5650 @ 2.67GHz
سيناريوهات
تكنولوجيا HOST هي التي تنطبق على الحالات التالية:
1 الضغط CPU كبيرة جدا.
2 الاحتياجات لتمريرها إلى بعض خصائص CPU المادية الجهاز الظاهري.
3 الحاجة لنرى بالضبط نفس وحدة المعالجة المركزية CPU ونموذج العلامة التجارية البدني داخل الجهاز الظاهري، وهذا أمر منطقي في بعض سحابة العامة؛
ملاحظة: HOST لا يمكن ترحيل جهاز ظاهري إلى نوع مختلف من وحدة المعالجة المركزية.
ثلاثة الساخنة إضافة وحدة المعالجة المركزية
CPU إضافة الساخنة هي ميزة centos7 الجديدة، التي تتطلب المضيفة والأجهزة الظاهرية هي centos7
كيفية استخدام
نحن تعيين إلى الجهاز الظاهري، عند استخدام وحدة المعالجة المركزية المحجوزة
حاليا يمكنك رؤية أربعة وحدة المعالجة المركزية في جهاز ظاهري.
نحن تعديلها ل5 CPU على الانترنت
virsh setvcpus centos75 --live
داخل وحدة المعالجة المركزية الجهاز الظاهري ينشط الخمسة الأولى
يمكنك ان ترى أصبح CPU الجهاز الظاهري 5
بنفس الطريقة، ونحن يمكن أن تزيد من وحدة المعالجة المركزية 6
منذ بدأنا هذا التحفظ هو 10، أكثر من أي شيء، فإنها يمكن أن الساخنة إضافة وحدة المعالجة المركزية إلى 10.
السيناريو:
VM المهم جدا لتشغيل التطبيقات، لا يمكن أن تتوقف، ولكن نقص خطير في المشهد الأداء، والتكنولوجيا الساخن إضافة وحدة المعالجة المركزية هو حل جيد.
أربعة المتداخلة الجهاز الظاهري المتداخلة (المربعة على المربعة)
التكنولوجيا المتداخلة، ببساطة، لتشغيل الأجهزة الظاهرية على الجهاز الظاهري.
KVM وبرنامج VMWare آلة افتراضية مختلفة مبدأ التعشيش، برنامج VMWare هو الطبقة الأولى من تكنولوجيا الأجهزة الافتراضية، والطبقة الثانية هي تماما من برامج المحاكاة، يمكننا أن نفعل ذلك فقط برنامج VMWare اثنين متداخلة. KVM هو سمة لتمرير كل من وحدة المعالجة المركزية الجهاز الظاهري المادية، كل نظريا يمكن أن تكون متداخلة N متعدد الطبقات.
ترتيب
لأن التكنولوجيا سينت أو إس المتداخلة لم يتم المدعومة رسميا، واختبار المقترح عند اختباره مع أحدث فيدورا.
الخطوة الأولى لفتح خصائص الوحدات المربعة نواة متداخلة
مودبروب المربعة-إنتل متداخلة = 1
تحرير أو تعديل modprobe.d /etc/modprobe.d/kvm_mod.conf، إضافة ما يلي
خيارات المربعة-إنتل متداخلة = ذ
تحقق ما إذا كان الدالة المتداخلة مفتوحة
القط / SYS / وحدة / kvm_intel / معلمات / متداخلة
Y
الخطوة ملف تكوين الجهاز الظاهري من الطبقة الأولى، إلى الخصائص الفيزيائية للالجهاز بأكمله لتمرير CPU الجهاز الظاهري، وذلك باستخدام تكنولوجيا HOST CPU
< "المضيف العبور 'واسطة وحدة المعالجة المركزية = / >
والخطوة الثالثة بوصفها البلد المضيف، يتم تكوين الطبقة الأولى في مجموعة الجهاز الظاهري، وفقا للمكونات ذات الصلة، ويمكن تثبيت الجهاز الظاهري من الطبقة الثانية.