Here are a few of the reports I’ve written covering different aspects of computer engineering.

Disk Drive Failure Factors

Abstract – Modern disk drives have become highly complex with increasing demands on high throughput, high reliability, high capacity, and low cost – most of which are typically mutually exclusive. This paper takes a look at the reliability aspect of disk drives, and, more specifically, factors that cause a drive to fail. Failures fall into three main categories: hardware, software, and process. Many of the frequent factors are given, focusing on data thrashing, disk age, and hot spots.

Multi-core Processors and Caching: A Survey

Abstract – Multi-core processors are the industries’ current venture into new architectures. This paper explores what brought about this change from a single processor architecture to having multiple processors on a single die and some of the hurdles involved, and the technologies behind it. This is different from past architectures that used multiple, physically separate processors, using multiple sockets. Having each processor, or core, on a single die allows much greater communication speeds between the processors, among other benefits. The biggest pushes for multi-core processors have been the need for multi-threading and multitasking, security and virtualization [1], and physical restraints such as heat generation and die size.
These benefits do not come free. Processor cache, the memory between the main memory and the CPU registers, is the performance bottleneck in most current architectures, and as such, can have vast improvements to the overall system. These caching methods are complex – multi-core processor caches are even more so. This paper will explore some of the research performed on different caching schemes.

System Availability Benchmarking

Abstract—This survey report highlights the main topics associated with availability benchmarking of computing and data storage systems. Compared to performance benchmarking, availability is still in its infancy. A widely adopted benchmarking framework has yet to be designed. This is partly due to the complexity of such a task and the problems associated with it. Numerous factors have to be taken into account, and there is a debate as to how to include these factors in the benchmark. This paper will give the reader a basic understanding of the concepts associated with availability, some of the current availability representations, and briefly discuss some current research being done in this area.

A Survey of Microprocessor Architectures

Abstract – In this paper, an introductory description of modern microprocessors is given. The goal is to cover the many different aspects of computer architecture without getting weighted down with details. Many of the current trends in design are discussed, along with the differences between several Intel, AMD, and Sun microprocessors. A brief introduction of many broad ideas in architecture accompany to bring the readers to the same understanding, as well as defining certain concepts. The broad ideas are then taken into deeper detail, explaining certain processor implementations.

Security Implications of Data Dissemination Methods in Wireless Sensor Networks

Abstract – The latest movement in sensory data collection uses wireless communications. Usage of wireless communications lends itself to lower costs in installations (e.g. labor, copper/fiber media) and allows the sensor locations to be more easily relocated. However, using an open medium in wireless data relay raises security issues. Since each sensor node is typically resource limited, the transmission range is also limited and, thus, data must hop from one node to the other. This paper looks at the problems with the dissemination of data between sensor nodes from the security aspects such as confidentiality, integrity, and availability. From the three types of dissemination methods, external, local, and data-centric, each are compared to each other using a set of security threats. Implications derived from this study paint a varying view as to which method is the most secure. While many factors are at play, external storage rises to the top due to its inherent characteristics, such as fundamentally not storing its data within the network.


Abstract—InfiniBand is a high-speed I/O interconnect technology devised by many leading industry companies. The goal is to ultimately replace onboard local interconnects with an interface that connects internal and, primarily, external devices for shared I/O at rates above 60 Gbps. Detailed here is the framework for the InfiniBand design, following the TCP/IP communications stack scheme.