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

Systems Architecture Commons

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

Articles 1 - 20 of 20

Full-Text Articles in Systems Architecture

Developing A Miniature Smart Boat For Marine Research, Michael Isaac Eirinberg Jun 2022

Developing A Miniature Smart Boat For Marine Research, Michael Isaac Eirinberg

Computer Engineering

This project examines the development of a smart boat which could serve as a possible marine research apparatus. The smart boat consists of a miniature vessel containing a low-cost microcontroller to live stream a camera feed, GPS telemetry, and compass data through its own WiFi access point. The smart boat also has the potential for autonomous navigation. My project captivated the interest of several members of California Polytechnic State University, San Luis Obispo’s (Cal Poly SLO) Marine Science Department faculty, who proposed a variety of fascinating and valuable smart boat applications.


Out-Of-Core Gpu Path Tracing On Large Instanced Scenes Via Geometry Streaming, Jeremy Berchtold Jun 2022

Out-Of-Core Gpu Path Tracing On Large Instanced Scenes Via Geometry Streaming, Jeremy Berchtold

Master's Theses

We present a technique for out-of-core GPU path tracing of arbitrarily large scenes that is compatible with hardware-accelerated ray-tracing. Our technique improves upon previous works by subdividing the scene spatially into streamable chunks that are loaded using a priority system that maximizes ray throughput and minimizes GPU memory usage. This allows for arbitrarily large scaling of scene complexity. Our system required under 19 minutes to render a solid color version of Disney's Moana Island scene (39.3 million instances, 261.1 million unique quads, and 82.4 billion instanced quads at a resolution of 1024x429 and 1024spp on an RTX 5000 (24GB memory …


Millipyde: A Cross-Platform Python Framework For Transparent Gpu Acceleration, James B. Asbury Dec 2021

Millipyde: A Cross-Platform Python Framework For Transparent Gpu Acceleration, James B. Asbury

Master's Theses

The prevalence of general-purpose GPU computing continues to grow and tackle a wider variety of problems that benefit from GPU-acceleration. This acceleration often suffers from a high barrier to entry, however, due to the complexity of software tools that closely map to the underlying GPU hardware, the fast-changing landscape of GPU environments, and the fragmentation of tools and languages that only support specific platforms. Because of this, new solutions will continue to be needed to make GPGPU acceleration more accessible to the developers that can benefit from it. AMD’s new cross-platform development ecosystem ROCm provides promise for developing applications and …


The Performance Cost Of Security, Lucy R. Bowen Jun 2019

The Performance Cost Of Security, Lucy R. Bowen

Master's Theses

Historically, performance has been the most important feature when optimizing computer hardware. Modern processors are so highly optimized that every cycle of computation time matters. However, this practice of optimizing for performance at all costs has been called into question by new microarchitectural attacks, e.g. Meltdown and Spectre. Microarchitectural attacks exploit the effects of microarchitectural components or optimizations in order to leak data to an attacker. These attacks have caused processor manufacturers to introduce performance impacting mitigations in both software and silicon.

To investigate the performance impact of the various mitigations, a test suite of forty-seven different tests was created. …


Extension Of Cpe 454 Operating System, Joseph Nathaniel Arhar Jun 2018

Extension Of Cpe 454 Operating System, Joseph Nathaniel Arhar

Computer Science and Software Engineering

This project extended on the operating system I wrote in CPE 454 by adding additional features on top of the existing implementation. In order to implement them, I researched operating system design patterns and hardware details. I used wiki.osdev.org for most research, just like I did in CPE 454. The source code for the project is at https://github.com/josepharhar/jos.


Compiler Optimization Effects On Register Collisions, Jonathan S. Tan Jun 2018

Compiler Optimization Effects On Register Collisions, Jonathan S. Tan

Master's Theses

We often want a compiler to generate executable code that runs as fast as possible. One consideration toward this goal is to keep values in fast registers to limit the number of slower memory accesses that occur. When there are not enough physical registers available for use, values are ``spilled'' to the runtime stack. The need for spills is discovered during register allocation wherein values in use are mapped to physical registers. One factor in the efficacy of register allocation is the number of values in use at one time (register collisions). Register collision is affected by compiler optimizations that …


Android Drone: Remote Quadcopter Control With A Phone, Aubrey John Russell Dec 2016

Android Drone: Remote Quadcopter Control With A Phone, Aubrey John Russell

Computer Engineering

The purpose of the “Android Drone” project was to create a quadcopter that can be controlled by user input sent over the phone’s Wi-Fi connection or 4G internet connection. Furthermore, the purpose was also to be able to receive live video feedback over the internet connection, thus making the drone an inexpensive option compared to other, equivalent drones that might cost thousands of dollars. Not only that, but the Android phone also has a host of other useful features that could be utilized by the drone: this includes GPS, pathing, picture taking, data storage, networking and TCP/IP, a Java software …


Prosense, Johnny Favazza Ii, Casey Glasgow, Matt Epperson Jun 2016

Prosense, Johnny Favazza Ii, Casey Glasgow, Matt Epperson

Computer Engineering

This project aims to gather advanced data sets from MEMS sensors and GPS and deliver it to the user, who can capitalize on the data. The once negligible half-degree difference of your board barreling down a wave can be recorded from a gyro and exploited for the perfect turn. The exact speed dreaded by longboarders where speed wobbles turn into a road rash can be analysed and consequently avoided. Ascertaining the summit of your flight using combined GPS sensors from the ski ramp allows for the correct timing of tricks. When it comes to pursuing excellence in professional sports, amateur …


Pthreads Profiler, Ryan Van Quinlan Dec 2015

Pthreads Profiler, Ryan Van Quinlan

Computer Science and Software Engineering

The goal of this senior project was to design and implement a program which would allow users to profile programs that utilize the Pthreads library. This profiler allows users to measure load balance and lock contention between threads as well as discover deadlocks. These tools can be essential to developers of multi-threaded applications, which are notoriously difficult to debug. Additionally, this tool can help find vital performance benefits by providing relative execution measurements. The profiler is written in C++ and utilizes the standard template library as well as glibc extensions.


Design Of Cpu Simulation Software For Armv7 Instruction Set Architecture, Dillon Tellier Jun 2014

Design Of Cpu Simulation Software For Armv7 Instruction Set Architecture, Dillon Tellier

Computer Engineering

Simulations have long been a part of the engineering process in both the professional and academic domain. From a pedagogic standpoint, simulations allow students to explore the dynamics of engineering scenarios by controlling variables, taking measurements, and observing behavior which would be difficult or impossible without simulation. One such tool is a CPU simulator used in Cal Poly’s Computer Architecture classes; this software simulates an instruction accurate operation of a computer processor and reports statistics regarding the execution of the supplied compiled machine code. For the last several years Cal Poly’s computer architecture classes have used a previous version of …


Coffee: Context Observer For Fast Enthralling Entertainment, Anthony M. Lenz Jun 2014

Coffee: Context Observer For Fast Enthralling Entertainment, Anthony M. Lenz

Master's Theses

Desktops, laptops, smartphones, tablets, and the Kinect, oh my! With so many devices available to the average consumer, the limitations and pitfalls of each interface are becoming more apparent. Swimming in devices, users often have to stop and think about how to interact with each device to accomplish the current tasks at hand. The goal of this thesis is to minimize user cognitive effort in handling multiple devices by creating a context aware hybrid interface. The context aware system will be explored through the hybridization of gesture and touch interfaces using a multi-touch coffee table and the next-generation Microsoft Kinect. …


In Perfect Xen, A Performance Study Of The Emerging Xen Scheduler, Ryan Hnarakis Dec 2013

In Perfect Xen, A Performance Study Of The Emerging Xen Scheduler, Ryan Hnarakis

Master's Theses

Fifty percent of Fortune 500 companies trust Xen, an open-source bare-metal hypervisor, to virtualize their websites and mission critical services in the cloud. Providing superior fault tolerance, scalability, and migration, virtualization allows these companies to run several isolated operating systems simultaneously on the same physical server. These isolated operating systems, called virtual machines, require a virtual traffic guard to cooperate with one another. This guard known as the Credit2 scheduler along with the newest Xen hypervisor was recently developed to supersede the older schedulers. Since wasted CPU cycles can be costly, the Credit2 prototype must undergo significant performance validation before …


Project Writeup On Amethyst: A 3d Adventure Game For Tablets, Adam Hintz Apr 2013

Project Writeup On Amethyst: A 3d Adventure Game For Tablets, Adam Hintz

Computer Science and Software Engineering

Amethyst is a point-and-click science fiction adventure game for tablets, developed over two quarters to demonstrate applied principles of computer graphics and software engineering discipline. Using a novel interaction system, players can engage in environmental puzzles. Development of Amethyst required non-trivial quality assurance measures and workflow enhancements. The end result is a functional technical demo showcasing a single level, with the ability to rapidly produce more content.


Senior Project Report - Doctest, Stephen Weessies Mar 2013

Senior Project Report - Doctest, Stephen Weessies

Computer Engineering

DocTest is a program that, simply put, allows a programmer or user to document STANAG 4586 (a standard for unmanned aerial vehicle interoperability) messages and test the vehicle system at Lockheed Martin [5]. The program is extensible to allow for further development aiding our software team to do what they do best and not get bogged down in tedious but necessary documentation. DocTest is also used to aid in testing, keeping track of the issues and bugs found and creating a document that captures each issue so an issue is not missed or forgotten. This program was made for use …


Beaglebone Webcam Server, Alexander Corcoran Jun 2012

Beaglebone Webcam Server, Alexander Corcoran

Computer Engineering

The Beaglebone Webcam Server is a Linux based IP webcam, based on an inexpensive ARM development board, which hosts its own web server to display the webcam feed. The server has the ability to either connect to a wired router, or to act as a wireless access point in order for users to connect and control its functions via any Wi-Fi enabled device.


Flexrender: A Distributed Rendering Architecture For Ray Tracing Huge Scenes On Commodity Hardware., Robert Edward Somers Jun 2012

Flexrender: A Distributed Rendering Architecture For Ray Tracing Huge Scenes On Commodity Hardware., Robert Edward Somers

Master's Theses

As the quest for more realistic computer graphics marches steadily on, the demand for rich and detailed imagery is greater than ever. However, the current "sweet spot" in terms of price, power consumption, and performance is in commodity hardware. If we desire to render scenes with tens or hundreds of millions of polygons as cheaply as possible, we need a way of doing so that maximizes the use of the commodity hardware we already have at our disposal.

Techniques such as normal mapping and level of detail have attempted to address the problem by reducing the amount of geometry in …


Cuda Web Api Remote Execution Of Cuda Kernels Using Web Services, Massimo J. Becker Jun 2012

Cuda Web Api Remote Execution Of Cuda Kernels Using Web Services, Massimo J. Becker

Master's Theses

Massively parallel programming is an increasingly growing field with the recent introduction of general purpose GPU computing. Modern graphics processors from NVIDIA and AMD have massively parallel architectures that can be used for such applications as 3D rendering, financial analysis, physics simulations, and biomedical analysis. These massively parallel systems are exposed to programmers through in- terfaces such as NVIDIAs CUDA, OpenCL, and Microsofts C++ AMP. These frame- works expose functionality using primarily either C or C++. In order to use these massively parallel frameworks, programs being implemented must be run on machines equipped with massively parallel hardware. These requirements limit …


Zen Cart Shopper, Michael Mcmahon Mar 2012

Zen Cart Shopper, Michael Mcmahon

Computer Science and Software Engineering

Zen Cart is a popular e-commerce tool for building a shopping cart web site. A typical Zen Cart store is not well suited for the small touch screens commonly found on today’s smart phones. Zen Cart Shopper is a solution for Android systems which employs web scraping techniques to display a store’s content in a smart phone friendly interface. This report describes the design and implementation of the Zen Cart Shopper app for Android.


St. Jude Medical: An Object-Oriented Software Architecture For Embedded And Real-Time Medical Devices, Atila Amiri Aug 2010

St. Jude Medical: An Object-Oriented Software Architecture For Embedded And Real-Time Medical Devices, Atila Amiri

Master's Theses

Medical devices used for surgical or therapeutic purposes require a high degree of safety and effectiveness. Software is critical component of many such medical devices. The software architecture of a system defines organizational structure and the runtime characteristic of the application used to control the operation of the system and provides a set of frameworks that are used to develop that. As such, the design of software architecture is a critical element in achieving the intended functionality, performance, and safety requirements of a medical device. This architecture uses object-oriented design techniques, which model the underlying system as a set of …


Reducing Cluster Power Consumption By Dynamically Suspending Idle Nodes, Brian Michael Oppenheim Jun 2010

Reducing Cluster Power Consumption By Dynamically Suspending Idle Nodes, Brian Michael Oppenheim

Master's Theses

Close to 1% of the world's electricity is consumed by computer servers. Given that the increased use of electricity raises costs and damages the environment, optimizing the world's computing infrastructure for power consumption is worthwhile. This thesis is one attempt at such an optimization. In particular, I began by building a cluster of 6 Intel Atom based low-power nodes to perform work analogous to data center clusters. Then, I installed a version of Hadoop modified with a novel power management system on the cluster. The power management system uses different algorithms to determine when to turn off idle nodes in …