James C. Wyllie
IBM
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by James C. Wyllie.
IEEE Computer | 1994
A. L. Narasimha Reddy; James C. Wyllie
In future computer system design, I/O systems will have to support continuous media such as video and audio, whose system demands are different from those of data such as text. Multimedia computing requires us to focus on designing I/O systems that can handle real-time demands. Video- and audio-stream playback and teleconferencing are real-time applications with different I/O demands. We primarily consider playback applications which require guaranteed real-time I/O throughput. In a multimedia server, different service phases of a real-time request are disk, small computer systems interface (SCSI) bus, and processor scheduling. Additional service might be needed if the request must be satisfied across a local area network. We restrict ourselves to the support provided at the server, with special emphasis on two service phases: disk scheduling and SCSI bus contention. When requests have to be satisfied within deadlines, traditional real-time systems use scheduling algorithms such as earliest deadline first (EDF) and least slack time first. However, EDF makes the assumption that disks are preemptable, and the seek-time overheads of its strict real-time scheduling result in poor disk utilization. We can provide the constant data rate necessary for real-time requests in various ways that require trade-offs. We analyze how trade-offs that involve buffer space affect the performance of scheduling policies. We also show that deferred deadlines, which increase buffer requirements, improve system performance significantly.<<ETX>>
IEEE Transactions on Software Engineering | 1993
Luis-Felipe Cabrera; John A. McPherson; Peter M. Schwarz; James C. Wyllie
This paper presents our experience with implementing atomicity in two systems: the QuickSilver distributed file system and the Starburst relational database manager. Each of these systems guarantees that certain collections of operations done on behalf of their clients execute atomically, despite process, machine, or network failures. In this paper we describe the atomic properties implemented by each system, present the algorithms and mechanisms used, examine the similarities and differences between the two systems, and give the rationale for different design decisions. We demonstrate that the support of atomicity with high performance requires a variety of techniques carefully chosen to balance the amount of data logged, the level of concurrency allowed, and the mutual consistency requirements of sets of objects, The main goal is to help others implement efficient systems that support atomicity. >
ieee computer society international conference | 1995
Jai Menon; Jeff Riegel; James C. Wyllie
RAIDs implemented in disk controllers are called hardware RAIDs. A software RAID, on the other hand, is implemented purely in software running on a host computer. In this paper, we describe algorithms that can be used by software RAIDs. We present one algorithm (parallel algorithm) for achieving fastest possible RAID update response time; we present one algorithm (PGS bit map algorithm) for improved recovery times; we present one algorithm for improved update concurrency; and we present four algorithms (Parity Caching, Delta Parity Caching, Delta Parity and Partial Parity Caching, and Data Prefetching) for improved sequential performance. Many of our algorithms are also appropriate for low-cost hardware RAIDs.
international conference on distributed computing systems | 1989
Marvin Theimer; Luis-Felipe Cabrera; James C. Wyllie
QuickSilver is a distributed operating system that is intended for large, geographically dispersed systems. The authors describe how clients and data servers interact in the QuickSilver system to access distributed data in the context of large, geographically dispersed systems in which there are many different kinds of data servers. An interface is defined that provides a uniform way for clients and servers to exchange information about each other and to access data objects. The interface attempts to minimize the number of messages needed for this. It supports efficient interaction with higher-level client and server semantics by appropriate use of high-level abstractions and operations, and by selectively exposing the parameters governing communication connections to higher layers of the software.<<ETX>>
Archive | 1997
Frank B. Schmuck; James C. Wyllie; Thomas Eugene Engelsiepen
Archive | 1997
Frank B. Schmuck; Daniel Lloyd Mcnabb; James C. Wyllie; Boaz Shmueli
Archive | 1994
Martha R. Henley; James C. Wyllie; Ashok Raj Saxena
acm multimedia | 1993
A. L. Narasimha Reddy; James C. Wyllie
Archive | 1997
Frank B. Schmuck; Roger L. Haskin; Daniel Lloyd Mcnabb; James C. Wyllie
Archive | 2002
Wayne A. Sawdon; Frank B. Schmuck; James C. Wyllie