LEAP-Systems / LEAP-Systems/tesseract

Distributed Processing

Open
#12 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

architecture documentation
Dominant language
Python
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

I have a theory when it comes to designing system architecture. Generally computer systems have 2 main components:

  1. CPU and controllers (Core processing and business logic)
  2. Production Endpoints (I/O interfaces, networking etc ...)

I have come to realize the more production endpoints are tied directly to CPU the more complicated the business logic becomes and the more inefficiencies can come as a result. This is known as centralized processing. I know a number of components from the current iteration suffers from these inefficiencies. To mitigate this we partition the CPU into subsets of controllers each specialized to handle groups of like endpoints. We call this distributed processing and the distinction is shown visually below:

Centralized Processing: Complicated Processing Unit due to Overload of Endpoints
Overloaded CPU
Distributed Processing: Simple and Efficient Processing Unit by Distributed Controllers Managing Similar Endpoints
Distributed Processing

In this model, the CPU delegates the complicated business logic for each set of endpoints to targeted controllers and can now be free to manage and synergize all the controllers. This not only simplifies the importance business logic but also allows us to optimize the processes within each component due to good separation of concerns and grouping like endpoints. Moving forward I think we should keep this in mind when continuing to iterate on our system backend.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue presents a distributed-processing architecture proposal but names no files, tests, or entry points. First define which backend components should change and how the proposed controller separation will be evaluated; the issue is not complete until that scope and a concrete definition of done are provided.

Written by the indexing model from the issue text.

Assessment

Domain
backend, distributed-systems
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
10/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.