MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Parrot: Transparent User-Level Middleware for Data-Intensive Computing (2003) [36 citations — 20 self]

by Douglas Thain ,  Miron Livny
In Workshop on Adaptive Grid Middleware
Add To MetaCart

Abstract:

Distributed computing continues to be an alphabet-soup of services and protocols for managing computation and storage. To live in this environment, applications require middleware that can transparently adapt standard interfaces to new distributed systems; such software is known as an interposition agent. In this paper, we present several lessons learned about interposition agents via a progressive study of design possibilities. Although performance is an important concern, we pay special attention to less tangible issues such as portability, reliability, and compatibility. We begin with a comparison of seven methods of interposition, focusing on one method, the debugger trap, that requires special techniques to achieve acceptable performance on popular operating systems. Using this method, we implement a complete interposition agent, Parrot, that splices existing remote I/O systems into the namespace of standard applications. The primary design problem of Parrot is the mapping of fixed application semantics into the semantics of the available I/O systems. We offer a detailed discussion of how errors and other unexpected conditions must be carefully managed in order to keep this mapping intact. We conclude with a evaluation of the performance of the I/O protocols employed by Parrot, and use an Andrew-like benchmark to demonstrate that semantic differences have consequences in performance. 1.

Citations

701 Scale and Performance in Distributed File Systems – Howard, Kazar, et al. - 1988
325 The Paradyn parallel performance measurement tools – Miller, Callaghan, et al. - 1995
294 A Secure Environment for Untrusted Helper Applications – Goldberg, Wagner, et al. - 1996
238 A new kernel foundation for UNIX development – Mach - 1986
188 Vnodes: An Architecture for Multiple File System Types – Kleiman - 1986
177 The SDSC storage resource broker – Baru, Moore, et al. - 1998
147 Scale and performance in the Denali isolation kernel – Whitaker, Shaw, et al. - 2002
143 Interposition Agents: Transparently Interposing User Code at the System Interface – Jones - 1992
127 Supporting checkpointing and process migration outside the Unix kernel – Litzkow, Solomon - 1992
126 GASS: A data movement and access service for wide area computing systems – Bester, Foster, et al. - 1999
99 Detours: Binary Interception of Win32 Functions – Hunt - 1998
74 Interposed request routing for scalable network storage – Anderson, Chase, et al. - 2000
74 Replica selection in the globus data grid – Vazhkudai, Tuecke, et al. - 2001
71 The kangaroo approach to data movement on the grid – Thain, Basney, et al. - 2001
68 A comparison of OS extension technologies – Small, Seltzer - 1996
63 Traps and pitfalls: Practical problems in system call interposition based security tools – Garfinkel - 2003
51 Reliable network connections – Zandy, Miller - 2002
46 UFO: A personal global file system based on user-level extensions to the operating system – Alexandrov, Ibel, et al. - 1998
39 Protocols and services for distributed data-intensive science – Allcock, Chervenak, et al. - 2000
35 Providing resource management services to parallel applications – Pruyne, Livny - 1994
34 Multiple Bypass: Interposition agents for distributed computing – Thain, Livny
28 Pipeline and Batch Sharing in Grid Workloads – Thain, Bent, et al. - 2003
27 Flexibility, manageability, and performance in a grid storage appliance – Bent, Venkataramani, et al. - 2002
27 Matchmaking Frameworks for Distributed Resource Management – Raman - 2000
25 Grid-based file access: The Legion I/O model – White, Grimshaw, et al. - 2000
25 Process hijacking – Zandy, Miller, et al. - 1999
20 UIO: A Uniform I/O System Interface for Distributed Systems – Cheriton - 1987
19 Utilizing widely distributed computational resources efficiently with execution domains – Basney, Livny, et al. - 2001
9 Error scope on a computational grid – Thain, Livny - 2002
8 dCache, a distributed storage data caching system – Ernst, Fuhrmann, et al. - 2001
7 CASTOR project status – Barring, Baud, et al. - 2000
7 Establishing persistent identity using the handle system – Sun - 2001
6 Protocol independence using the sockets API – Metz - 2002
6 Grid Data Management Pilot – Samar, Stockinger - 2001
6 The discipline and method architecture for reusable libraries – Vo - 2000
4 SOCKS protocol version 5. Internet Engineering Task Force (IETF) Request for Commends (RFC – Leech, Ganis, et al. - 1928
3 The tool daemon protocol (TDP – Miller, Cortes, et al. - 2003
2 A proposed solution to the problem of levels in errormessage generation – Efe - 1987