Experiences With Computer Architecture Remote Laboratories

Experiences With Computer Architecture Remote Laboratories

Pablo Daniel Godoy, Osvaldo Lucio Marianetti, Carlos Gabriel García Garino
DOI: 10.4018/978-1-7998-7010-4.ch005
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

This chapter resumes several experiences about using a remote laboratory based on Raspberry Pi computers and Arduino microcontrollers. The remote laboratory has been used to teach computer architecture, parallel programming, and computer networks on computer sciences and telecommunications careers. The laboratory is aimed at students with medium level of programming knowledge, which require flexible access to the computers being able to implement their own solutions. Students can explore the software and hardware of the laboratory computers, deploy, and run their codes, perform input and output operations, and configure the computers. Four different architectures are described, based on cloud computing and remote procedure calls, IoT platforms, VPN, and remote desktop. On the other hand, practical activities performed by students are summarized. Advantages and disadvantages of these architectures, problems that arose during the teaching experiences, and future work are described.
Chapter Preview
Top

Background

Experiments Over Real Equipment and Instruments and Experiments Over Simulators

In order to perform an experiment or practical activity that requires equipment, machines or laboratory instruments there are two alternatives:

  • Use real equipment.

  • Use simulators.

The use of real equipment and instruments is the best option to both scientific experiments and learning activities. To scientific experiments, the results will not be affected by deficiencies in models used to build simulators. To teaching and learning activities, students can perform real experiences on real equipment. But using real equipment and instruments has some drawbacks regarding simulators:

  • The cost can be very high.

  • Some researchers and students may not access to real equipment and instrument due to the high cost or the unavailability in some countries or regions.

  • Time to carry out real experiments may be very long.

  • In learning activities, the concern of students about damaging equipment may lead to limited and little enriching activities.

  • The time of use is limited, and equipment have to be shared by several students.

A simulator is a software tool that mimics the behavior of real equipment and instruments. In order to build a simulator, a model of the real equipment is needed. Simulators have several advantages: the cost can be low or without cost, they are easy to install, there is not risk of damaging equipment and instruments, and students can use the equipment without time limitations and without share them. On the other hand, simulators have two important disadvantages:

  • It is impossible that a model mimics perfectly a real system, and the experimental results may have errors.

  • A teaching or learning activity will not be real. Students may lose the opportunity of learning real details that simulators do not show.

An intermediate option between simulations and experiments over real equipment are emulators. An emulator allows run programs over a virtual platform that is deployed over a real platform. Emulators have two applications:

  • Run software applications over a different platform for which they were written.

  • Add simulated components to hardware architecture, so that user sees a computer with more resources than the original.

Experimental platforms based on emulators have been found on the literature (Imran, 2010). But they have the same disadvantages of simulators and real experiences. Another intermediate option between simulations and experiments over real equipment are remote laboratories. These have the advantages of simulations and experiments over real equipment, but less drawbacks than both.

Key Terms in this Chapter

Cloud Laboratories: Laboratories that use cloud computing services to store some software modules.

Remote Control: Control a system remotely.

Remote Teaching: Teaching tasks performed remotely.

Remote Learning: Learning tasks performed by students remotely.

Remote Experiments: Experiments that can be performed over a laboratory located on a different location that the experimenter.

Remote Laboratories: Platform to access laboratory equipment remotely.

Web Interface: Interface formed by web pages that allows to access a system.

Nomadic Laboratories: Platform to practical and experimental activities that can move.

Online Experiments: Experiments performed remotely through a web interface.

Complete Chapter List

Search this Book:
Reset