Platforms for Teaching Distributed Computing Concepts to Undergraduate Students

Over the last two decades, information technology has been moving towards distributed computing to host their applications and services. These systems can process more data more reliably than their central processing counterparts; however, distributed applications are more complex to design and deve...

Full description

Bibliographic Details
Main Author: Forrester, J.
Format: Others
Published: DigitalCommons@CalPoly 2015
Subjects:
Online Access:https://digitalcommons.calpoly.edu/theses/1372
https://digitalcommons.calpoly.edu/cgi/viewcontent.cgi?article=2505&context=theses
id ndltd-CALPOLY-oai-digitalcommons.calpoly.edu-theses-2505
record_format oai_dc
spelling ndltd-CALPOLY-oai-digitalcommons.calpoly.edu-theses-25052021-09-14T05:01:36Z Platforms for Teaching Distributed Computing Concepts to Undergraduate Students Forrester, J. Over the last two decades, information technology has been moving towards distributed computing to host their applications and services. These systems can process more data more reliably than their central processing counterparts; however, distributed applications are more complex to design and develop because they require additional properties like replication and fault tolerance to work effectively. These complexities translate to the educational setting, where schools need to invest in additional infrastructure, knowledge, and technologies to teach distributed concepts to students. This project presents the design and implementation of a complete educational framework for the teaching of distributed computing concepts at Cal Poly. The framework consists of three components: a Raspberry Pi cluster, a custom distributed file system (DecaFS), and a set of labs that can be used to support coursework in a distributed computing class. Each cluster is composed of five networked Raspberry Pi computers. The DecaFS distributed file system runs on the Raspberry Pi cluster. DecaFS provides the base functionality of a distributed file system with a design that allows for easy modification of sections of the implementation. The lab exercises focus on important distributed computing concepts that represent a variety of problems encountered in distributed systems including distribution, replication, fault tolerance, recovery, rebalancing, and efficiency. Isolation of the lab related modules allows students to focus on the learning objectives of the labs without needing to set up network and file system infrastructure to support the distributed aspects. The complexities of teaching distributed computing concepts in a classroom setting at Cal Poly have been addressed with this project's framework. The solution overcomes key educational challenges as it is portable, modular, scalable and affordable. The framework provides the ability to offer courses in distributed computing to better prepare students for the challenges presented in industry today. Through the use of a modular distributed file system and computing cluster that were created for this project, students are able to solve complex distributed problems, in the form of labs, in an isolated environment that is conducive to quarter long learning objectives. This work is a major step to bringing distributed computing into the classrooms at Cal Poly and classes are currently being designed around this curriculum. Cal Poly can evolve the framework to keep pace with the ever advancing information technology world so that it may continue to serve the needs of the faculty and students of Cal Poly. 2015-03-01T08:00:00Z text application/pdf https://digitalcommons.calpoly.edu/theses/1372 https://digitalcommons.calpoly.edu/cgi/viewcontent.cgi?article=2505&context=theses Master's Theses DigitalCommons@CalPoly Distributed Computing
collection NDLTD
format Others
sources NDLTD
topic Distributed Computing
spellingShingle Distributed Computing
Forrester, J.
Platforms for Teaching Distributed Computing Concepts to Undergraduate Students
description Over the last two decades, information technology has been moving towards distributed computing to host their applications and services. These systems can process more data more reliably than their central processing counterparts; however, distributed applications are more complex to design and develop because they require additional properties like replication and fault tolerance to work effectively. These complexities translate to the educational setting, where schools need to invest in additional infrastructure, knowledge, and technologies to teach distributed concepts to students. This project presents the design and implementation of a complete educational framework for the teaching of distributed computing concepts at Cal Poly. The framework consists of three components: a Raspberry Pi cluster, a custom distributed file system (DecaFS), and a set of labs that can be used to support coursework in a distributed computing class. Each cluster is composed of five networked Raspberry Pi computers. The DecaFS distributed file system runs on the Raspberry Pi cluster. DecaFS provides the base functionality of a distributed file system with a design that allows for easy modification of sections of the implementation. The lab exercises focus on important distributed computing concepts that represent a variety of problems encountered in distributed systems including distribution, replication, fault tolerance, recovery, rebalancing, and efficiency. Isolation of the lab related modules allows students to focus on the learning objectives of the labs without needing to set up network and file system infrastructure to support the distributed aspects. The complexities of teaching distributed computing concepts in a classroom setting at Cal Poly have been addressed with this project's framework. The solution overcomes key educational challenges as it is portable, modular, scalable and affordable. The framework provides the ability to offer courses in distributed computing to better prepare students for the challenges presented in industry today. Through the use of a modular distributed file system and computing cluster that were created for this project, students are able to solve complex distributed problems, in the form of labs, in an isolated environment that is conducive to quarter long learning objectives. This work is a major step to bringing distributed computing into the classrooms at Cal Poly and classes are currently being designed around this curriculum. Cal Poly can evolve the framework to keep pace with the ever advancing information technology world so that it may continue to serve the needs of the faculty and students of Cal Poly.
author Forrester, J.
author_facet Forrester, J.
author_sort Forrester, J.
title Platforms for Teaching Distributed Computing Concepts to Undergraduate Students
title_short Platforms for Teaching Distributed Computing Concepts to Undergraduate Students
title_full Platforms for Teaching Distributed Computing Concepts to Undergraduate Students
title_fullStr Platforms for Teaching Distributed Computing Concepts to Undergraduate Students
title_full_unstemmed Platforms for Teaching Distributed Computing Concepts to Undergraduate Students
title_sort platforms for teaching distributed computing concepts to undergraduate students
publisher DigitalCommons@CalPoly
publishDate 2015
url https://digitalcommons.calpoly.edu/theses/1372
https://digitalcommons.calpoly.edu/cgi/viewcontent.cgi?article=2505&context=theses
work_keys_str_mv AT forresterj platformsforteachingdistributedcomputingconceptstoundergraduatestudents
_version_ 1719480492666912768