Skip to main content

week-07


Meeting 12

(June 21,2024)

Participants

Mentors

Contributors

Discussion:

Contributor:

  • Aaditya Singh: Presented a thorough analysis of a use case, identifying several important aspects:

    1. Clear separation of dependent and independent job queues.
    2. Implementation of a rate limiter using a sliding window log.
    3. Application of semaphores for queue synchronization.
    4. Integration of feedback through Telegraf.

    golang_architecture

⚠️ In the diagram above, mutexes and channels for synchronization haven't been considered yet. Introducing single semaphore into the diagram might undermine the goal of achieving parallelism in extreme situations.

  • Aaditya Singh: Concluded that the architecture faces several challenges:
    1. Potential deadlocks from using multiple semaphores.
    2. Limitations of using a single semaphore under certain conditions affecting multiprogramming.
    3. The need for a load balancer to prioritize users based on their analysis needs or project size.
    4. Establishment of a heartbeat mechanism to monitor system performance.

Mentors:

  • Kaushlendra Pratap: Discussed the potential deadlock issues with the use of multiple semaphores.

  • Gaurav Mishra: Suggested the implementation of a heartbeat system, possibly through Grafana, to oversee system health.

  • Katharina Ettinger: Asked about the scalability of the current approach given the project size and complexity.

  • Shaheem Azmal M MD: Proposed integrating a priority mechanism within the dependent queue to optimize processing time for smaller or less complex projects.

ℹ️: Additional studies and enhancements are considered for these areas.