بهینه‌سازی شبکه‌های اجتماعی و HTTP

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

نرخ از دست دادن کش و زمان بیکاری CPU تحت تأثیر به‌روزرسانی نیستند.

True (A)

کاهش fanout هیچ تأثیری بر احتمال درخواست‌های کندتر ندارد.

False (B)

حجم کار روزانه برای اشیاء TAO در دو خوشه متفاوت قابل مقایسه است.

True (A)

انجماد اجتماعی برای بهبود کارایی کش HTTP مؤثر است.

<p>True (A)</p> Signup and view all the answers

کاهش fanout به افزایش سربار اتصال برای هر رکورد داده منجر می‌شود.

<p>False (B)</p> Signup and view all the answers

گروه‌بندی گراف در زمینه شبکه‌های اجتماعی مخصوصاً مؤثر است.

<p>True (A)</p> Signup and view all the answers

روش‌های بهینه‌سازی غیر از گروه‌بندی گراف نمی‌توانند به صورت متناوب استفاده شوند.

<p>False (B)</p> Signup and view all the answers

هدف از حفظ بارهای متوازن در مولفه‌ها مهم نیست.

<p>False (B)</p> Signup and view all the answers

الگوهای دسترسی پیشین برای استخراج گروه‌ها قابل استفاده نیستند.

<p>False (B)</p> Signup and view all the answers

ابزارهای طراحی مانند درخواست‌های HTTP جزو اشیاء محسوب می‌شوند.

<p>True (A)</p> Signup and view all the answers

چارچوب اجتماعی هش به طور خاص برای تناسب بارها طراحی نشده است.

<p>False (B)</p> Signup and view all the answers

جایگزینی روش‌های بهینه‌سازی می‌تواند به سادگی انجام شود.

<p>True (A)</p> Signup and view all the answers

در جهت حفظ بارهای متوازن، مدل‌های دو سطحی پیشنهاد شده‌اند.

<p>True (A)</p> Signup and view all the answers

احتمال اینکه دو کاربر تصادفی دوست باشند ۱۵ درصد است.

<p>False (B)</p> Signup and view all the answers

هر به‌روز رسانی هفتگی توسط مرحله تخصیص ایستا منجر به تغییر گروه حدود ۱.۵ درصد از کاربران می‌شود.

<p>True (A)</p> Signup and view all the answers

تحقیق نشان داد که همزمان در خواست‌های HTTP دوستان یک استراتژی موثر است.

<p>True (A)</p> Signup and view all the answers

تعداد گروه‌ها با افزایش، بستر محلی دوستی را کاهش می‌دهد.

<p>True (A)</p> Signup and view all the answers

آزمایش ترافیک زنده در دو خوشه یکسان برای ارزیابی بهینه‌سازی مسیریابی HTTP انجام شد.

<p>True (A)</p> Signup and view all the answers

تعداد کاربران فیسبوک به ۱.۵ میلیارد نفر می‌رسد.

<p>True (A)</p> Signup and view all the answers

تخصیص ایستا به طور کلی باعث افزایش نرخ خطای کش می‌شود.

<p>False (B)</p> Signup and view all the answers

تجزیه و تحلیل دسترسی به داده‌ها از طریق رکوردهای دسترسی کمتر از ۱۰۰ میلیون نمونه انجام شد.

<p>False (B)</p> Signup and view all the answers

شمار کاربران در مقایسه با تعداد خوشه‌ها کم است.

<p>False (B)</p> Signup and view all the answers

وزن‌های خوشه‌ها در حلقه‌ی هش ثابت هستند.

<p>False (B)</p> Signup and view all the answers

اطلاعات گروه کاربر در خواست‌ها به صورت کوکی ذخیره می‌شود.

<p>True (A)</p> Signup and view all the answers

جدول هش اجتماعی هر روز به‌روزرسانی می‌شود.

<p>False (B)</p> Signup and view all the answers

رویکرد طراحی نیاز به جستجوی جدول هش اجتماعی در PoP را کم می‌کند.

<p>True (A)</p> Signup and view all the answers

هر درخواست که گروه-آی دی را در هدر نداشته باشد به یک خوشه‌ی تصادفی هدایت می‌شود.

<p>True (A)</p> Signup and view all the answers

حلقه‌ی هش به کاربران تضمین می‌کند که به یک خوشه خاص هدایت خواهند شد.

<p>False (B)</p> Signup and view all the answers

فرایند به‌روزرسانی در هر ساعت حداقل یک بار اتفاق می‌افتد.

<p>True (A)</p> Signup and view all the answers

بهینه‌سازی در سیستم‌های فیس‌بوک کاملاً از سازگاری پویا تفکیک شده است.

<p>True (A)</p> Signup and view all the answers

نخستین سطح در بهینه‌سازی از الگوی دسترسی به داده‌ها استفاده می‌کند.

<p>False (B)</p> Signup and view all the answers

سطح دوم به تغییرات زیرساخت و الگوهای دسترسی به داده‌ها پاسخ می‌دهد.

<p>True (A)</p> Signup and view all the answers

گروه تحقیقاتی شامل دیونیسس لوگوتتیس و روما تیباکس است.

<p>True (A)</p> Signup and view all the answers

مقاله‌ای در مورد پروتکل‌های کش توزیع شده در کنفرانس SIGIR منتشر شده است.

<p>True (A)</p> Signup and view all the answers

آمار ارائه شده با استفاده از الگوریتم‌ های قدیمی انجام شده است.

<p>False (B)</p> Signup and view all the answers

در مقاله ذکر شده، به روش‌های جدید تقسیم‌بندی گراف پرداخته نشده است.

<p>False (B)</p> Signup and view all the answers

مقاله ای به بررسی کاهش تاخیرها در جستجوهای وب اختصاص دارد.

<p>True (A)</p> Signup and view all the answers

جدول تخصیص از جفت‌های (گروه، مولفه) تشکیل شده است.

<p>True (A)</p> Signup and view all the answers

بارهای مورد نظر برای هر مولفه توسط سنسورها و ناشران سیستم تعیین می‌شوند.

<p>False (B)</p> Signup and view all the answers

الگوریتم‌های تقسیم‌بندی گراف به خوبی مورد مطالعه قرار گرفته‌اند.

<p>True (A)</p> Signup and view all the answers

جداول هش به‌منظور تسهیل در درک مفاهیم به عنوان جدول‌های کلید-مقدار توصیف شده‌اند.

<p>True (A)</p> Signup and view all the answers

بارهای تاریخی برای هر گروه از روی داده‌های سیستمی قابل استنتاج هستند.

<p>True (A)</p> Signup and view all the answers

روش‌های موجود برای بارگذاری به صورت دیسک‌سازماندهی شده هیچ ابزاری برای پردازش موازی ندارند.

<p>False (B)</p> Signup and view all the answers

تخصیص پویا نیازی به توازن بار ندارد.

<p>False (B)</p> Signup and view all the answers

استراتژی‌های بارگذاری هیچ تأثیری بر انتخاب الگوریتم‌های بارگذاری ندارند.

<p>False (B)</p> Signup and view all the answers

Flashcards

حلقه هش سازگار

یک الگوریتم توزیع کاربر در سیستم‌های توزیع شده که از یک حلقه هش سازگار استفاده می‌کند تا کاربران را به طور یکسان به خوشه‌های مختلف هدایت کند.

وزن خوشه در حلقه هش سازگار

روش تخصیص وزن به خوشه‌ها در حلقه هش سازگار برای توزیع بار ترافیک بهینه

به روز رسانی حلقه هش سازگار

به روز رسانی اطلاعات تخصیص کاربر به خوشه‌ها در حلقه هش سازگار

جدول هش اجتماعی

استفاده از یک جدول هش محلی در هر خوشه برای ذخیره اطلاعات گروه کاربر

Signup and view all the flashcards

هدایت درخواست با استفاده از اطلاعات گروه

استفاده از اطلاعات گروه کاربر در هدر درخواست برای هدایت درخواست به خوشه مناسب

Signup and view all the flashcards

به روز رسانی اطلاعات گروه

به روز رسانی دوره ای اطلاعات گروه کاربر در هدر درخواست

Signup and view all the flashcards

Social Hash

روش توزیع بار ترافیک بهینه در سیستم توزیع شده که از یک حلقه هش سازگار و یک جدول هش اجتماعی استفاده می‌کند

Signup and view all the flashcards

کاهش پیچیدگی با استفاده از اطلاعات گروه

روش تخصیص ترافیک به خوشه ها با استفاده از اطلاعات گروه، کاهش کارایی و پیچیدگی سرورها

Signup and view all the flashcards

نرخ خطای حافظه پنهان

میزان درخواست هایی که به دلیل نبود در حافظه پنهان، مجبور به مراجعه به سیستم backend می شوند.

Signup and view all the flashcards

مجموعه فعال روزانه

اندازه کل داده هایی که در طول یک روز توسط یک سرور TAO به آن دسترسی پیدا کرده است.

Signup and view all the flashcards

زمان بی کاری CPU

میزان زمانی که CPU در انتظار تکمیل شدن یک درخواست باقی می ماند.

Signup and view all the flashcards

فن اوت

تعداد سرور هایی که یک درخواست به طور همزمان با آنها ارتباط برقرار می کند.

Signup and view all the flashcards

شکست دادن ذخیره سازی

تکنیکی برای توزیع داده ها به طور بهینه در سرور ها، با هدف کاهش زمان پاسخگویی و بهبود کارایی.

Signup and view all the flashcards

سطح بندی بهینه سازی و تطبیق پویا

در این چارچوب، بهینه سازی از تطبیق پویا جدا شده است و دو سطح جداگانه برای انجام آنها در نظر گرفته شده است. سطح اول از تقسیم بندی گراف برای بهینه سازی استفاده می کند و سطح دوم از تخصیص پویا برای تطبیق استفاده می کند.

Signup and view all the flashcards

سطح اول بهینه سازی

سطح اول از ساختار شبکه اجتماعی و الگوهای استفاده از آن بهره می برد تا کارایی را بهینه کند.

Signup and view all the flashcards

سطح دوم تطبیق

سطح دوم به تغییرات در داده ها، الگوهای دسترسی و زیرساخت ها پاسخ می دهد و به طور پویا تنظیم می شود.

Signup and view all the flashcards

تقسیم بندی گراف

تقسیم بندی گراف یک تکنیک برای تقسیم یک گراف به چندین زیر گراف است که ارتباط بین آنها کم است.

Signup and view all the flashcards

تخصیص پویا

تخصیص پویا فرایندی است که در آن منابع به طور پویا و بر اساس نیاز به وظایف اختصاص می یابد.

Signup and view all the flashcards

مزایای چارچوب دو سطحی

این چارچوب برای شبکه های اجتماعی بزرگ و پیچیده طراحی شده است و می تواند کارایی سیستم را به طور قابل توجهی افزایش دهد.

Signup and view all the flashcards

قابلیت تعمیم چارچوب

چارچوب دو سطحی به طور مستقل از شبکه اجتماعی توسعه داده شده است و می توان از آن برای سیستم های دیگر نیز استفاده کرد.

Signup and view all the flashcards

توسعه چارچوب

این چارچوب به طور مداوم در حال توسعه است تا بتواند با الزامات جدید شبکه های اجتماعی سازگار شود.

Signup and view all the flashcards

احتمال دوستی در دسترسی به داده

دو کاربری که به یک رکورد داده دسترسی پیدا می‌کنند، 15% احتمال دارد که باهم دوست باشند. این شانس بسیار بیشتر از احتمال دوست بودن دو کاربر تصادفی است.

Signup and view all the flashcards

انتساب استاتیک (Static Assignment)

الگوریتمی که کاربران را به گروه‌های مختلف بر اساس الگوی دسترسی و دوستی آنها تقسیم بندی می‌کند.

Signup and view all the flashcards

بومی سازی لبه (Edge Locality)

نسبت دوستی‌ها که در یک گروه قرار گرفته‌‌اند نسبت به کل دوستی‌ها در سیستم.

Signup and view all the flashcards

انتخاب تعداد گروه ها (Number of Groups)

انتخاب تعداد مناسب گروه ها که هم کارایی را تضمین کند و هم هزینه را کم کند.

Signup and view all the flashcards

بهینه‌سازی مسیریابی درخواست‌های HTTP بر اساس Social Hash

بهبود کارایی درخواست‌های HTTP با استفاده از توزیع مناسب کاربران در nhóm.

Signup and view all the flashcards

آزمایش زنده ترافیک (Live Traffic Experiment)

آزمایش کارایی در محیط واقعی با ترافیک واقعی

Signup and view all the flashcards

آزمایش بر روی خوشه‌های TAO

آزمایش بر روی دو خوشه یکسان با تعداد سرور و سخت‌افزار مشابه برای مقایسه کارایی Social Hash

Signup and view all the flashcards

استفاده از سرورهای TAO در Facebook

تیم Facebook از چند صد سرور TAO برای ارائه داده های اجتماعی به کاربران استفاده می کند.

Signup and view all the flashcards

بهینه سازی براساس تخصیص استاتیک

یک الگوریتم بهینه سازی که گروه هایی از اشیاء را بر اساس الگوهای دسترسی آنها یا ارتباطات اجتماعی بین آنها به هم متصل می کند.

Signup and view all the flashcards

گروه ها - اجسام

تعیین مجموعه ای از اشیاء (مانند رکوردهای داده یا درخواست های HTTP) که به طور معمول با هم از طریق یک گراف اجتماعی مرتبط هستند.

Signup and view all the flashcards

روش های بهینه سازی دیگر

الگوریتم های دیگر که می توانند به جای تقسیم بندی گراف برای ایجاد گروه های اشیاء استفاده شوند.

Signup and view all the flashcards

گراف اجتماعی

ساختار داده ای که به طور معمول برای نشان دادن ارتباطات بین اشیاء یا کاربران در شبکه های اجتماعی استفاده می شود.

Signup and view all the flashcards

الگوهای دسترسی

نحوه استفاده افراد از اطلاعات یا خدمات مانند وبسایت ها یا برنامه ها.

Signup and view all the flashcards

بهینه سازی بار

نوعی بهینه سازی که تلاش می کند بار کاری را به طور یکنواخت بین اجزای سیستم توزیع کند.

Signup and view all the flashcards

چاچوب دو سط حی

یک چارچوبی با دو سطح که اجازه می دهد بین موازنه بار و معتبر ساختن گروه های اجسام متناسب با هم، تعادل ایجاد شود.

Signup and view all the flashcards

Social Hash Table

یک ساختار داده که به گروه بندی اشیا در شبکه های اجتماعی بر اساس بار آنها کمک می کند. بار هر شی به تعداد درخواست هایی اشاره دارد که برای آن شی وجود دارد. هر شی به یک گروه اختصاص داده می شود که گروهی از شی های با بار مشابه است. این جدول به طور پویا به روز می شود تا اطمینان حاصل شود که بار بین گروه ها ی مختلف به طور مساوی توزیع شود.

Signup and view all the flashcards

Dynamic Assignment

مکانیزم ی برای توزیع اجسام در شبکه های اجتماعی که به طور پویا به روز شده و به طور دوره‌ای بار اجزار را موازنه می کنند. این فرآیند از دو مرحله تشکیل شده : مرحله تخصیص استاتیک که اجزار را به گروه ها با استفاده از الگوریتم های تقسیم گراف اختصاص می دهد. مرحله تخصیص پویا بار هر گروه را در طول زمان موازنه می کند.

Signup and view all the flashcards

Graph Partitioning Algorithms

الگوریتم هایی که برای تقسیم گره ها و یال ها در یک نقطه جدید استفاده می شوند که در آن بار در بین گروه ها به طور مساوی توزیع می شود.

Signup and view all the flashcards

Assignment Table

یک ساختار داده که به طور پویا به روز می شود و اطلاعات در مورد هر شی ، از جمله کدام گروه به آن اختصاص داده شده است و علاوه بر آن بار هر گروه را ذخیره می کند.

Signup and view all the flashcards

Hash Table

استفاده از یک ساختار داده که برای یافتن سریع اطلاعات در مورد هر شی ، به ویژه کدام گروه به آن اختصاص داده شده است ، استفاده میشود. این ساختار داده از یک کلید به عنوان ورودی و یک مقدار به عنوان خروجی استفاده می کند.

Signup and view all the flashcards

Static Assignment

فرایند اختصاص اولیه اجزار به گروه های مختلف در مراحل اولیه

Signup and view all the flashcards

load per object

بار هر شی به تعداد درخواست هایی که برای آن شی وجود دارد ، اشاره می کند

Signup and view all the flashcards

load per group

مجموع   بار    تمام     شی    ها    در   یک    گروه    
Signup and view all the flashcards

Study Notes

Social Hash: An Assignment Framework

  • This paper describes a framework called Social Hash, designed for optimizing distributed systems operations on social networks like Facebook.
  • The framework aims to improve performance and resource utilization by assigning objects to components effectively.
  • Two-level approach is used:
    • Static assignment: based on graph partitioning (slow timescale), optimizing for scenario-dependent objectives (e.g., minimizing cache miss rate).
    • Dynamic adaptation: frequent adjustments based on system monitors and administrators, aims to balance component loads.

Framework Overview

  • The framework assigns objects to groups (conceptual clustering) first, then groups to components.
  • Static assignment algorithm uses graph partitioning to map objects to groups (based on input like the Social Graph, object types, objectives, number of groups, permissible imbalance). This is done periodically (e.g., daily or weekly).
  • Dynamic assignment algorithm balances component loads using current component loads, to adapt to dynamic changes in workload and infrastructure.

Applications

  • The framework has been used in Facebook for over a year.
  • HTTP Request Routing: 25% reduction in cache miss rate, handling over 78% of stateless web traffic.
  • Storage Sharding: response latency reduced by 50% in multi-get fetch requests, involving tens of thousands of storage servers.
  • The framework has also been applied in other systems (e.g., graph processing, data compression).

Challenges

  • Large number of objects mapped to a smaller number of components.
  • Balancing loads while adapting to heterogeneous components and dynamic workloads.
  • The need for stable assignments and fast lookups to avoid excessive overhead.
  • Similarity between objects (users, data records) can lead to load imbalance.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

More Like This

Use Quizgecko on...
Browser
Browser