MELD: A Logical Approach to Distributed and Parallel Programming

Abstract

With the industry-wide shift to multi-core processors and the rise of large-scale clusters as the engines for web services, it is clear that the future is all about exploiting parallelism. Unfortunately, writing parallel or concurrent software has long been a notoriously difficult task for programmers. In particular, the goals of maintaining correctness while also achieving high performance are far more challenging in a parallel or concurrent environment compared with a single-threaded system. Meld is a logic-based programming language that has proven effective for programming massively distributed systems. In this report, we describe Meld and how it can also be used to program more traditional parallel machines. We evaluate Meld on a small set of benchmarks and describe some of the methods we use to make it an effective tool for parallel programming. While more work needs to be done, it is clear that the use of a single language for describing both computation and coordination can lead to clear, concise, and efficient implementations.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Mar 01, 2012
Accession Number
ADA557801

Entities

People

  • Flavio C Cruz
  • Seth C. Goldstein

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Autonomy
  • Energy and Power Technologies
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Air Force
  • Air Force Research Laboratories
  • Computations
  • Computer Programming
  • Computer Programs
  • Computing System Architectures
  • Environment
  • Fault Tolerance
  • Hash Tables
  • Language
  • Lisp Programming Language
  • Lists (Data Structures)
  • Neural Networks
  • Programming Languages
  • Trees (Data Structures)
  • Virtual Machines
  • Web Service

Fields of Study

  • Computer science
  • Engineering

Readers

  • Distributed Systems and Data Platform Development
  • Parallel and Distributed Computing.