Hacker News new | ask | show | jobs
by catern 1800 days ago
No, this is distributed; see this line in the introduction:

>Functionality for distributed execution and monitoring is shared through libraries rather than by delegating to external orchestration systems, making a single-program system completely self-contained.

and this section in the examples: http://catern.com/caternetes.html#thread

2 comments

The quote you pulled out mentions "distributed execution" being completely contained in a "single-program system" - isn't a single-program system, by definition, not a distributed system?

With the emphasis on distributed systems, I was waiting to see how the approach would help synchronization, replication, network dependencies, etc. But all the examples show calling other services as functions or spawning new processes. At the end orderd starts listening for requests, but I don't see any example in the article where the example program talks to another computer in the system. Perhaps I am missing something?

>The quote you pulled out mentions "distributed execution" being completely contained in a "single-program system" - isn't a single-program system, by definition, not a distributed system?

Nope. As the second paragraph talks about, there are other tools too (distributed languages) which also let you write a single program which is distributed. It's very common really - if you've ever written a shell script which performed some operations on another host with ssh, you've written a distributed program.

This is just another way to write a program which performs distributed operations, like using a distributed language or using ssh. (Well, rsyscall is the way to do that, this article is about an application of doing that, actually...)

That section is about threads. This is not a distributed system (running on different machines), it's a concurrent system (running in one machine.)

Anyway there is overlap between the two terms so strictly speaking the author is not wrong. But is anything with threads a distributed system? If so I built many of them, even with Python .

https://en.wikipedia.org/wiki/Concurrency_(computer_science)

https://en.wikipedia.org/wiki/Distributed_computing

They're distributed threads. As it says in http://catern.com/caternetes.html#thread:

>An rsyscall.Thread may operate on a local or remote host, or inside a container or VM, or on other kinds of nodes, depending on how the rsyscall.Thread was produced...

>All distributed operations are performed by method calls on rsyscall.Thread objects.