Download presentation
1
Input buffered switches (1)
Masoud Sabaei Assistant professor Computer Engineering and Information Technology Department, Amirkabir University of Technology
2
Introduction Input-buffered switches Two major problems
Throughput limitation Because of head-of-line (HOL) blocking Need for faster switch fabric Need for more paths to output ports Arbitration Because of out port contentions Need for fast scheduling mechanisms (this chapter) در ابتدای پیدایش سوییچینگ بسته ای از روش بافرینگ در ورودی بکار برده می شد. بزرگترین مشکل سوییچهای با صف در ورودی مشکل محدودیت گذردهی بدلیل مسئله HOL می باشد. این امر باعث شد تا تمرکز بیشتری بر روی سوییچهای با بافر در خروجی بیشتر شود. در ابتدای پیدایش سوییچهای ATM سوییچهای با صف خروجی مناسب به نظر می رسیدند اما با افزایش نیاز به ظرفیت بیشتر (سرعت بالاتر و تعداد پورت بیشتر) محدودیت سرعت حافظه در بافر خروجی مشكل ایجاد كرد. به همین علت تمركز دوباره به سمت سوییچ های input-buffer و یا تركیب input-buffer و output-buffer معطوف شد. ضمنا كارهایی هم در جهت شبیه سازی output-buffer بر روی سوییچ input-buffer صورت گرفته است كه اغلب هزینه پیاده سازی بالا دارند. از دو مشكل اصلی سوییچ های input-buffer كه در بالا ذكر شده است اولی باید با افزایش سرعت فابریك سوییچ و یا افزایش مسیرها به سمت پورت های خروجی طوری كه چند cell بتوانند همزمان به پورت خروجی برسند، حل شود. مشكل دوم باید با مكانیزم های مؤثر scheduling كه بحث این فصل است حل شود. در مورد per-flow scheduling: مثلا یك صفحه وب كه از 20 بسته IP تشكیل شده می تواند یك flow محسوب شود كه نیازمندی های كیفیت سرویس یكسان دارند. پس اگر سوییچ بتواند flow ها را تشخیص دهد خوب است.
3
Input-buffered Switch Model With FIFO Queues
4
Input-buffered Structure With Virtual Output Queues
5
Scheduling in VOQ-based Switches
Ai(t): The cell arrival process to input port i. Qij: The queue that the arrived cell at input port i and destined to output j is put into it. Lij(t): The queue length of Qij. Aij(t): the arrival process from input i to output j with an arrival rate of λij, and A(t) = {Aij(t), 1 ≤ i ≤ N and 1 ≤ j ≤ N}. If the arrivals to each input and each output are admissible, that is, then the set A(t) is admissible.
6
Scheduling in VOQ-based Switches
Scheduling Algorithms: The arbitration process of a switch decides which cells at input buffers will be transferred to outputs.
7
Scheduling in VOQ-based Switches
S(t) = [sij(t)]N×N: Service matrix A switch is defined to be stable, if the expected queue length is bounded, that is,
8
Bipartite Graph Matching Example
9
Factors to be considered in scheduling algorithm design
Efficiency. The algorithm should achieve high throughput and low delay. In other words, select a set of matches with more edges in each time slot. Fairness. The algorithm should avoid the starvation of each VOQ. Stability. The expected occupancy of each VOQ should remain finite for any admissible traffic pattern. Implementation Complexity. The algorithm should be easy for hardware implementation. High implementing complexity will cause long scheduling time, which further limits the line speed of the switch.
10
Scheduling Algorithm Maximum Matching Maximal Matching
Randomized Matching Algorithms Frame-based Matching Stable Matching With Speedup
11
Maximum Weight Matching
12
Maximum Weight Matching (MWM)
A maximum weight matching algorithm achieves 100 percent throughput under any admissible traffic. MWM can be solved in time O(N3) LQF (longest queue first) OCF (oldest cell first) LPF (longest port first)
13
Maximum Size Matching Maximum size matching is a special case of the maximum weight matching when the weight of each edge is 1. The time complexity of MSM is O(N2.5)
14
Maximal Matching Parallel Iterative Matching (PIM)
Iterative Round-Robin Matching (iRRM) Iterative Round-Robin with SLIP (iSLIP) FIRM (FCFS in round-robin matching) Dual Round-Robin Matching (DRRM) Pipelined Maximal Matching Exhaustive Dual Round-Robin Matching (EDRRM)
15
Maximal Matching Under any admissible traffic, a combined input- and output-queued (CIOQ) switch using any maximal matching algorithm achieves 100 percent throughput for any speedup s ≥ 2
16
Parallel Iterative Matching (PIM)
این روش بر اساس انتخاب تصادفی بسته های منتظر در VOQ های ورودی كار می كند. در هر تكرار از الگوریتم سه مرحله انجام می شود كه در بالا ذكر شده است. در هر تكرار match های بیشتری یافته می شود. می توان آن قدر تكرار كرد تا همه match های ممكن یافته شوند. به عنوان مثال به شكل بالا توجه كنید كه یك تكرار الگوریتم را نشان می دهد. L(x,y)=z به این معناست كه z عدد cell قصد رفتن از ورودی x به خروجی y را دارند. در مرحله اول (request) همه درخواست ها ارسال می شوند. در مرحله دوم (grant) اگر پورت خروجی ای بیش از یك درخواست دریافت كند (مثل پورت خروجی 2)، به طور تصادفی یكی را انتخاب می كند. در مرحله سوم (accept) اگر پورت ورودی ای بیش از یك grant دریافت كرده باشد (مثل پورت ورودی 3)، به طور تصادفی یكی را انتخاب می كند. تحلیل نشان می دهد كه با این روش، در هر تكرار به طور میانگین 75% از match های باقی مانده یافته می شوند. یعنی الگوریتم در O(LogN) تكرار همگرا می شود. throughput این روش برای ترافیك uniform در صورت انجام یك تكرار 63% و در صورت انجام N تكرار 100% است. الگوریتم به خودی خود ساده است، اما پیاده سازی تابع تصادفی در سرعت های بالا هزینه بر است.
17
Parallel Iterative Matching (PIM)
18
Iterative Round Robin Matching (iRRM)
این روش شبیه روش PIM است با این تفاوت كه به جای انتخاب تصادفی در هنگام تعدد request یا grant، از انتخاب نوبت گردشی استفاده می كند. برای این كار هر ورودی یك اشاره گر ai و هر خروجی یك اشاره گر gi دارد كه به نوبت فعلی اشاره می كند. به مثال توجه كنید: اگر یك خروجی بیش از یک درخواست بگیرد، به درخواست كننده ای grant می دهد كه در اولین مكان از محل اشاره گر روی حلقه یافته شود. ضمنا اشاره گر به بعد از این مكان منتقل می شود. اگر یك ورودی بیش از یك grant بگیرد به آن accept می دهد كه در اولین مكان از محل اشاره گر روی حلقه یافته شود. ضمنا اشاره گر به بعد از این مكان منتقل می شود.
19
Iterative Round Robin Matching (iRRM)
20
Iterative Round Robin Matching (iRRM)
21
Iterative Round Robin Matching (iRRM)
22
Iterative Round Robin with (iSLIP)
روش iSLIP تفاوتش با روش قبلی در این است كه اشاره گرهای grant فقط در صورت پذیرفته شدن تغییر می كنند. این كار باعث می شود گرسنگی ایجاد نشود. چرا كه هر جفت match شده كمترین اولویت را پیدا می كند. مثلا در شكل بالا در step 3 اشاره گر g2 تغییر نمی كند. چرا كه grant داده شده توسط خروجی 2 پذیرفته نشده است. در حالی كه در مثال قبل مقدار این اشاره گر تغییر می كرد (در step 2 شكل صفحه قبل(
23
Iterative Round Robin with (iSLIP)
روش iSLIP تفاوتش با روش قبلی در این است كه اشاره گرهای grant فقط در صورت پذیرفته شدن تغییر می كنند. این كار باعث می شود گرسنگی ایجاد نشود. چرا كه هر جفت match شده كمترین اولویت را پیدا می كند. مثلا در شكل بالا در step 3 اشاره گر g2 تغییر نمی كند. چرا كه grant داده شده توسط خروجی 2 پذیرفته نشده است. در حالی كه در مثال قبل مقدار این اشاره گر تغییر می كرد (در step 2 شكل صفحه قبل(
24
Iterative Round Robin with (iSLIP)
روش iSLIP تفاوتش با روش قبلی در این است كه اشاره گرهای grant فقط در صورت پذیرفته شدن تغییر می كنند. این كار باعث می شود گرسنگی ایجاد نشود. چرا كه هر جفت match شده كمترین اولویت را پیدا می كند. مثلا در شكل بالا در step 3 اشاره گر g2 تغییر نمی كند. چرا كه grant داده شده توسط خروجی 2 پذیرفته نشده است. در حالی كه در مثال قبل مقدار این اشاره گر تغییر می كرد (در step 2 شكل صفحه قبل(
25
Iterative Round Robin with (iSLIP)
روش iSLIP تفاوتش با روش قبلی در این است كه اشاره گرهای grant فقط در صورت پذیرفته شدن تغییر می كنند. این كار باعث می شود گرسنگی ایجاد نشود. چرا كه هر جفت match شده كمترین اولویت را پیدا می كند. مثلا در شكل بالا در step 3 اشاره گر g2 تغییر نمی كند. چرا كه grant داده شده توسط خروجی 2 پذیرفته نشده است. در حالی كه در مثال قبل مقدار این اشاره گر تغییر می كرد (در step 2 شكل صفحه قبل(
26
Iterative Round Robin with (iSLIP)
روش iSLIP تفاوتش با روش قبلی در این است كه اشاره گرهای grant فقط در صورت پذیرفته شدن تغییر می كنند. این كار باعث می شود گرسنگی ایجاد نشود. چرا كه هر جفت match شده كمترین اولویت را پیدا می كند. مثلا در شكل بالا در step 3 اشاره گر g2 تغییر نمی كند. چرا كه grant داده شده توسط خروجی 2 پذیرفته نشده است. در حالی كه در مثال قبل مقدار این اشاره گر تغییر می كرد (در step 2 شكل صفحه قبل(
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.