Computer, the flagship publication of the IEEE Computer Society, publishes peer-reviewed technical content that covers all aspects of computer science, computer engineering, technology, and applications. The articles selected for publication are edited to enhance readability for the general Computer reader. Computer is a resource that practitioners, researchers, and managers can rely on to provide timely information about current research developments, trends, best practices, and changes in the profession.

IEEE Computer Society

  • PrePrint: Concurrent Average Memory Access Time
    Concurrency is a common technique used in modern memory systems. However, the effectiveness of memory concurrency is application dependent. It varies largely from application to application and from implementation to implementation. Understanding and utilizing memory concurrency is a vital and timely task for data intensive applications. Traditional memory performance metrics, such as Average Memory Access Time (AMAT), are designed for sequential data accesses, and have inherent limitations in characterizing concurrency. In this study, we propose Concurrent Average Memory Access Time (C-AMAT) as an accurate metric for modern memory systems. C-AMAT has the ability to examine concurrent memory behavior and provides a quantitative performance measurement at both the component and system level of modern memory systems. First, the concept and formulation of C-AMAT is introduced. Then, several processor architecture and cache design choices, such as multiple issue pipeline, non-blocking cache, CMP, etc., are studied to validate the feasibility and validity of the C-AMAT metric. Finally, experimental results show some of the rules of thumb used in today’s industry are confirmed by C-AMAT as optimal design choices. C-AMAT is a good guide for design choices, while other conventional memory metrics often mislead in measurement when concurrency is present.

  • PrePrint: How Different Are Malware Collected Actively and Passively?
    A new open-source tool chain with malware collection, detection, and analysis is presented, evaluated, and open sourced. It actively collects malware through two channels: web-links and peer-to-peer. Then it detects malware with multiple anti-virus scanners and analyzes their host and network activities on virtual machines. The evaluation shows the differences between the malware collected by the traditional passive honeypot approach and this active approach, in the aspects of distribution, timeliness, and degree of network and host activity, i.e., activeness. These two collections are quite distinct and disjoint. Among the 800 and 354 malware programs collected in one month actively and passively, respectively, 79% of the passively captured malware are active bots and 59% of the actively captured malware are passive Trojan horses. 16% of actively captured are zero-day malware, but no zero-day malware had been captured by the passive approach. Moreover, the passive approach receives mostly, 98%, malware with network behavior while the active approach collects both, i.e., 77% with network behavior and 23% with only host behavior or no action.

  • PrePrint: Software Considered Harmful: IO Systems for the Future of Storage
    Emerging non-volatile storage technologies promise orders of magnitude bandwidth increases and latency reductions. These performance changes upset the relatively stable landscape of disk-based storage that has existed for the last forty years. Over that time, elegant and composable, but thick software layers have emerged to simplify and optimize accessing slow disk-based devices. As new technologies drive storage hardware latencies down, the relative cost of these thick software layers will become increasingly harmful to the performance of accessing fast non-volatile storage. This paper describes a series of prototype storage systems based on these memories, and describes three principles we employed to minimize software overheads while preserving compatibility with large portions of existing storage infrastructure (e.g., file systems). These principles are: Refactoring storage software and hardware to eliminate software bottlenecks, reducing and eliminating harmful software overheads where possible, and recycling existing components to maintain compatibility and reduce engineering costs. We have found that aggressively applying these optimizations leads to fast, flexible, and efficient NVM-based storage systems.

  • PrePrint: Web Information at Your Fingertips with a Paper Metaphor
    There are two dominant web activities: browsing and searching. In the Hypertext-defined web universe, web publishers compose pages and hyperlinks, and users follow the Hypertext structure to consume information. Pointing and clicking served as a major interaction metaphor. On the other hand, users can only stay within the walled garden of whatever is defined by the publisher. If users want to visit a different website, they have to either remember the address or use a search engine such as Google or Bing to find related websites. With the adoption of touch-enabled tablet and mobile devices, we experimented new web interaction metaphors. The O system was implemented on iPad with an analogous paper-like metaphor as if iPad were a piece of paper with the finger acting as a highlight pen. Users can get enhanced web search results while browsing any web content with a paper-and-pen like fully integrated searching and browsing experience as demonstrated in the video snippet.

  • PrePrint: Learning Computing through Creating and Connecting
    All young people should have opportunities to learn about computing. Together, creating interactive media (by programming) and connecting with others (as audience, collaborators, or advisors) form the basis of a powerful and meaningful approach to computing education. Teachers have an important role in making this type of learning opportunity accessible to a wide range of kids, but teachers need support to implement creative and social learning activities in formal learning environments. The Scratch and ScratchEd initiatives serve as central examples for supporting this approach to computing education in K-12 classrooms.