• Breaking News

    Wednesday, February 3, 2021

    Sci-Genie: A Search Engine over CS ArXiv Computer Science

    Sci-Genie: A Search Engine over CS ArXiv Computer Science


    Sci-Genie: A Search Engine over CS ArXiv

    Posted: 02 Feb 2021 11:05 AM PST

    Is Go's concurrency model suitable for distributed systems and for microservices?

    Posted: 02 Feb 2021 05:26 PM PST

    In Programming Distributed Computing Systems:

    7.3.4 Distribution

    Distributed computing is inherently concurrent. However, distribution aspects go far beyond concurrency. Of particular importance from a modeling perspective is the capability to reason about the location (and potential co-location) of concurrent com- putations, the heterogeneous cost of interaction, the security aspects of interaction across multiple locations, and the potential for partial failures.

    The concurrent computing models that we have studied offer diverse levels of abstraction and therefore support reasoning about distributed computation to different degrees.

    In the π calculus, there is no explicit representation of locations. Processes can arbitrarily and uniformly interact with any other processes, as long as they share a channel name. Therefore, from a modeling perspective, it is not directly possible to distinguish between the interaction of two processes in the same processor and the interaction of two processes in two computers across two different continents. Therefore, in an executable realization of the π calculus, a channel abstraction may be implemented as a single machine register in the simplest case, or it may require a network socket implementation requiring the coordination of multiple servers for interprocess communication. Since channels are first-class communicable entities and process communication topology is thus dynamic, this so-called process "mobility" may require significantly expensive channel implementation strategies. Furthermore, truly synchronous communication is impossible to implement among processors in geographically distant computers.

    In the actor model, sequential computation is modeled using the λ calculus, making the distributed interaction between actors explicit through a network, mod- eled as a multiset of messages en route. The state encapsulation and asynchronous communication aspects of the actor model (see section 7.1) make it better suited to model and implement distributed computing systems. However, there is no explicit notion of actor location, and therefore, communication between actors in the same processor and actors across the planet is uniformly modeled.

    If I am correct that

    • Go has an implementation of pi calculus,
    • Go is recommended for distributed systems and for microservices

    my questions are:

    • Is it Go's implementation of pi calculus that is recommended for distributed systems and for microservices ?

    • If yes, why, given the quote saying pi calculus is not good for distributed computing?

    Thanks.

    submitted by /u/timlee126
    [link] [comments]

    Can someone explain this discrepancy when determining the minimum number of nodes in an AVL tree using a recurrence relation? (Textbook vs online)

    Posted: 02 Feb 2021 04:48 PM PST

    Recurrence relation given in my DSA textbook:

    My textbook

    S(h) = S(h-1) + S(h-2) + 1

    Base cases:

    S(0) = 1

    S(1) = 2.

    This gives me answers such as:

    S(2) = 4

    S(3) = 7

    S(4) = 12

    S(5) = 20

    S(6) = 33

    However, in this StackOverflow post the answers don't seem to be consistent with each other, or with my textbook.

    For example, one person uses:

    S(1) = 0

    S(2) = 1

    which leads to S(6) = 12

    Another uses:

    S(1) = 1

    S(2) = 2

    which leads to S(6) = 20

    And another uses (which is in line with my textbook):

    S(0) = 1

    S(1) = 2

    which leads to S(6) = 33 (again, the same as what I'm understanding from my textbook)

    Obviously the discrepancies in answers comes from the variation of base cases, so my question is what's going on here with the base cases? It seems like everyone is starting from a different point, which makes it very hard to understand the concepts...

    I'm guessing it has to do with having different methods of counting the height of a given node? Am I correct? If yes, what other ways are there of counting height? And why would people do it that way? To me just counting the number of edges between the given node and the furthest leaf seems a very intuitive way to do it, I'm not sure why you would do it another way.

    submitted by /u/Missing_Back
    [link] [comments]

    Probability Distribution in Monopoly Using Markov Chains

    Posted: 27 Jan 2021 03:05 AM PST

    Modularity vs Compositionality: A History of Misunderstandings

    Posted: 28 Jan 2021 01:08 AM PST

    AI Experts Suggest 13 Roadblocks & Limitations to AI Progression in 2021 - TL;DR Included

    Posted: 28 Jan 2021 09:12 AM PST

    Am I understanding O(n) vs o(n) correctly?

    Posted: 28 Jan 2021 01:24 PM PST

    These concepts are still pretty shaky for me, but simply put I thought I understood O(n) to be an upper bound, plain and simple. This could be a very loose upper bound (eg. n is upper bounded by n2) or a very tight and reachable upper bound (eg. n is upper bounded by n); if f(n) = O(g(n)), then f(n) <= g(n)

    Whereas o(n) is similar, but not the same. I thought that o(n) pretty much is if f(n) = o(g(n)) then f(n) < g(n). So the same thing, but the functions can't be the same; an unreachable upper bound, instead of just an upper bound period.

    Is this incorrect?

    submitted by /u/Missing_Back
    [link] [comments]

    No comments:

    Post a Comment