Cloud-based FPGA custom computing machines

Cloud-based FPGA custom computing machines. PhD thesis, King Fahd University of Petroleum and Minerals.

[img]
Preview
PDF
Amran_PhD_Thesis_Cloud-based_FCCMs.pdf - Accepted Version

Download (9MB) | Preview

Arabic Abstract

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

English Abstract

Field Programmable Gate Arrays (FPGAs) were first introduced as large capacity platforms of glue logic used for logic emulation and prototyping. Later, research efforts explored the use of FPGAs as computing devices. FPGAs provide excellent performance for several application domains, achieve lower power per operation, provide more deterministic latency, and can be connected to hosts or other FPGAs using different types of interfaces. On the negative side, FPGAs have a long design time in comparison with other computing machines such as CPUs and GPUs. Designing a hardware application, debugging it, and verifying its correctness requires hours and days. The resulting hardware application is both a vendor and a device-dependent. As such, developing an FPGA-based HW application is still restricted to hardware designers. For others to develop HW applications on FPGAs, the FPGA has to be properly virtualized, and its interfaces abstracted. Virtualization also enables integrating FPGAs within computing infrastructures such as data centers and clouds. In this dissertation, we introduce an FPGA virtualization platform that enables any application hardware to be ported on virtual FPGA and accessed as a standalone custom computing machine (CCM). We propose an FPGA cloud computing platform that introduces CCM as a service. A prototype of the virtualization platform has been implemented to evaluate its area, speed, and overhead. Comparison with other platforms shows that the proposed platform provides a general abstract interface to any design (not domain specific) and supports dynamic partial reconfiguration (so designs can be added to an FPGA that have other applications running) at comparable overhead to other notable platforms. Experimental results, using a streamed application in a cloud-like environment, showed that the proposed platform is a very viable computing option (in terms of throughput) for some applications compared to conventional server-based or virtual-machine based SW implementations.

Item Type: Thesis (PhD)
Subjects: Computer
Engineering
Department: College of Computing and Mathematics > Computer Engineering
Committee Advisor: Elrabaa, Mohamed
Committee Members: El-Maleh, Aiman and Alshayeb, Mohammad and Abu-Amara, Marwan and Ashraf, Mahmoud
Depositing User: AL-AGHBARI ABDULRAHMAN (g200902670)
Date Deposited: 13 Jun 2021 08:44
Last Modified: 13 Jun 2021 08:44
URI: http://eprints.kfupm.edu.sa/id/eprint/140904