ما هو "vCPU" ، وما مقدار الأداء؟

جدول المحتويات:

ما هو "vCPU" ، وما مقدار الأداء؟
ما هو "vCPU" ، وما مقدار الأداء؟
Anonim

غالبًا ما يعلن مزودو الخادم السحابي عن مثيلاتهم على أنها تحتوي على عدد معين من "وحدات المعالجة المركزية الافتراضية" ، وهي اختصار لوحدة المعالجة المركزية الافتراضية. ما مقدار الأداء الذي تتوقعه من هذا مقارنة بوحدة المعالجة المركزية العادية؟

الفرق بين النوى والخيوط

من المهم فهم الفرق بين سلسلة المعالجة ونواة وحدة المعالجة المركزية. سيكون لوحدات المعالجة المركزية عددًا محددًا من النوى التي تتعامل مع تنفيذ البرامج. ولكن حتى المهام المكثفة لا تستخدم 100٪ من وحدة المعالجة المركزية طوال الوقت ؛ يجب أن تنتظر البرامج في كثير من الأحيان قراءات الذاكرة من ذاكرة التخزين المؤقت L3 وذاكرة الوصول العشوائي والأقراص ، وغالبًا ما تنتقل إلى وضع السكون أثناء انتظار وصول البيانات.خلال هذا الوقت ، يكون قلب وحدة المعالجة المركزية غير نشط.

حل هذه المشكلة يسمى "hyperthreading" أو "multithreading في وقت واحد." بدلاً من تشغيل مجموعة واحدة من المهام في كل مرة ، تستطيع وحدة المعالجة المركزية التعامل مع مؤشرات ترابط متعددة. حاليًا ، تدعم كل وحدة معالجة مركزية متطورة تقريبًا من Intel أو AMD خيطين لكل نواة.

اعتمادًا على التطبيق ، يمكن أن تعطي مؤشرات الترابط تسريعًا نظريًا بنسبة 100٪ ، إذا كان كلا الموضوعين ينتظران قراءة الذاكرة ولا يتعارضان مع بعضهما البعض. في معظم الحالات ، يعطي مؤشر الترابط المفرط زيادة في السرعة بنسبة 30٪ تقريبًا على عدم وجود مؤشر ترابط مفرط. على الرغم من ذلك ، في بعض الحالات ، عندما يتم تثبيت خيطين بنسبة 100٪ ويعملان على نفس النواة ، يمكن أن يتسبب ذلك في حدوث تباطؤ أثناء قتالهما من أجل موارد وحدة المعالجة المركزية.

ما الذي يجعل وحدة المعالجة المركزية الافتراضية؟

vCPUs قابلة للمقارنة تقريبًا بسلسلة معالجة واحدة ، ولكن هذه ليست مقارنة عادلة تمامًا.

لنفترض أنك استأجرت مثيل

c5.largeمن AWS مع وحدتي vCPU.سيتم تشغيل تطبيقك جنبًا إلى جنب مع العديد من التطبيقات الأخرى على خادم واحد كبير. يمكنك بالفعل استئجار الخادم بالكامل باستخدام مثيل AWS Bare Metal ، والذي يمنحك وصولاً مباشرًا إلى المعالج. إذا كنت تستأجر أي شيء أصغر من ذلك ، فسيتم إدارة وصولك من خلال AWS Nitro.

Nitro هو برنامج Hypervisor ، يتولى إنشاء وإدارة الأجهزة الافتراضية التي تعمل على الخادم نفسه. هذا هو السبب في أنك تستأجر "خادمًا افتراضيًا" ، وليس مساحة على الرف في مركز البيانات. نيترو هو ما يجعل EC2 علامة ؛ يتم تشغيله جزئيًا بواسطة أجهزة مخصصة ، لذا يجب أن يكون التباطؤ من التشغيل في بيئة افتراضية في حده الأدنى.

يقرر Nitro أي مؤشرات ترابط لتعيين جهاز VM الخاص بك بناءً على مقدار قوة المعالجة المطلوبة ، تمامًا كما يفعل برنامج جدولة المهام في بيئة سطح المكتب العادية. مع اثنين من وحدات المعالجة المركزية الافتراضية ، فإن أسوأ حالة هي أن التطبيق الخاص بك يعمل على نواة واحدة ، ويتم منحه خيطي هذا النواة. إذا كنت حقًا تصل إلى الحد الأقصى للمثيل الخاص بك ، فقد تتعارض سلاسل المحادثات الخاصة بك وتتسبب في تباطؤ بسيط.من الصعب تحديد كيفية عمل برنامج Hypervisor من AWS ، ولكن من الآمن افتراض أن هذا السيناريو قد تم تخفيفه إلى حد كبير من خلال الإدارة الجيدة للخيط من جانب Nitro.

لذا ، بشكل عام ، ربما يمكنك توقع أداء مشابه لمؤشر وحدة المعالجة المركزية العادي ، إن لم يكن أفضل قليلاً. لا يهم التمييز كثيرًا على أي حال ، نظرًا لأن معظم مثيلات EC2 تأتي مع مضاعفات 2 vCPU. فقط تذكر أن مثيل 4 vCPU ليس خادمًا رباعي النواة - إنه يحاكي خادمًا أساسيين ، يشغّل 4 سلاسل معالجة.

ستعتمد سرعة معالجة وحدة المعالجة المركزية الافتراضية بشكل أكبر على الأجهزة الفعلية التي تعمل عليها. ستكون معظم وحدات المعالجة المركزية للخوادم هي Intel Xeons ، لأنها تشكل غالبية السوق. قد تشغل الخوادم السفلية أجهزة قديمة قديمة بعض الشيء وفقًا لمعايير اليوم. تستخدم مثيلات T3a من AWS عددًا كبيرًا من وحدات المعالجة المركزية AMD EPYC ، وتعمل بشكل أبطأ قليلاً ، ولكن تكلفتها أقل نظرًا لكون الأجهزة أرخص بكثير لكل مركز.

مثيلات انفجارية

شعار مثيل AWS T2
شعار مثيل AWS T2

مثيلات T2 و T3 من AWS "قابلة للانفجار" ، وهي أكثر ملاءمة للتطبيقات التي لا تحتاج إلى أن تعمل بنسبة 100٪ طوال الوقت.

على سبيل المثال ، يحتوي مثيل

t3.micro

على وحدتي vCPU ، لكن سرعته الأساسية هي 10٪ من vCPU العادي. في الواقع ، يحتوي

t3.micro

على 0.2 وحدة معالجة مركزية فقط ، وهي في الواقع الطريقة التي يعلن بها Google Cloud Platform عن

f1-microمثيلاتها.

لكن

t3.microليس أبطأ بنسبة 90٪ فقط بشكل عام ؛ يُسمح له بالانفجار إلى ما هو أبعد من السرعة الأساسية لفترات زمنية قصيرة ، تمامًا مثل كيفية عمل تردد التوربو على جهاز كمبيوتر عادي. باستثناء أن العامل المحدد هنا ليس الحرارة ، ولكن المبلغ الذي ترغب في دفعه.

لكل ساعة يتم تشغيل المثيل أقل من السرعة الأساسية ، تقوم بتجميع أرصدة وحدة المعالجة المركزية ، والتي تُستخدم لتفجير المثيل لمدة دقيقة واحدة. يقوم مثيل

t3.microعلى وجه الخصوص بتجميع 6 أرصدة وحدة المعالجة المركزية في الساعة التي تعمل بأقل من السرعة الأساسية.ولكن عند الحاجة إلى طاقة المعالجة ، يتم استهلاك أرصدة وحدة المعالجة المركزية لتتجاوز السرعة الأساسية.

هذا مناسب تمامًا للتطبيقات القائمة على الخدمة الدقيقة ، والتي يجب أن تستجيب للطلبات عند حدوثها ، ولكنها تظل خامدة حتى يطلب المستخدم التالي شيئًا ما. الخدمات التي يجب أن تطحن الأرقام طوال الوقت هي أكثر ملاءمة للخوادم التقليدية.

يسمح هذا لـ AWS بتشغيل عدد أكبر من مثيلات T2 لكل خادم أكثر مما يمكن للخادم القيام به عادةً ، مما يساعد على خفض التكاليف. على سبيل المثال ، قد يحتوي كل رف في مركز البيانات الخاص به على 48 نظامًا أساسيًا مع 96 سلسلة معالجة. يمكن استخدام هذا لـ 96 وحدة معالجة مركزية افتراضية بقيمة من مثيلات C5 ، لكن مثيلات T2 قادرة على مشاركة النوى وتشغيلها بأقل من 20٪ من السرعة الأساسية الأساسية ، لذلك يمكن لـ AWS تشغيل المزيد منها خارج نفس الخادم.

موضوع شعبي