Skip to content

Distributed Adaptive Serverless Hosting is an advanced cloud infrastructure model that dynamically allocates computing resources based on demand

Notifications You must be signed in to change notification settings

Chackoz/Dash-Scheduler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DASH - Distributed Adaptive Serverless Hosting

What is DASH?

DASH is a distributed code execution and deployment system designed using React, Firebase, and Tauri APIs. It allows clients to submit code, schedule tasks, and execute them efficiently through connected nodes. DASH focuses on simplifying task scheduling and automating code execution workflows.

Features

  • Task Scheduling: Assigns pending tasks to idle clients automatically.
  • Distributed Execution: Executes tasks in parallel across connected nodes.
  • Real-time Updates: Uses Firebase for real-time communication and task updates.
  • Secure Code Handling: Ensures code integrity and security throughout the execution pipeline.
  • Scalability: Easily scalable with multiple connected nodes.

Screenshots

image

Architecture

1. Clients Submit Code: 
   - Code is submitted via Firebase with a 'pending' status.

2. Scheduler Monitors Tasks: 
   - Listens for pending tasks and assigns them to idle clients.

3. Clients Execute Tasks: 
   - Idle clients listen for assignments, execute code, and report results.

4. Result Reporting:
   - Execution results are updated in Firebase.

5. Notifications:
   - Original clients are notified of the results.

Technical Details

Frontend

  • Framework: Tauri + Next.js
  • Styling: Tailwind CSS
  • Tauri API: Used for secure desktop interactions.

Backend

  • Database: Firebase Realtime Database and Firestore.
  • Deployment: Scheduler in Cloud Functions

Task Scheduler

  • Language: Python
  • Libraries: Firebase Admin SDK
  • Task Distribution: Custom algorithm for dynamic task allocation.

How It Works

  1. Initialize Dash - Connect the app.
  2. Submit Code - Clients upload code with metadata to Firebase.
  3. Scheduler Assignment - Scheduler assigns pending tasks to idle clients.
  4. Execution & Reporting - Clients execute the assigned code and update the results.

Contributors

Adithya Krishnan
Adithya Krishnan
Ferwin Lopez
Ferwin Lopez
Nevia Sebastian
Nevia Sebastian
Nikita Nair
Nikita Nair

License

This project is licensed under the MIT License.

About

Distributed Adaptive Serverless Hosting is an advanced cloud infrastructure model that dynamically allocates computing resources based on demand

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published