A Brief Survey of Current Work on Network Attached Peripherals
---
paper_title: Modular scalable I/O

paper_content:

Abstract We describe design issues for scalable I/O systems. I/O system modularity is the central issue. We identify the new information and algorithms responsible for high performance in scalable I/O. We show how to assign them to the parts of a scalable computer system so the result is modular. We have built a modular I/O system which is commercially available. We describe its design and performance benchmarks using it.
---
paper_title: The desk area network

paper_content:

A novel architecture for use within an end computing system is described. This attempts to extend the concepts used in modern high speed networks into computer system design. A multimedia workstation is being built based on this concept to evaluate the approach.
---
paper_title: Swift: Using Distributed Disk Striping to Provide High I/O Data Rates

paper_content:

We present an I/O architecture, called Swift, that addresses the problem of data rate mismatches between the requirements of an application, storage devices, and the interconnection medium. The goal of Swift is to support high data rates in general purpose distributed systems. Swift uses a high-speed interconnection medium to provide high data rate transfers by using multiple slower storage devices in parallel. It scales well when using multiple storage devices and interconnections, and can use any appropriate storage technology, including high-performance devices such as disk arrays. To address the problem of partial failures, Swift stores data redundantly. Using the UNIX operating system, we have constructed a simplified prototype of the Swift architecture. The prototype provides data rates that are significantly faster than access to the local SCSI disk, limited by the capacity of a single Ethernet segment, or in the case of multiple Ethernet segments by the ability of the client to drive them. We have constructed a simulation model to demonstrate how the Swift architecture can exploit advances in processor, communication and storage technology. We consider the effects of processor speed, interconnection capacity, and multiple storage agents on the utilization of the components and the data rate of the system. We show that the data rates scale well in the number of storage devices, and that by replacing the most highly stressed components by more powerful ones the data rates of the entire system increase significantly.
---
paper_title: A protocol processing architecture for networked multimedia computers

paper_content:

Multimedia workstation architectures differ from current architectures in these respects --- they have multiple specialized processing units, a high speed I/O interconnect mechanism, a high speed broadband network interface and a real-time multitasking operating system (OS) that provides QoS guarantees. These systems will primarily be used to run distributed applications that require high network throughput and predictable delay and delay jitter for real-time traffic. We argue the need for a different protocol organization and processing architecture in order to achieve this. We show how the emerging hardware architecture and OS structures favor a "decentralized protocol processing" approach, that takes advantage of the data delivery mechanism provided by the hardware to improve in-band (protocol data) processing, and the sophisticated OS mechanisms based on communicating objects to improve the out-of band (control) processing. We discuss the need for providing end-to-end QoS guarantees for applications and discuss how it can be naturally incorporated in the proposed architecture.
---
paper_title: Container shipping: operating system support for I/O-intensive applications

paper_content:

New I/O devices with data rates ranging from 10 to 100 Mbytes per second are becoming available for personal computers and workstations. Along with continual improvements in processor, memory, and bus technology, these devices have enabled I/O-intensive applications for desktop computing that require input, processing, and output of very large amounts of data. We focus on an important aspect of operating system support for these applications: efficient transfer of large data objects between the protection domains in which processes and devices reside. A rapidly growing class of I/O-intensive applications is multimedia computing. After we present an I/O-pipeline model, we analyze issues relevant to the design of an operating system inter-domain data-transfer facility. Then we present the design for such a facility. An I/O pipeline is a model of a dynamic computation structure consisting of a sequence of domains: an input domain followed by one or more intermediate domains, and an output domain. >
---
paper_title: Scheduling parallel I/O operations in multiple bus systems

paper_content:

Abstract The I/O subsystem was one of the first areas of computer system design to incorporate parallelism. However, enhancement of the parallelism of I/O systems has received little attention in parallel system design. There has been almost no study of the benefit of scheduling parallel I/O operations to increase the multiprocessor system performance. An I/O transfer typically requires a processor or memory, a channel, and an external memory device simultaneously. Parallel I/O thus requires scheduling multiple resources simultaneously, rather than a single resource serially. This paper presents an algorithm for optimal scheduling of batched parallel I/O requests for a common class of shared memory multiprocessors. The algorithm is essentially an optimal k-coloring of a bipartite graph with arbitrary edge weights, where the vertices represent processors and memories and the edges represent I/O transfers. The best previously known k-coloring algorithm has running time O(n5). We show a series of improvements to obtain an algorithm with a running time O(n3(log n + log K)), where n is the number of vertices and K is the maximum edge weight, i.e., the length of the longest I/O transfer. We conclude with an experimental study of the performance of the algorithms.
---
paper_title: Modular scalable I/O

paper_content:

Abstract We describe design issues for scalable I/O systems. I/O system modularity is the central issue. We identify the new information and algorithms responsible for high performance in scalable I/O. We show how to assign them to the parts of a scalable computer system so the result is modular. We have built a modular I/O system which is commercially available. We describe its design and performance benchmarks using it.
---
paper_title: High-performance data transfers using network-attached peripherals at the National Storage Laboratory

paper_content:

One of the main goals of the National Storage Laboratory (NSL) is to advance the state-of-the-art of network-attached, high-performance storage architectures and to relate this experience back to the IEEE Storage System Standards Working Group (SSSWP). The work to date has concentrated on high-speed data transfers directly between storage devices and client processors (supercomputers, high-performance workstations, and frame buffers) using IPI-3 over HIPPI (High-Performance Parallel Interface). Data have successfully been transferred between an IBM 9570 HIPPI Disk Array and client processors using IPI-3 third-party copy protocols. The authors present work at the NSL in three areas: using IPI-3 over HIPPI and IPI-3 third-party copy to transfer data between client processors and storage devices or other processors; (2) using IPI-3 third-party copy to transfer data directly between two storage devices; and (3) relating the work at the NSL to the work of the IEEE SSSWP, Mover Subcommittee. >
---

Title: A Brief Survey of Current Work on Network Attached Peripherals

Section 1: Introduction
Description 1: Describe the transition of network-attached peripherals from research to production, the focus on storage and multimedia peripherals, and the scope of the survey.

Section 2: Characteristics of Network Attached Peripherals
Description 2: Define network-attached peripherals (NAPs) and enumerate the characteristics distinguishing them from traditional bus-attached peripherals.

Section 3: NAP Device Interfaces
Description 3: Discuss the various areas of device interfaces for NAPs, including physical interconnects, upper-level command protocols, networking layers, third-party transfers, and security concerns.

Section 4: Physical Interconnects
Description 4: Examine the physical interconnects currently in development or use and their suitability as network-attached peripheral interconnects.

Section 5: Upper Level Command Protocols
Description 5: Discuss the importance of maintaining compatibility with existing device protocols and the challenges of SCSI and IPI-3 in the context of NAPs.

Section 6: Security
Description 6: Address the security issues specific to NAPs, including authentication, data integrity, and privacy concerns.

Section 7: Protection Semantics
Description 7: Explore the protection semantics required for network-attached peripherals to ensure secure data access and execution.

Section 8: LLNL NAP
Description 8: Provide a case study of Lawrence Livermore National Labs' implementation of a network-attached storage device, highlighting their security measures.

Section 9: Fibre Channel
Description 9: Detail Fibre Channel's approach to security and its applicability to NAPs, including loop topology and fabric security concerns.

Section 10: Third-Party Transfers
Description 10: Explain third-party transfers, their importance, and the challenges faced in implementing this functionality for NAPs.

Section 11: Continuous Media Services
Description 11: Discuss the requirements and research for providing real-time data delivery for multimedia applications using NAPs.

Section 12: Network Parallelism
Description 12: Discuss how switched networks support concurrent transfers and their implications for NAPs.

Section 13: NAP Multimedia Research
Description 13: Summarize ongoing multimedia research projects involving NAPs and their applications in fields such as hierarchical storage management.

Section 14: Operating Systems
Description 14: Examine the operating systems support required for NAPs, including distributed system resource management, synchronization policies, and I/O performance optimizations.