ForHosting KIT · أدوات المطورين

حاسبة قانون أمدال للتسريع وحدود التوسع

يقدّر قانون أمدال أقصى تسريع نظري ممكن عندما يمكن تنفيذ جزء من البرنامج بالتوازي بينما يجب أن يبقى الجزء الآخر تسلسليا.

● Betaمجاني · داخل متصفحك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا

أدخلوا الكسر القابل للموازاة وعدد المعالجات لمعرفة التسريع المتوقع وكفاءة المعالجات ومقدار الزمن المسرّع الذي ما زال يستهلكه العمل التسلسلي. تعرض الحاسبة أيضا الحد التقاربي الذي يفرضه ذلك الجزء التسلسلي، مما يساعدكم على تحديد جدوى إضافة معالجات أو أولوية تحسين الشيفرة التسلسلية أولا.

ما الذي يقيسه قانون أمدال

يقسم قانون أمدال زمن التنفيذ الأصلي للبرنامج إلى كسر قابل للموازاة وكسر تسلسلي. إذا كان p قابلا للموازاة وتقاسم N من المعالجات ذلك العمل بصورة مثالية، يصبح زمن التنفيذ المعياري (1 − p) + p/N. وأقصى تسريع نظري هو مقلوب هذا الزمن. تطبق هذه الحاسبة المعادلة مباشرة وتفترض جدولة مثالية: يتوزع العمل المتوازي بالتساوي، ولا تضيف المعالجات أي كلفة اتصال، ولا يتسارع الجزء التسلسلي عند إضافة وحدات معالجة. لذلك تمثل النتيجة حدا أعلى وليست تنبؤا لاختبار أداء. قد يحقق التطبيق الفعلي نتيجة أقل بسبب المزامنة وتزاحم الذاكرة وبدء المهام وعدم توازن الحمل ونقل البيانات. ومع ذلك، يفيد الحد الأعلى في التحقق من معقولية القياس وتحديد هامش التحسين المتبقي. أدخلوا الكسر المتوازي عددا عشريا؛ فمثلا تمثل 0.95 نسبة 95 بالمئة، ثم أدخلوا العدد الإجمالي للمعالجات المتاحة للجزء المتوازي.

قراءة عنق الزجاجة وحد التوسع

يساوي الكسر التسلسلي واحدا ناقص الكسر المتوازي، وهو الذي يحدد السقف على المدى البعيد. عند وجود 95 بالمئة من العمل المتوازي تبقى 5 بالمئة تسلسلية، ولذلك لا يمكن حتى لعدد غير محدود من المعالجات تجاوز تسريع مقداره 20 مرة. يعرض حقل التسريع التقاربي هذا السقف كلما وجد جزء تسلسلي. أما حصة عنق الزجاجة التسلسلي فتجيب عن سؤال مختلف: عند عدد المعالجات المختار، ما نسبة زمن التنفيذ الجديد الأقصر التي تظل تسلسلية؟ غالبا ما ترتفع هذه الحصة كثيرا مع إضافة المعالجات. فقد يهيمن قسم كان يمثل 5 بالمئة فقط من الزمن الأصلي بعد توزيع الجزء المتوازي على معالجات كثيرة. تساوي الكفاءة المتوازية التسريع المحسوب مقسوما على عدد المعالجات. ويشير انخفاضها إلى تناقص فائدة كل معالج إضافي. تكشف هذه النتائج معا تناقص عوائد التوسع القوي، وتميز بين نقص المعالجات والقيد التسلسلي الجوهري.

استخدام النتيجة في تخطيط الأداء

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

تخطيط تحسين متعدد الأنوية

قدّروا أفضل مكسب ممكن من عدد المعالجات المقترح قبل استثمار الجهد الهندسي في موازاة حمل عمل ثابت.

توضيح تناقص العوائد

بيّنوا سبب تناقص فائدة إضافة العمال عندما يبقى استعلام أو منسق أو مرحلة تسلسلية أخرى بلا تغيير.

مقارنة النظرية باختبارات الأداء

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

ما المقصود بالكسر المتوازي؟

هو حصة زمن التنفيذ الأصلي التي يمكن توزيعها على المعالجات. أدخلوه عددا عشريا بين 0 و1.

لماذا تسمى النتيجة أقصى تسريع نظري؟

تفترض المعادلة تقسيما مثاليا للعمل دون كلفة اتصال أو مزامنة أو بدء أو تزاحم أو جدولة. يكون التسريع الفعلي أقل عادة.

ما التسريع التقاربي؟

هو سقف التسريع عندما يقترب عدد المعالجات من اللانهاية. إذا كان الكسر التسلسلي s غير صفري، يكون السقف 1/s.

ماذا تبين حصة عنق الزجاجة التسلسلي؟

تبين نسبة زمن التنفيذ المسرّع التي يشغلها العمل التسلسلي عند عدد المعالجات المختار، وتكشف متى يصبح التنفيذ التسلسلي مهيمنا.

هل يعيد معالج واحد دائما تسريعا مقداره واحد؟

نعم. في نموذج أمدال المثالي ينفذ معالج واحد الجزأين خلال الزمن المعياري الأصلي، ولذلك يساوي كل من التسريع والكفاءة واحدا.

ما كلفة الحساب عبر API؟

تكلف كل استجابة من API مقدار $0.002. والحساب الحتمي نفسه متاح من خلال واجهة المتصفح.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/dev/amdahl

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/dev/amdahl \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"parallel_fraction":0.95,"processors":16}'
{
  "parallel_fraction": 0.95,
  "processors": 16
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.amdahl",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

اطّلع على توثيق KIT الكامل ←