Write a Blog >>
ECOOP 2017
Sun 18 - Fri 23 June 2017 Barcelona, Spain

Second Workshop on Programming Models and Languages for Distributed Computing

Co-located with ECOOP 2017, Barcelona, Spain

Date: June 20, 2017

Whether you are programming a rich web application in JavaScript that mutates state in the client’s browser, or you are building a massively deployed mobile application that will operate with client state at the device, it’s undeniable that you are building a distributed system!

Two major challenges of programming distributed systems are concurrency and partial failure. Concurrency of operations can introduce accidental nondeterminism: computations may result in different outcomes with the same inputs given scheduling differences in the underlying system unless a synchronization mechanism is used to enforce some order. Synchronization is typically expensive, and reduces the efficiency of user applications. Partial failure, or the failure of one or more components in a distributed system at one time, introduces the challenge of knowing, when an operation fails, which components of the operation completed successfully. To solve these problems in practice on an unreliable, asynchronous network, atomic commit protocols and timeouts as failure detection are typically used.

Because of these challenges, early approaches to providing programming abstractions for distributed computing that ignored them were inherently misguided: the canonical example being the Remote Procedure Call, still widely deployed in industry.

The goal of this workshop is to discuss new approaches to distributed programming that provide efficient execution and the elimination of accidental nondeterminism resulting from concurrency and partial failure. It will bring together both practitioners and theoreticians from many disciplines: database theory, distributed systems, systems programming, programming languages, data-centric programming, web application development, and verification, to discuss the state-of-the-art of distributed programming, advancement of the state-of-the-art and paths forward to better application of theory in practice.

The main objectives of this workshop are the following:

  • To review the state-of-the-art research in languages, models, and systems for distributed programming;
  • To identify areas of critical need where research can advance the state of the art;
  • To create a forum for discussion;
  • To present open problems from practitioners with an aim towards motivating academic research on relevant problems faced by industry.

In the spirit of both ECOOP and Curry On, this workshop aims at favoring a multidisciplinary perspective by bringing together researchers, developers, and practitioners from both academia and industry.

Sponsors

Fastly

Call for Papers

Second Workshop on Programming Models and Languages for Distributed Computing

Co-located with ECOOP 2017, Barcelona, Spain

Date: June 20, 2017

Whether you are programming a rich web application in JavaScript that mutates state in the client’s browser, or you are building a massively deployed mobile application that will operate with client state at the device, it’s undeniable that you are building a distributed system!

Two major challenges of programming distributed systems are concurrency and partial failure. Concurrency of operations can introduce accidental nondeterminism: computations may result in different outcomes with the same inputs given scheduling differences in the underlying system unless a synchronization mechanism is used to enforce some order. Synchronization is typically expensive, and reduces the efficiency of user applications. Partial failure, or the failure of one or more components in a distributed system at one time, introduces the challenge of knowing, when an operation fails, which components of the operation completed successfully. To solve these problems in practice on an unreliable, asynchronous network, atomic commit protocols and timeouts as failure detection are typically used.

Because of these challenges, early approaches to providing programming abstractions for distributed computing that ignored them were inherently misguided: the canonical example being the Remote Procedure Call, still widely deployed in industry.

The goal of this workshop is to discuss new approaches to distributed programming that provide efficient execution and the elimination of accidental nondeterminism resulting from concurrency and partial failure. It will bring together both practitioners and theoreticians from many disciplines: database theory, distributed systems, systems programming, programming languages, data-centric programming, web application development, and verification, to discuss the state-of-the-art of distributed programming, advancement of the state-of-the-art and paths forward to better application of theory in practice.

The main objectives of this workshop are the following:

  • To review the state-of-the-art research in languages, models, and systems for distributed programming;
  • To identify areas of critical need where research can advance the state of the art;
  • To create a forum for discussion;
  • To present open problems from practitioners with an aim towards motivating academic research on relevant problems faced by industry.

In the spirit of both ECOOP and Curry On, this workshop aims at favoring a multidisciplinary perspective by bringing together researchers, developers, and practitioners from both academia and industry.

Submission Guidelines

We solicit proposals for contributed talks. We recommend preparing proposals of 2 pages, in ACM 2 column SIGPLAN style, written in English and in PDF format. However, we will accept longer proposals or submissions to other conferences, under the understanding that PC members are only expected to read the first two pages of such longer submissions. Authors with accepted papers will have the opportunity to have their submission published on the ACM Digital Library.

Edge Compute: The First 5000 Years

Tyler McMullen, Fastly

Edge compute — the idea of executing logic close to or at the endpoints of the network rather than in a central system — is at the stone age of its history. What we consider cutting edge today is only the beginning; with new products like Amazon Lambda, the idea of pushing logic to the edge of the network has started to become more mainstream. However, the big innovations are yet to come. What would it take to build complete, complex applications at the edge? What new, state-of-the-art tools and concepts would we need? We will discuss where the edge is heading over the next several years, some ideas for what it could look like, and how it could fundamentally change the way you build applications.

Fastly