Reading Summary 2019-04-01

This is a repository for my research, paper reading summaries/reviews, and relevant blog-like posts in markdown.

Reading Summary 2019-04-01

ยท by Aldrin Montana

A Note on Distributed Computing

What problem does the paper solve? Is is important?

This paper tries to address the state of some distributed systems work, describe common
traps, and identify key issues that must be addressed for distributed systems research
to make promising advances.

How does it solve the problem?

This paper is primarily a discussion of problems that the authors have identified in
approaches in distributed systems research.

What alternative approaches are there? Are they adequately discussed in the reading?

Alternate approaches span object-based approaches, low level mechanisms that properly
distinguish between local and remote computation, and previous work in RPC (remote
procedure call), shared memory systems, and protocols such as NFS.

How does this work relate to other research, whether covered in this course or not?

This work is related to distributed systems overall, particularly in: programming
languages (how are pointers/references presented), distributed protocols (a
critique of the NFS protocol), and I think has interesting relevance to multi-core
systems which I do not think existed at the time (in 1994, Intel had released the
P54 processor, with 100 MHz and 166.3 MIPS), and so has interesting caveats that
the authors did not accurately predict.

What specific research questions, if any, does the paper raise for you?

How does the proposed distinction between local and remote memory access apply for
distributed object or key-value stores where data is logically accessed by key or
entity and low-level access is managed by a server node? Does this fit "cleanly"
into the described necessity to provide programmers with an appropriate interface
so that they know what is local and what is remote? Also, for multi-core systems
such as the Silo DBMS, does the distinction between local and remote need a third
location? How important is it to create a third distinction, or distinguish not
between local and remote but between processors separated by various scales of
communication latency?

Relevant Resources: