13
Publications
Publications listed by category and date of publication.
Please observe the copyright notices posted here governing the use of material from this page.
Click for papers indexed by
ACM,
IEEE,
DBLP,
Springer,
CiteSeer, and
Google Scholar
Sort:
By Date: Newest publications first | Oldest publications first
By Category: Book Chapters | Conference Proceedings | Workshop Papers
By Publisher: ACM | ACTA | Cambridge | ETD | IEEE Xplore | None | Springer
Conference Proceedings
- Citation:
Scott M. Pike and Paolo A.G. Sivilotti, "Dining Philosophers with Crash Locality 1" in Proceedings of
ICDCS 2004,
pp. 22-29. © IEEE 2004.
Best Paper Award (1st place out of 475 submitted papers).
- Abstract:
Ideally, distributed algorithms isolate the side-effects of faults within local neighborhoods of impact. Failure locality quantifies this concept as the maximum radius of impact caused by a given fault. We present new locality results for the dining philosophers problem subject to crash failures. The optimal crash locality for dining is 0 in synchronous networks, but degrades to 2 in asynchronous networks. Using the eventually-perfect failure detector /spl diams/P , we construct the first known dining algorithms with crash locality 1 under partial synchrony. These algorithms close the failure-locality complexity gap and improve the crash tolerance of resource allocation algorithms in practical networks. We prove the optimality of our results with two fundamental theorems. First, no dining solution using /spl diams/P achieves locality 0. Second, /spl diams/P is the weakest failure detector in the Chandra-Toueg hierarchy to realize locality 1.
- Publisher: IEEE Xplore
- Link to copy of this pubilcation on file with the publisher:
ieeexplore.ieee.org/search/wrapper.jsp?arnumber=1281564
Download this publication:
- Citation:
Nigamanth Sridhar, Scott M. Pike, and Bruce W. Weide,
"Dynamic Module Replacement in Distributed Protocols"
in Proceedings of ICDCS 2003,
pp. 620-627. © IEEE 2003.
- Abstract:
Dynamic module replacement - the ability to hot swap a component's implementation at runtime - is fundamental to supporting evolutionary change in long-lived and highly-available systems. Most existing solutions require special-purpose middleware or depend on research languages with limited support for mainstream software development. We present a language-neutral technique for dynamic module replacement using Service Facilities (Serfs) - a pattern-based design strategy for decoupling runtime dependencies. We demonstrate the sufficiency of Serfs with respect to a litmus test of criteria for module replacement. Next, we extend the traditional scope of module replacement to encompass the domain of modules for distributed protocols. We conclude by applying the Serf strategy to illustrate dynamic replacement of mutual exclusion protocols in modules for distributed resource allocation.
- Publisher: IEEE Xplore
- Link to copy of this pubilcation on file with the publisher:
ieeexplore.ieee.org/search/wrapper.jsp?arnumber=1203513
Download this publication:
- Citation:
Scott M. Pike,
"Encapsulating Concurrency with Early-Reply"
in Companion Proceedings of the 17th ACM Conference on Object-Oriented Programming, Languages, Systems, and Applications OOPSLA 2002,
pp. 18-19.
- Abstract:
Component methods often produce their final parameter values long before the method body is ready to terminate. To minimize client blocking, Early-Reply can be used to forward invocation results to the caller as soon as they are (safely) available. After executing Early-Reply, the method remainder and the client caller can proceed concurrently, modulo synchronization constraints. The prime motivation for Early-Reply, then, is to improve performance factors such as response time and resource utilization.Early-Reply received previous attention as a construct for explicit concurrent programming. It's value for sequential programming, however, has not been widely recognized. The present research supplies a formal treatment of Early-Reply as a basis for concurrent execution of sequential programs. In particular, we reformulate Early-Reply under local proof obligations that encapsulate concurrency as a (temporal) unit of information hiding. The upshot is that software developers can use Early-Reply to exploit the performance benefits of concurrent execution, without compromising the reasoning benefits of sequential programming.
- Publisher: ACM
- Link to copy of this pubilcation on file with the publisher:
doi.acm.org/10.1145/985072.985082
Download this publication:
- Citation:
Scott M. Pike and Nigamanth Sridhar,
"Early-Reply Components: Concurrent Execution with Sequential Reasoning"
in Proceedings of ICSR7.
Software Reuse: Methods, Techniques, and Tools. LNCS 2319, pp. 46-61. © Springer-Verlag 2002.
- Abstract:
This book constitutes the refereed proceedings of the 7th International Conference on Software Reuse, ICSR-7, held in Austin, Texas, USA, in April 2002.
The 22 revised full papers presented together with summaries or abstracts of keynotes, workshops, and tutorials were carefully reviewed and selected from numerous submissions. The papers are organized in topical sections on implementation, product lines, managerial and economic issues, generators, reuse of non-code artifacts, and design issues. The book contributes to bridging the gap between industrial practice and academic research and development in the area.
- Publisher: Springer
- Link to copy of this pubilcation on file with the publisher:
www.springer.com/sgw/cda/frontpage/0,11855,5-0-22-2209833-0,00.html?referer=www.springer.de%2
Download this publication:
- Citation:
M. Sitaraman, S. Atkinson, G. Kulczycki, B.W. Weide, T.J. Long, P. Bucci, W.D. Heym, S.M. Pike, J.E. Hollingsworth,
"Reasoning About Software-Component Behavior"
in Proceedings of ICSR6 Software Reuse: Advances in Software Reusability.
LNCS 1844, 266-283. © Springer-Verlag 2000.
Citations:
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
- Abstract:
Mathematical modeling is essential for reasoning about component-based software. Without precise descriptions based on mathematical models, the potential benefits of component-based software development are unlikely to be fully realized because clients who use existing components will be unable to understand those components well enough to reason soundly about non-trivial programs which use them.
- Publisher: Springer
- Link to copy of this pubilcation on file with the publisher:
springerlink.metapress.com/(2o4yo455mjahlx55xv5uqo45)/app/home/issue.asp?referrer=parent&back
Download this publication:
- Citation:
Paolo A.G. Sivilotti, Scott M. Pike, and Nigamanth Sridhar,
"A New Distributed Resource-Allocation Algorithm with Optimal Failure Locality."
in Proceedings of PDCS 2000, Vol 2, pp. 524-529, IASTED/ACTA Press, 2000.
Citations:
[1]
[2]
[3]
[4]
- Abstract:
Failure locality measures an algorithm's robustness to process
failures. We present a new algorithm for the dining philosophers
problem | a classic problem in distributed resource allocation | that
has optimal failure locality. As a re nement, the algorithm can be
easily parameterized by a simple failure model to achieve
super-optimal failure locality in the average case. Keywords:
distributed algorithms, fault tolerance, dining philosophers, failure
locality. 1 Introduction The dining philosophers problem is a classic
and fundamental resource allocation problem [6]. Although rst
formulated as a shared-memory concurrency problem, it has since
received considerable attention as a distributed conict-resolution
problem [8]. It can be seen as a generalization of the mutual
exclusion problem, in which neighboring processes cannot access a
shared resource simultaneously. It has many applications in the
construction of other distributed resourceallocation algorithms,
including drinking p...
- Publisher: ACTA
- Link to copy of this pubilcation on file with the publisher:
www.actapress.com/proceedings/pdcs.htm
Download this publication:
- Citation:
Scott M. Pike, Bruce W. Weide, and Joseph E. Hollingsworth,
"Checkmate: Cornering C++ Dynamic Memory Errors With Checked Pointers."
in Proceedings of SIGCSE 2000, pp. 352-356. © ACM Press 2000.
Citations:
[1]
[2]
[3]
[4]
[5]
[6]
- Abstract:
Pointer errors are stumbling blocks for student and veteran programmers alike. Although languages such as Java use references to protect programmers from pointer pitfalls, the use of garbage collection dictates that languages like C++ will still be used for real-time mission-critical applications. Pointers will stay in the classroom as long as they're used in industry, so as educators, we must find better ways to teach them. This paper presents checked pointers, a simple wrapper for C++ pointers that prevents pointer arithmetic and other common sources of pointer errors, and detects all dereferencing and deallocation errors, including memory leaks. The syntax of checked pointers is highly faithful to raw C++ pointers, but provides run-time error detection and debugging information. After debugging, changing one #include is all that is required to substitute a non-checking implementation that is as fast as raw C++.
- Publisher: ACM
- Link to copy of this pubilcation on file with the publisher:
portal.acm.org/citation.cfm?doid=330908.331884
Download this publication:
Total Number of Publications: 13
publication admin