Abstract
With the recent interest in Software Defined Networking, many OpenFlow controllers have been released for research and commercial use. However, little public knowledge exists about the architectural choices that allow one controller to outperform another in production environments. In this paper, we aim to identify key performance bottlenecks and good architectural choices for designing OpenFlow-based SDN controllers. With this aim in mind, we evaluate the performances of four prominent open-source OpenFlow controllers: NOX [1], Beacon [2], Maestro [3] and Floodlight [4]. Since these controllers support multi-threading, we deploy them on shared memory multicore machines and benchmark their key architectural components under different metrics including thread scalability, switch scalability and latency in a custom cluster testbed. Our results lead to important architectural guidelines that can be used to improve the scalability of existing controllers or to design new ones. We follow these guidelines to implement an OpenFlow controller which outperforms existing controllers on assorted scalability metrics
چكيده
با تمايلات اخیر در شبکه سازي تعریف شده نرم افزار، کنترلرهاي اوپن فلو بسیاری برای تحقیق و استفاده تجاری منتشر شده اند. با این حال، دانش عمومی کمی در مورد انتخاب معماری وجود دارد که در محیط های تولید به یک کنترلر اجازه دهد بهتر از دیگری عمل کند. در این مقاله، هدف شناسایی گلوگاه هاي عملکرد کلیدی و انتخاب معماری خوب برای طراحی اوپن فلوهاي مبتني بر کنترلرهاي SDN مي باشد. با این هدف در ذهن، ارزیابی عملکرد چهار کنترلر اوپن فلو منبع باز برجسته مي شوند: NOX [1]، Beacon [2]، Maestro [3] و Floodlight [4]. از آنجا که این کنترلرها از چند نخي پشتیبانی مي كنند، آنها در ماشین هاي چند هسته اي حافظه مشترك مستقر و اجزای معماری کلیدی آنها تحت معيارهاي مختلف از جمله مقیاس پذیری نخ، مقیاس پذیری سوئیچ و تاخیر در تست خوشه سفارشی بررسي مي شوند. نتایج منجر به دستورالعمل های معمارانه مهم مي شود که می توانند به منظور بهبود مقیاس پذیری کنترلرهای موجود و یا طراحی های جدید مورد استفاده قرار گیرد. این دستورالعمل ها برای پياده سازي کنترلر اوپن فلو که کنترلرهای موجود را بر اساس معیارهای مقیاس پذیری بهتر به کار می گیرند، دنبال می شوند.
1-مقدمه
تمایلات تجاری اخیر به SDNها منجر به توسعه بسیاری از راه حل های سطح کنترل مبتنی بر اوپن فلو شده است [1] - [4]. در حالی که مطالعات اخیر عملکرد کنترل اوپن فلو و سطح داده ها [5] را بررسی کرده اند، [6]، تاکنون تمرکز در شناسایی اين بوده که كدام کنترلر بهتر از دیگران انجام شده است. ما طرفدار یک روش جایگزین براي نشان دادن اين هستيم که چرا اختلاف عملکرد بین کنترلرها وجود دارد...