Open Access. Powered by Scholars. Published by Universities.®

Engineering Commons

Open Access. Powered by Scholars. Published by Universities.®

Articles 1 - 19 of 19

Full-Text Articles in Engineering

Autonomous Navigator Mobile Robot Upgrade, David Sansoucy Apr 2022

Autonomous Navigator Mobile Robot Upgrade, David Sansoucy

Thinking Matters Symposium

The mobile robot platform has been developed over the course of 10 years at USM. In Spring 2020, Belle-Isle and Werner updated the previous framework by rewriting the software to use the ROS framework running on an on-board Raspberry Pi 3. They also implemented navigation using an A* motion planning algorithm and image processing. In Summer 2021, Ames incorporated Lidar and Kinect sensors onto the robot to improve its real-time navigation capabilities. He also made improvements to the power distribution systems. This project aimed to build on the ROS frameworks developed by the previous 2 teams with the main goal …


Operating Systems Laboratory, Emt 2390l, Course Outline, Jose Reyes Alamo May 2019

Operating Systems Laboratory, Emt 2390l, Course Outline, Jose Reyes Alamo

Open Educational Resources

Students study the characteristics of operating systems used in IBM systems. They learn how to install the operating systems and set it up to control the computer hardware. They also learn to use the features of the operating systems to manage the computer system.


Mrsh-Mem: Approximate Matching On Raw Memory Dumps, Lorenz Liebler, Frank Breitinger Nov 2018

Mrsh-Mem: Approximate Matching On Raw Memory Dumps, Lorenz Liebler, Frank Breitinger

Electrical & Computer Engineering and Computer Science Faculty Publications

This paper presents the fusion of two subdomains of digital forensics: (1) raw memory analysis and (2) approximate matching. Specifically, this paper describes a prototype implementation named MRSH-MEM that allows to compare hard drive images as well as memory dumps and therefore can answer the question if a particular program (installed on a hard drive) is currently running / loaded in memory. To answer this question, we only require both dumps or access to a public repository which provides the binaries to be tested. For our prototype, we modified an existing approximate matching algorithm named MRSH-NET and combined it with …


Coyotelab - Linux Containers For Educational Use, Michael D. Korcha Dec 2016

Coyotelab - Linux Containers For Educational Use, Michael D. Korcha

Electronic Theses, Projects, and Dissertations

CoyoteLab is an exploration in the use of Linux container technology as a means to simplify the way students in computing fields access and complete laboratory work in their educational career. This project provides two main benefits: creating a simple way for students to log in and access their coursework without anything more than their web browser, and providing course instructors a way to verify that assigned work is completed successfully. Thanks to advances in container technology and the advent of WebSockets, this becomes a middle layer between a WebSocket opened up on the client’s browser and the SSH daemon …


Open Source, Modular Platforms, And The Challenge Of Fragmentation, Christopher S. Yoo Nov 2016

Open Source, Modular Platforms, And The Challenge Of Fragmentation, Christopher S. Yoo

All Faculty Scholarship

Open source and modular platforms represent two powerful conceptual paradigms that have fundamentally transformed the software industry. While generally regarded complementary, the freedom inherent in open source rests in uneasy tension with the strict structural requirements required by modularity theory. In particular, third party providers can produce noncompliant components, and excessive experimentation can fragment the platform in ways that reduce its economic benefits for end users and app providers and force app providers to spend resources customizing their code for each variant. The classic solutions to these problems are to rely on some form of testing to ensure that the …


Decelerating I/O Power Management, Shuang Zhai, Felix Xiaozhu Lin Aug 2016

Decelerating I/O Power Management, Shuang Zhai, Felix Xiaozhu Lin

The Summer Undergraduate Research Fellowship (SURF) Symposium

System suspend/resume is crucial to energy proportionality of modern computers, from wearable to cloud servers. Ironically, this OS mechanism itself is slow and energy hungry. Through characterizing the Linux kernel on a variety of modern system-on-chips (SoCs), we show the major reason as slow power state transitions of IO, which keeps CPU waiting. Furthermore, we argue that the IO wait can hardly be reduced to a satisfactory level, because most of slow transitions of IO are bounded by peripherals, low-speed buses, or physical factors. Therefore, the kernel execution for suspend/resume should be offloaded to a miniature core that waits more …


Oversubscribing Inotify On Embedded Platforms, Donald Percivalle, Scott Vanderlind Jun 2015

Oversubscribing Inotify On Embedded Platforms, Donald Percivalle, Scott Vanderlind

Computer Engineering

For most computers running the popular Linux operating system, the inte- grated kernel component inotify provides adequate functionality for monitor- ing changes to files present on the filesystem. However, for certain embedded platforms where resources are very limited and filesystems are very populated (like network attached storage (NAS) devices), inotify may not have enough resources to provide watchers for every file. This results in applications missing change notifications for files they have watched. This paper explores methods for using inotify most effectively on embedded systems by leveraging more la- tent storage. Benefits of this include a reduction in dropped notifications …


Transforming Information Systems And Computer Science Education With Virtualization, Maurice E. Dawson Jr., Jorja Wright, Jonathan Abramson Dec 2012

Transforming Information Systems And Computer Science Education With Virtualization, Maurice E. Dawson Jr., Jorja Wright, Jonathan Abramson

Maurice Dawson

This paper will propose an innovative method to transform information systems (IS) and computer science education on a global scale. This method will introduce the use of virtualization and cloud computing combined with open source software (OSS) in higher education. This will allow for those studying IS and computer science to work independently on projects anywhere in the world from a baseline image that has been developed with information assurance (IA) controls. Additionally, this will allow professors and course developers to deploy their own customized virtual machines (VMs) to be used with the course. These VMs will host their own …


Reliable Software Updates For On-Orbit Cubesat Satellites, Sean Fitzsimmons Jun 2012

Reliable Software Updates For On-Orbit Cubesat Satellites, Sean Fitzsimmons

Master's Theses

CubeSat satellites have redefined the standard solution for conducting missions in space due to their unique form factor and cost. The harsh environment of space necessitates examining features that improve satellite robustness and ultimately extend lifetime, which is typical and vital for mission success. The CubeSat development team at Cal Poly, PolySat, has recently redefined its standard avionics platform to support more complex mission capabilities with this robustness in mind. A significant addition was the integration of the Linux operating system, which provides the flexibility to develop much more elaborate protection mechanisms within software, such as support for remote on-orbit …


Lottery Scheduling In The Linux Kernel: A Closer Look, David Zepp Jun 2012

Lottery Scheduling In The Linux Kernel: A Closer Look, David Zepp

Master's Theses

This paper presents an implementation of a lottery scheduler, presented from design through debugging to performance testing. Desirable characteristics of a general purpose scheduler include low overhead, good overall system performance for a variety of process types, and fair scheduling behavior. Testing is performed, along with an analysis of the results measuring the lottery scheduler against these characteristics. Lottery scheduling is found to provide better than average control over the relative execution rates of processes. The results show that lottery scheduling functions as a good mechanism for sharing the CPU fairly between users that are competing for the resource. While …


Cplop - Cal Poly's Library Of Pyroprints, Kevin Webb Dec 2011

Cplop - Cal Poly's Library Of Pyroprints, Kevin Webb

Computer Engineering

California Polytechnic Library of Pyroprints, CPLOP, is a web driven data-base application that stores data from the biology’s departments E. coli Pyrosequencing project. Some of this data was stored in Excel datasheets, while data from the pyrosequencing machines was stored as just a list of random .xml files. There was no useful way to organize and store the massive amounts of data from multiple file sources in one location, nor to perform the complicated searches and comparisons that the project requires. CPLOP’s primary goal is to store such data in three organized tables that relate to one another. It was …


Fault Tolerant And Flexible Cubesat Software Architecture, Greg D. Manyak Jun 2011

Fault Tolerant And Flexible Cubesat Software Architecture, Greg D. Manyak

Master's Theses

The CubeSat pico-satellite is gaining popularity in both the educational and aerospace industries. Due to a lack of experience and constrained hardware capabilities, most of the university missions have been educational in nature. Cal Poly's project, PolySat, has gained significant experience from the launch of five CubeSats and has designed an entirely new hardware platform based on the knowledge gained from these missions. This hardware is a significant upgrade from what the previous missions used and has greatly increased the capabilities of the software, including supporting the use of the open source operating system Linux.

Leveraging the previous PolySat experience, …


Dmtcp: Transparent Checkpointing For Cluster Computations And The Desktop, Jason Ansel, Kapil Arya, Gene D. Cooperman Dec 2010

Dmtcp: Transparent Checkpointing For Cluster Computations And The Desktop, Jason Ansel, Kapil Arya, Gene D. Cooperman

Gene D. Cooperman

DMTCP (Distributed MultiThreaded CheckPointing) is a transparent user-level checkpointing package for distributed applications. Checkpointing and restart is demonstrated for a wide range of over 20 well known applications, including MATLAB, Python, TightVNC, MPICH2, OpenMPI, and runCMS. RunCMS runs as a 680 MB image in memory that includes 540 dynamic libraries, and is used for the CMS experiment of the Large Hadron Collider at CERN. DMTCP transparently checkpoints general cluster computations consisting of many nodes, processes, and threads; as well as typical desktop applications. On 128 distributed cores (32 nodes), checkpoint and restart times are typically 2 seconds, with negligible run-time …


Rfid Asset Tracking And Digital Check-Out System, Jeffrey (Jeff) Migliore Jun 2010

Rfid Asset Tracking And Digital Check-Out System, Jeffrey (Jeff) Migliore

Computer Engineering

An asset tracking and digital check-out system was developed using Radio Frequency Identification (RFID) and a Single Board Computer (SBC). A RFID reader was used as a check point to process transactions. The RFID reader was attached to the SBC via USB. The SBC is integrated into a network via Ethernet and hosts a web graphical user interface (GUI) frontend for users to view transactions and query availability of assets. A MYSQL database was used for the backend storage of data.

Specifically, this system was designed to track tool assets. Many modern companies have employees sharing limited resources. The common …


A Low Power Touch Screen Document Viewer, Chris Perfetto Jun 2010

A Low Power Touch Screen Document Viewer, Chris Perfetto

Computer Engineering

This document will cover the requirements, design, implementation and testing of a low power touch screen document viewer to serve as a replacement bulletin board. It was Implemented using a BeagleBoard development board, a 4.3” touchscreen LCD and a SD card with a Ubuntu Linux OS installed. The testing of this device is primarily testing the power consumption. The device is not yet complete and will require further development for it to completely satisfy the requirements.


Bluetooth "Clicker": Response Pads For Large Classes, Using Bluetooth Devices, Dana Goyette Jun 2010

Bluetooth "Clicker": Response Pads For Large Classes, Using Bluetooth Devices, Dana Goyette

Computer Engineering

When teaching classes with many students, many teachers opt to use “Clicker” devices to electronically poll students. This project aims to replace these “Clicker” devices with standard Bluetooth devices. The overall goal of this project is to create a framework for two-way communications between a base station and multiple remote devices.


Redesigning Src2pkg, A Linux Package Creation Toolkit, Timothy Goya Dec 2009

Redesigning Src2pkg, A Linux Package Creation Toolkit, Timothy Goya

Computer Science and Software Engineering

Package managers ease installation and removal of applications. However, as the name indicates, in order for a package manager to be useful, they need packages created from upstream sources to manage. This is the purpose of src2pkg, a toolkit written in Bash shell script which automates many package creation tasks. src2pkg, however, suffers from major design flaws that cripple its ability to package some exotic upstream sources. src2pkg-ng is a prototype redesign of src2pkg that eliminates these flaws. src2pkg-ng fully supports creating packages for Slackware and Slackware-compatible variants for at least 21 upstream sources with various levels of complexity. Debian …


What Is Rcu, Fundamentally?, Paul E. Mckenney, Jonathan Walpole Dec 2007

What Is Rcu, Fundamentally?, Paul E. Mckenney, Jonathan Walpole

Computer Science Faculty Publications and Presentations

Read-copy update (RCU) is a synchronization mechanism that was added to the Linux kernel in October of 2002. RCU achieves scalability improvements by allowing reads to occur concurrently with updates. In contrast with conventional locking primitives that ensure mutual exclusion among concurrent threads regardless of whether they be readers or updaters, or with reader-writer locks that allow concurrent reads but not in the presence of updates, RCU supports concurrency between a single updater and multiple readers. RCU ensures that reads are coherent by maintaining multiple versions of objects and ensuring that they are not freed up until all pre-existing read-side …


A Feedback-Driven Proportion Allocator For Real-Rate Scheduling, David Steere, Ashvin Goel, Joshua Gruenberg, Dylan Mcnamee, Calton Pu, Jonathan Walpole Sep 1998

A Feedback-Driven Proportion Allocator For Real-Rate Scheduling, David Steere, Ashvin Goel, Joshua Gruenberg, Dylan Mcnamee, Calton Pu, Jonathan Walpole

Computer Science Faculty Publications and Presentations

In this paper we propose changing the decades-old practice of allocating CPU to threads based on priority to a scheme based on proportion and period. Our scheme allocates to each thread a percentage of CPU cycles over a period of time, and uses a feedback-based adaptive scheduler to assign automatically both proportion and period. Applications with known requirements, such as isochronous software devices, can bypass the adaptive scheduler by specifying their desired proportion and/or period. As a result, our scheme provides reservations to applications that need them, and the benefits of proportion and period to those that do not. Adaptive …