Browsing by Subject "Linux"
Now showing 1 - 6 of 6
Results Per Page
Sort Options
Item Data-mining the Ubuntu Linux Distribution for bug analysis and resolution(2012-08) Arges, Christopher John; Stewart, Kate; Ghosh, JoydeepThe Ubuntu Linux Distribution represents a massive investment of time and human effort to produce a reliable computing experience for users. To accomplish these goals, software bugs must be tracked and fixed. However, as the number of users increase and bug reports grow advanced tools such as data mining must be used to increase the effectiveness of all contributors to the project. Thus, this report involved collecting a large amount of bug reports into a database and calculating relevant statistics. Because of the diversity and quantity of bug reports, contributors must find which bugs are most relevant and important to work on. One study in this report created an automatic way to determine who is best fit to solve a particular bug by using classification techniques. In addition, this report explores how to initially classify if a bug report will be eventually marked invalid or not.Item Design and Control of a Compact 6-Degree-of-Freedom Precision Positioner with Linux- Based Real-Time Control(2010-01-14) Yu, HoThis dissertation presents the design, control, and implementation of a compact highprecision multidimensional positioner. This precision-positioning system consists of a novel concentrated-field magnet matrix and a triangular single-moving part that carries three 3-phase permanent-magnet planar-levitation-motor armatures. Since only a single levitated moving part, namely the platen, generates all required fine and coarse motions, this positioning system is reliable and potentially cost-effective. The three planar levitation motors based on the Lorentz-force law not only produce the vertical force to levitate the triangular platen but also control the platen's position and orientation in the horizontal plane. Three laser distance sensors are used to measure vertical, x-, and yrotation motions. Three 2-axis Hall-effect sensors are used to determine lateral motions and rotation motion about the z-axis by measuring the magnetic flux density generated by the magnet matrix. This positioning system has a total mass of 1.52 kg, which is the minimized mass to produce better dynamic performance. In order to reduce the mass of the moving platen, it is made of Delrin with a mass density of 1.54 g/cm3 by Computer Numerical Controlled (CNC) machining. The platen can be regarded a pure mass, and the spring and damping effects are neglected except for the vertical dynamic. Single-input single-output (SISO) digital lead-lag controllers and a multivariable Linear Quadratic Gaussian (LQG) controller were designed and implemented. Real-time control was performed with the Linux-Ubuntu operating system OS. Real Time Application Interface (RTAI) for Linux works with Comedi and Comedi libraries and enables closed-loop real-time control. One of the key advantages of this positioning stage with Hall-effect sensors is the extended travel range and rotation angle in the horizontal mode. The maximum travel ranges of 220 mm in x and 200 mm in y were achieved experimentally. Since the magnet matrix generates periodical sinusoidal flux densities in the x-y plane, the travel range can be extended by increasing the number of magnet pitches. The rotation angle of 12 degrees was achieved in rotation around z. The angular velocities of 0.2094 rad/s and 4.74 rad/s were produced by a 200-mm-diameter circular motion and a 30-mm-diameter spiral motion, respectively. The maximum velocity of 16.25 mm/s was acquired from over one pitch motion. The maximum velocity of 17.5 mm/s in a 8-mm scanning motion was achieved with the acceleration of 72.4 m/s2. Step responses demonstrated a 10-um resolution and 6-um rms position noise in the translational mode. For the vertical mode, step responses of 5 um in z, 0.001 degrees in roation around x, and 0.001 degrees in rotation around y were achieved. This compact single-moving-part positioner has potential applications for precisionpositioning systems in semiconductor- manufacturing.Item Enhancements to SQLite Library to Improve Performance on Mobile Platforms(2013-07-29) Sambasivan Ramachandran, ShyamThis thesis aims to present solutions to improve the performance of SQLite library on mobile systems. In particular, two approaches are presented to add lightweight locking mechanisms to the SQLite library and improve concurrency of the SQLite library on Android operating system. The impact on performance is discussed after each section. Many applications on the Android operating system rely on the SQLite library to store ordered data. However, due to heavy synchronization primitives used by the library, it becomes a performance bottleneck for applications which push large amount of data into the database. Related work in this area also points to SQLite database as one of the factors for limiting performance. With increasing network speeds, the storage system can become a performance bottleneck, as applications download larger amounts of data. The following work in this thesis addresses these issues by providing approaches to increase concurrency and add light-weight locking mechanisms. The factors determining the performance of Application Programming Interfaces provided by SQLite are first gathered from IO traces of common database operations. By analyzing these traces, opportunities for improvements are noticed. An alternative locking mechanism is added to the database file using byte-range locks for fine-grained locking. Its impact on performance is measured using SQLite benchmarks as well as real applications. A multi-threaded benchmark is designed to measure the performance of fine grained locking in multi-threaded applications using common database operations. Recent versions of SQLite use write ahead logs for journaling. We see that writes to this sequential log can occur concurrently, especially in flash drives. By adding a sequencing mechanism for the write ahead log, the writes can proceed simultaneously. The performance of this method is also analyzed using the synthetic benchmarks and multi-threaded benchmarks. By using these mechanisms, the library is observed to gain significant performance for concurrent writes.Item An examination of Linux and Windows CE embedded operating systems(2010-08) Trivedi, Anish Chandrakant; Julien, Christine; Kline, PaulThe software that operates mobile and embedded devices, the embedded operating system, has evolved to adapt from the traditional desktop environment, where processing horsepower and energy supply are abundant, to the challenging resource-starved embedded environment. The embedded environment presents the software with some difficult constraints when compared to the typical desktop environment: slower hardware, smaller memory size, and a limited battery life. Different embedded OSs tackle these constraints in different ways. We survey two of the more popular embedded OSs: Linux and Windows CE. To reveal their strengths and weaknesses, we examine and compare each of the OS’s process management and scheduler, interrupt handling, memory management, synchronization mechanisms and interprocess communication, and power management.Item Implementation of an open source JTAG debugging development chain for the BeagleBoard ARM® Cortex A-8(2012-05) Grant, Warren Clay; Abraham, Jacob A.; McDermott, MarkThe BeagleBoard-xM, manufactured by Texas Instruments, is a small, low cost, open source development platform for the ARM® Cortex-A8 processor. This paper implements a hardware and software combination to connect to the ARM® processor via a JTAG connection for debugging. A FlySwatter interface board is utilized to connect the JTAG port to a host computer and a combination of software tools are implemented to demonstrate the capability for debugging the Linux kernel. The necessary files for booting the Linux 3.0 kernel were compiled and loaded on the BeagleBoard-xM and the host computer. Installation and selection of the components that make up the software tool chain are described. All the hardware and software used for this project are open source designs.Item Transactional memory concurrency : new models and systems(2009-08) Ramadan, Hany E.; Witchel, EmmettTransactional memory (TM) aims to bring the benefits of ACID transactions to the volatile world of program synchronization. Architectural trends are making software transactions more appealing, as more programmers struggle with the problems of locks as they exploit multi-core processors. This thesis applies TM, which until recently has been restricted to small benchmarks, to a large, real-life system: the Linux operating system kernel. I describe TxLinux, a version of Linux, which is the first OS to use transactional memory for synchronization. TxLinux runs on MetaTM, a simulator co-designed with TxLinux, which models an x86-based Hardware Transactional Memory (HTM) system. The TxLinux/MetaTM effort yields a characterization of real-life OS transactions, exposes previously unconsidered complications (including interaction with interrupts and stack memory) and allows sensitivity studies of various TM microarchitectural parameters. It also provides a flexible platform for future OS, TM and architecture research. Next, I examine ways to increase concurrency by investigating the factors that inhibit concurrency in existing TM models and systems. These include avoidable implementation limitations, overly restrictive serialization models, and inexpressive APIs. After examining the nature of each limitation, I propose a solution for each one. I postulate that the conventional wisdom that every transaction is "for itself" and primarily relates to other transactions by conflicting with them, is a pervasive misperception. This thesis aims to demonstrate that there are other ways of thinking about the relation of one transaction to another. I present three different transaction models to show how (i) co-existence, (ii) cooperation, and (iii) coordination, can each solve important problems facing TM programmers today. Co-existence of multiple transactions on the same processor is enabled using the suspended transactions model. This model, used by TxLinux, can reduce aborts and removes transaction length limitations imposed by interrupts. Cooperation of transactions that access the same data, using the dependence-aware transactions model, can transparently turn transaction aborts into commits. Drawing on serializability theory and notions of spheres of control (which predate ACID transactions), this model is able to accept more execution schedules than any existing TM design. Lastly, the coordination of multiple transactions in the coordinated sibling transactions model, provides programmers a simple and unified way of expressing intratransaction parallelism. This helps move transactions beyond being a drop-in replacement for locks (SLE-style) to instead helping programmers find more parallel work within their programs (both in speculative and non-speculative forms). All three models aim at increasing concurrency, while shifting complexity away from the programmer and into the TM system. I evaluate all three models, using either the MetaTM HTM, or one of the several software (STM) systems this thesis also develops.