Results 1 - 10
of
11
The Declarative Imperative Experiences and Conjectures in Distributed Logic
"... The rise of multicore processors and cloud computing is putting enormous pressure on the software community to find solutions to the difficulty of parallel and distributed programming. At the same time, there is more—and more varied—interest in data-centric programming languages than at any time in ..."
Abstract
-
Cited by 50 (5 self)
- Add to MetaCart
(Show Context)
The rise of multicore processors and cloud computing is putting enormous pressure on the software community to find solutions to the difficulty of parallel and distributed programming. At the same time, there is more—and more varied—interest in data-centric programming languages than at any time in computing history, in part because these languages parallelize naturally. This juxtaposition raises the possibility that the theory of declarative database query languages can provide a foundation for the next generation of parallel and distributed programming languages. In this paper I reflect on my group’s experience over seven years using Datalog extensions to build networking protocols and distributed systems. Based on that experience, I present a number of theoretical conjectures that may both interest the database community, and clarify important practical issues in distributed computing. Most importantly, I make a case for database researchers to take a leadership role in addressing the impending programming crisis. This is an extended version of an invited lecture at the ACM PODS 2010 conference [32]. 1.
Confluence Analysis for Distributed Programs: A Model-Theoretic Approach
, 2011
"... ..."
(Show Context)
Under consideration for publication in Theory and Practice of Logic Programming 1 Applying Prolog to Develop Distributed Systems
, 2003
"... Development of distributed systems is a difficult task. Declarative programming techniques hold a promising potential for effectively supporting programmer in this challenge. While Datalog-based languages have been actively explored for programming distributed systems, Prolog received relatively lit ..."
Abstract
- Add to MetaCart
(Show Context)
Development of distributed systems is a difficult task. Declarative programming techniques hold a promising potential for effectively supporting programmer in this challenge. While Datalog-based languages have been actively explored for programming distributed systems, Prolog received relatively little attention in this application area so far. In this paper, we investigate the applicability of a Prolog-based programming system, called DAHL, for the declarative development of distributed systems. For this task, we extend Prolog with an event-driven control mechanism and built-in networking procedures. Our experimental evaluation using a distributed hashtable data structure, a protocol for achieving Byzantine fault tolerance, and a distributed software model checker – all implemented in DAHL – indicates the viability of the approach. 1
Intel Labs Berkeley
"... Mobile cloud computing applications run diverse workloads under diverse device platforms, networks, and clouds. Traditionally these applications are statically partitioned between weak devices and clouds, thus may be significantly inefficient in heterogeneous environments and workloads. We introduce ..."
Abstract
- Add to MetaCart
(Show Context)
Mobile cloud computing applications run diverse workloads under diverse device platforms, networks, and clouds. Traditionally these applications are statically partitioned between weak devices and clouds, thus may be significantly inefficient in heterogeneous environments and workloads. We introduce the notion of dynamic partitioning of applications between weak devices and clouds and argue that this is key to addressing heterogeneity problems. We formulate the dynamic partitioning problem and discuss major research challenges around system support for dynamic partitioning. 1.
1Applying Prolog to Develop Distributed Systems
"... Development of distributed systems is a difficult task. Declarative programming tech-niques hold a promising potential for effectively supporting programmer in this challenge. While Datalog-based languages have been actively explored for programming distributed systems, Prolog received relatively li ..."
Abstract
- Add to MetaCart
Development of distributed systems is a difficult task. Declarative programming tech-niques hold a promising potential for effectively supporting programmer in this challenge. While Datalog-based languages have been actively explored for programming distributed systems, Prolog received relatively little attention in this application area so far. In this paper we present a Prolog-based programming system, called DAHL, for the declarative development of distributed systems. DAHL extends Prolog with an event-driven control mechanism and built-in networking procedures. Our experimental evaluation using a dis-tributed hash-table data structure, a protocol for achieving Byzantine fault tolerance, and a distributed software model checker – all implemented in DAHL – indicates the viability of the approach. 1
Under consideration for publication in Theory and Practice of Logic Programming 1 Applying Prolog to Develop Distributed Systems
, 2003
"... Development of distributed systems is a difficult task. Declarative programming tech-niques hold a promising potential for effectively supporting programmer in this challenge. While Datalog-based languages have been actively explored for programming distributed systems, Prolog received relatively li ..."
Abstract
- Add to MetaCart
Development of distributed systems is a difficult task. Declarative programming tech-niques hold a promising potential for effectively supporting programmer in this challenge. While Datalog-based languages have been actively explored for programming distributed systems, Prolog received relatively little attention in this application area so far. In this paper we present a Prolog-based programming system, called DAHL, for the declarative development of distributed systems. DAHL extends Prolog with an event-driven control mechanism and built-in networking procedures. Our experimental evaluation using a dis-tributed hash-table data structure, a protocol for achieving Byzantine fault tolerance, and a distributed software model checker – all implemented in DAHL – indicates the viability of the approach. 1
4. TITLE AND SUBTITLE Confluence Analysis for Distributed Programs: A Model-Theoretic Approach
, 2011
"... Report Documentation Page Form ApprovedOMB No. 0704-0188 Public reporting burden for the collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering and maintaining the data needed, and completing an ..."
Abstract
- Add to MetaCart
(Show Context)
Report Documentation Page Form ApprovedOMB No. 0704-0188 Public reporting burden for the collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information,
Recent Advances in Declarative Networking
, 2012
"... Recent Advances in Declarative Networking Declarative networking is a programming methodology that enables developers to concisely specify network protocols and services, and directly compile these specifications into a dataflow framework for execution. This paper describes recent advances in declar ..."
Abstract
- Add to MetaCart
(Show Context)
Recent Advances in Declarative Networking Declarative networking is a programming methodology that enables developers to concisely specify network protocols and services, and directly compile these specifications into a dataflow framework for execution. This paper describes recent advances in declarative networking, tracing its evolution from a rapid prototyping framework towards a platform that serves as an important bridge connecting formal theories for reasoning about protocol correctness and actual implementations. In particular, the paper focuses on the use of declarative networking for addressing four main challenges in the distributed systems development cycle: the generation of safe routing implementations, debugging, security and privacy, and optimizing distributed