Date: Tue, 26 Nov 1996 03:44:06 GMT Server: NCSA/1.4.1 Content-type: text/html Last-modified: Wed, 20 Nov 1996 23:42:28 GMT Content-length: 6621
![]() |
Bandalier National Park, New Mexico |
I received a B.S. in computer science from SUNY Stony Brook in 1993 and an M.S. in computer science from NYU in 1995. I grew up in New York City and attended The Day School, City and Country, and finally Trinity.
The main area of my research is in "lite-transactions", which have some of the properties of transactions, but are very light weight. Traditional transactions have properties (ACID) which are useful for fault-tolerance, but traditional transactions are too expensive to be practical in many areas. Previous light-weight transactions (e.g. group commit ) have addressed increased server throughput. However, the increased throughput has been achieved at the expense of increased client response time. In many situations, such as in real-time systems, this tradeoff is not desirable or even practical. Unlike traditional transactions, Lite-transactions do not commit to disk. Rather they commit to memory. This makes them very light, allows them to provide temporal guarantees that traditional systems can't, and makes them applicable when response time guarantees are needed.
If a server(s) fails, committed lite-transactions may be lost. In this case, the system is recovered from the last checkpoint. Due to their volatile nature, lite-transactions pose a challenge for low overhead, non-client blocking, distributed checkpointing. I have developed an efficient checkpointing algorithm for Lite-transactions which is non-blocking for clients and requires very little synchronization for servers.
We have applied lite-transactions to the Linda model. Linda may be used to harness the aggregate power of networks of workstations. However, Linda is not fault-tolerant and Linda processes can become obtrusive when a user finds her machine busy with someone else's processes and the Piranha system can only be used for a limited types of applications.
We have a working prototype of a system called Persistent Linda where we apply lite-transactions to the Linda model. Persistent Linda may be used to harness the aggregate power of networks of workstations in an unobtrusive manner: processes are automatically killed (ie kill -9 pid) on one machine and restarted elsewhere. The fault-tolerance mechanisms built on lite-transactions allow processes to recover from their last commit point. In fact, the type (architecture) of the originating machine and the final destination machine can be different. he fact that processes can be migrated independently is crucial to utilizing networks of workstations for parallel applications.
I have worked extensively on the current version of the prototype which is approximately 20,000 lines of C++. This includes designing and implementing no overhead locking for degree 2 lite-transactions, designing and implementing buffered writes and piggybacked transactions operations, re-implementing the tuple data structure for more efficiency and portability, and re-implementing the communication library for portability.
Another project I am working on is to provide transparent shared memory, fault tolerance, and a runtime system capable of running efficiently on highly unpredictable networks (e.g. the WWW) for Java. With this type of language and runtime system, programmers have a rich environment to write applications in.
Email: wyckoff@cs.nyu.edu
Finger: wyckoff@slinky.cs.nyu.edu