Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.



Published on

HPC over Kubernetes

Published in: Technology
  • Be the first to comment

  • Be the first to like this


  1. 1. HKUBE HPC over kubernetes
  2. 2. Agenda About us Overview Architecture & Demonstration Roadmap Summary
  3. 3. 1/5 About us
  4. 4. The Core team MAty Zissermam (Team Leader & Software Developer ) Yehiyam livne (Software Developer) Nassi Harel (Software Developer) Tal Bahallol (Software Developer) Eli Maor (Devops) Eytan Godensky Ronen Kroitoro (System Management)
  5. 5. 2/5 Overview
  6. 6. Hkube is an open source framework that allows developers focus only on writing algorithms. We will do the rest… Hkube for algorithms is like Kubernetes to dockers
  7. 7. Legend ALgorithm BatchPipeline Worker
  8. 8. Bare Kubernetes HKube Core Modules Algorithms Pipelines Hkube in layers
  9. 9. Main Concepts Optimize Hardware utilization Language AgnosticDistributed pipeline of algorithms Algorithm monitoring Simple APISemi Automatic Jobs Prioritization
  10. 10. Legend Algorithm A written in python Algorithm B written in c++ Algorithm C written in R Algorithm D written in Python Pipeline 1 Client 1 2 5 Pipeline 3 CPU 368 3 1150 After some time Pipeline 2 . . . What we try to solve /500 2 X 4 X 7 X 7 X 4 3 5 1 2
  11. 11. It’s SimpleDeploy algorithm Dockerize the algorithm Use CLI to add the algorithm to hkube Implement a simple websocket api for hkube Run the pipeline with input Register webhooks for result and status Create/store pipeline Run pipeline
  12. 12. User Instructions Me 2. Split your problem to small pieces input Classification Me Me Aggregation 3. Run it on Hkube Dockerize Create Pipeline Descriptor Deploy & Run Make your boss happy Took too long 1. ProblemInput Result Face Detection & Cropping find myself in a picture X8
  13. 13. API 1.Create Descriptor 2.Run with Inputs
  14. 14. 3/5 Architecture & Demonstration
  15. 15. Core Modules Api Server - Pipeline validation - Client Api for status result - Notifies via webhooks on data changes Pipeline Driver - Build DAG graph based on Pipeline descriptor schema - Manage the pipeline flow Resource Manager & Executor - Fetch hardware and application data - Calculate algorithm pod count - Create pods Worker - Runs algorithm container as a sidecar - Functions as a bridge for communicating between algorithm and hkube Queues - Implements heuristic for prioritizing algorithm tasks - Handle algorithm task execution
  16. 16. Algorithm Queue face detection Resource Executer Algorithm Queue classification Resource Manager Pipeline Driver Queue Api Server Algorithm Queue Reduce-images positions Worker Algorithm Classification Architecture X 100 Generate Job Yaml For each pod Get resource data Pipeline Driver Instance Legend Worker Algorithm reduce-images-positions After algorithm ends. wait for timeout and then finish k8s job Worker Algorithm face detection Client Run K8s Job
  17. 17. 4/5 Current Status & Roadmap
  18. 18. Version 1.0 (8/18) - Dynamic allocation - Extend algorithm monitoring metrics - Extend hkube cli for supporting custom storage - Well documented landing page - Long lasting worker - Triggering Roadmap
  19. 19. Roadmap Future - Additional adapter for common orchestrators (spark&kubeflow) - Worker affinity (GPU, specific node) - Code API - Cashing for algorithms (manually/input with hash ) - Cluster scaling - Streaming Pipelines - Sub-pipeline: for conditional execution - Resource allocation heuristic improvements (ML) - Hkube Dashboard - More built in storage support - Public algorithm store (helm like) - PAAS - Developer IDE - allow for easy developing and debugging of algorithms - Authentication & Authorization - Simplify API to HKUBE