scaling out tensorflow-as-a-service on spark and commodity gpus
TRANSCRIPT
![Page 1: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/1.jpg)
Jim Dowling Assoc Prof, KTH
Senior Researcher, RISE SICS CEO, Logical Clocks AB
SPARK & TENSORFLOW
AS-A-SERVICE
#EUai8
Hops
![Page 2: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/2.jpg)
Newton confirmed what many suspected
• In August 1684, Halley
visited Newton:
“What type of curve does
a planet describe in its
orbit about the sun,
assuming an inverse
square law of attraction?”
2#EUai8
![Page 3: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/3.jpg)
• In June 2017, Facebook showed how to reduce training time on ImageNet for a Deep CNN from 2 weeks to 1 hour by scaling out to 256 GPUs.
3#EUai8
https://arxiv.org/abs/1706.02677
Facebook confirmed what many suspected
![Page 4: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/4.jpg)
AI Hierarchy of Needs
5
DDL
(Distributed
Deep Learning)
Deep Learning,
RL, Automated ML
A/B Testing, Experimentation, ML
B.I. Analytics, Metrics, Aggregates,
Features, Training/Test Data
Reliable Data Pipelines, ETL, Unstructured and
Structured Data Storage, Real-Time Data Ingestion
[Adapted from https://hackernoon.com/the-ai-hierarchy-of-needs-18f111fcc007?gi=7e13a696e469 ]
![Page 5: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/5.jpg)
AI Hierarchy of Needs
6
DDL
(Distributed
Deep Learning)
Deep Learning,
RL, Automated ML
A/B Testing, Experimentation, ML
B.I. Analytics, Metrics, Aggregates,
Features, Training/Test Data
Reliable Data Pipelines, ETL, Unstructured and
Structured Data Storage, Real-Time Data Ingestion
[Adapted from https://hackernoon.com/the-ai-hierarchy-of-needs-18f111fcc007?gi=7e13a696e469 ]
Analytics
Prediction
![Page 6: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/6.jpg)
AI Hierarchy of Needs
7
DDL
(Distributed
Deep Learning)
Deep Learning,
RL, Automated ML
A/B Testing, Experimentation, ML
B.I. Analytics, Metrics, Aggregates,
Features, Training/Test Data
Reliable Data Pipelines, ETL, Unstructured and
Structured Data Storage, Real-Time Data Ingestion
Hops
[Adapted from https://hackernoon.com/the-ai-hierarchy-of-needs-18f111fcc007?gi=7e13a696e469 ]
![Page 7: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/7.jpg)
Deep Learning Hierarchy of Scale
8#EUai8
DDL
AllReduce
on GPU Servers
DDL with GPU Servers
and Parameter Servers
Parallel Experiments on GPU Servers
Single GPU
Many GPUs on a Single GPU Server
Days/Hours
Days
Weeks
Minutes
Training Time for ImageNet
Hours
![Page 8: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/8.jpg)
Deep Learning Hierarchy of Scale
9#EUai8
Public
Clouds
On-Premise
Single GPU
Multiple GPUs on a Single GPU Server
DDL
AllReduce
on GPU Servers
DDL with GPU Servers
and Parameter Servers
Single GPU
Many GPUs on a Single GPU Server
Parallel Experiments on GPU Servers
Single Host DL
Distributed DL
![Page 9: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/9.jpg)
DNN Training Time and Researcher Productivity
• Distributed Deep Learning
– Interactive analysis!
– Instant gratification!
• Single Host Deep Learning
– Google-Envy
10
“My Model’s Training.”
Training
![Page 10: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/10.jpg)
What Hardware do you Need?
• SingleRoot PCI Complex Server*– 10 Nvidia GTX 1080Ti
• 11 GB Memory
– 256 GB Ram
– 2 Intel Xeon CPUs
– 2x56 Gb Infiniband
15K Euro
• Nvidia DGX-1– 8 Nvidia Tesla P100/V100
• 16 GB Memory
– 512 GB Ram
– 2 Intel Xeon CPUs
– 4x100 Gb Infiniband
– NVLink**
up to 150K Euro
*https://www.servethehome.com/single-root-or-dual-root-for-deep-learning-gpu-to-gpu-systems
**https://www.microway.com/hpc-tech-tips/comparing-nvlink-vs-pci-e-nvidia-tesla-p100-gpus-openpower-servers/
![Page 11: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/11.jpg)
12#EUai8
SingleRoot
Complex Server
with 10 GPUs
[Images from: https://www.microway.com/product/octoputer-4u-10-gpu-server-single-root-complex/ ]
![Page 12: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/12.jpg)
Tensorflow GAN Training Example*
13#EUai8
*https://www.servethehome.com/deeplearning11-10x-nvidia-gtx-1080-ti-single-root-deep-learning-server-part-1/
![Page 13: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/13.jpg)
Cluster of Commodity GPU Servers
14#EUai8
InfiniBand
Max 1-2 GPU Servers per Rack (2-4 KW per server)
![Page 14: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/14.jpg)
Spark and TF – Cluster Integration
15#EUai8
Training Data and Model Store
Cluster Manager
Single GPU
Experiment
Parallel Experiments
(HyperParam Tuning)
Distributed
Training JobDeprecated
Mix of commodity GPUs and more
powerful GPUs good for (1) parallel
experiments and (2) distributed training
![Page 15: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/15.jpg)
GPU Resource Requests in Hops
16#EUai8
HopsYARN (Supports GPUs-as-a-Resource)
4 GPUs on any host
10 GPUs on 1 host
100 GPUs on 10 hosts with ‘Infiniband’
20 GPUs on 2 hosts with ‘Infiniband_P100’
HopsHopsFS
![Page 16: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/16.jpg)
HopsFS: Next Generation HDFS*
17
16xThroughput
FasterBigger
*https://www.usenix.org/conference/fast17/technical-sessions/presentation/niazi**https://eurosys2017.github.io/assets/data/posters/poster09-Niazi.pdf
37xNumber of files
Scale Challenge Winner (2017)
Small Files**
![Page 17: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/17.jpg)
TensorFlow Spark API Integration
• Tight Integration
– Databricks’ Tensorframes and Deep Learning Pipelines
• Loose Integration
– TensorFlow-on-Spark, Hops TfLauncher
• PySpark as a wrapper for TensorFlow
18#EUai8
![Page 18: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/18.jpg)
Deep Learning Pipelines
19#EUai8
graph = tf.Graph() with tf.Session(graph=graph) as sess:
image_arr = utils.imageInputPlaceholder()
frozen_graph = tfx.strip_and_freeze_until(…)
transformer = TFImageTransformer(…)
image_df = readImages("/data/myimages")processed_image_df = transformer.transform(image_df)
…select image, driven_by_007(image) as probability from car_examples
order by probability desc limit 6
Inferencing possible with SparkSQL
![Page 19: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/19.jpg)
Hops TfLauncher – TF in Spark
def model_fn(learning_rate, dropout):
import tensorflow as tf
from hops import tensorboard, hdfs, devices
…..
from hops import tflauncher
args_dict = {'learning_rate': [0.001], 'dropout': [0.5]}
tflauncher.launch(spark, model_fn, args_dict)
20
Launch TF jobs as Mappers in Spark
“Pure” TensorFlow code
in the Executor
![Page 20: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/20.jpg)
Hops TfLauncher – Parallel Experiments
21#EUai8
def model_fn(learning_rate, dropout):
…..
from hops import tflauncher
args_dict = {'learning_rate': [0.001, 0.005, 0.01], 'dropout': [0.5, 0.6, 0.7]}
tflauncher.launch(spark, model_fn, args_dict)
Launches 3 Executors with 3 different Hyperparameter
settings. Each Executor can have 1-N GPUs.
![Page 21: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/21.jpg)
New TensorFlow APIs
tf.data.Dataset tf.estimator.Estimator tf.data.Iterator
22#EUai8
def model_fn(features, labels, mode, params):…
dataset = tf.data.TFRecordDataset([“/v/f1.tfrecord", “/v/f2.tfrecord"])dataset = dataset.map(...)dataset = dataset.shuffle(buffer_size=10000)dataset = dataset.batch(32)iterator = Iterator.from_dataset(dataset) ….nn = tf.estimator.Estimator(model_fn=model_fn, params=dict_hyp_params)
Prefer over RDDs-to-feed_dict
![Page 22: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/22.jpg)
Distributed TensorFlow
• AllReduce
– Horovod by Uber with MPI/NCCL
– Baidu AllReduce/MPI in TensorFlow/contrib
• Distributed Parameter Servers
– TensorFlow-on-Spark
– Distributed TensorFlow
23#EUai8
DDL
AllReduce
on GPU Servers
DDL with GPU Servers
and Parameter Servers
![Page 23: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/23.jpg)
Asynchronous SGD vs Synchronous SGD
• Synchronous Stochastic Gradient Descent (SGD) now dominant,
due to improved convergence guarantees:
– “Revisiting Synchronous SGD”, Chen et al, ICLR 2016
https://research.google.com/pubs/pub45187.html
24
![Page 24: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/24.jpg)
Distributed TF with Parameter Servers
25
Synchronous SGD
with Data Parallelism
![Page 25: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/25.jpg)
Tensorflow-on-Spark (Yahoo!)• Rewrite TensorFlow apps to Distributed TensorFlow
• Two modes:
1. feed_dict: RDD.mapPartitions()
2. TFReader + queue_runner: direct HDFS access from Tensorflow
26[Image from https://www.slideshare.net/Hadoop_Summit/tensorflowonspark-scalable-tensorflow-learning-on-spark-clusters]
![Page 26: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/26.jpg)
TFonSpark with Spark Streaming
27#EUai8
[Image from https://www.slideshare.net/Hadoop_Summit/tensorflowonspark-scalable-tensorflow-learning-on-spark-clusters]
![Page 27: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/27.jpg)
All-Reduce/MPI
28
GPU 0
GPU 1
GPU 2
GPU 3
send
send
send
send
recv
recv
recv
recv
![Page 28: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/28.jpg)
AllReduce: Minimize Inter-Host B/W
29
Only one slow
worker or comms
link is needed to
bottleneck DNN
training time.
![Page 29: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/29.jpg)
AllReduce Algorithm• AllReduce sums all Gradients in N Layers (L1..LN)
using N GPUs in parallel (simplified steps shown).
GPU 0
GPU 1
GPU 2
GPU 3
L1 L2 L3 L4
L1 L2 L3 L4
L1 L2 L3 L4
L1 L2 L3 L4
Backprop
![Page 30: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/30.jpg)
AllReduce Algorithm
GPU 0
GPU 1
GPU 2
GPU 3
L10+L11+L12+L13 L2 L3 L4
Backprop
L10+L11+L12+L13 L2 L3 L4
L10+L11+L12+L13 L2 L3 L4
L10+L11+L12+L13 L2 L3 L4
• Aggregate Gradients from the first layer (L1) while
sending Gradients for L2
![Page 31: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/31.jpg)
AllReduce Algorithm
GPU 0
GPU 1
GPU 2
GPU 3
Backprop
L10+L11+L12+L13 L20+L21+L22+L23 L3 L4
L10+L11+L12+L13 L20+L21+L22+L23 L3 L4
L10+L11+L12+L13 L20+L21+L22+L23 L3 L4
L10+L11+L12+L13 L20+L21+L22+L23 L3 L4
• Broadcast Gradients from higher layers while
computing Gradients at lower layers.
![Page 32: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/32.jpg)
AllReduce Algorithm
GPU 0
GPU 1
GPU 2
GPU 3
Backprop
L10+L11+L12+L13 L20+L21+L22+L23 L30+L31+L32+L33 L4
L10+L11+L12+L13 L20+L21+L22+L23 L30+L31+L32+L33 L4
L10+L11+L12+L13 L20+L21+L22+L23 L30+L31+L32+L33 L4
L10+L11+L12+L13 L20+L21+L22+L23 L30+L31+L32+L33 L4
• Nearly there.
![Page 33: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/33.jpg)
AllReduce Algorithm
GPU 0
GPU 1
GPU 2
GPU 3
L10+L11+L12+L13 L20+L21+L22+L23 L30+L31+L32+L33 L40+L41+L42+L43
L10+L11+L12+L13 L20+L21+L22+L23 L30+L31+L32+L33 L40+L41+L42+L43
L10+L11+L12+L13 L20+L21+L22+L23 L30+L31+L32+L33 L40+L41+L42+L43
L10+L11+L12+L13 L20+L21+L22+L23 L30+L31+L32+L33 L40+L41+L42+L43
• Finished an iteration.
![Page 34: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/34.jpg)
Hops AllReduce/Horovod/TensorFlow
35#EUai8
import horovod.tensorflow as hvd
def conv_model(feature, target, mode)
…..
def main(_):
hvd.init()
opt = hvd.DistributedOptimizer(opt)
if hvd.local_rank()==0:
hooks = [hvd.BroadcastGlobalVariablesHook(0), ..]
…..
else:
hooks = [hvd.BroadcastGlobalVariablesHook(0), ..]
…..
from hops import allreduce
allreduce.launch(spark, 'hdfs:///Projects/…/all_reduce.ipynb')
“Pure” TensorFlow code
![Page 35: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/35.jpg)
Parameter Server vs AllReduce (Uber)*
36*https://github.com/uber/horovod
Setup: 16 servers with 4 P100 GPUs each connected by 40 Gbit/s network (synthetic data).
VGG
model
is larger
![Page 36: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/36.jpg)
Dist. Synchnrous SGD: N/W is the Bottleneck
37
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
1 2 3 4 5 6 7 8 9 10
1 GPU 4 GPUs
N/W N/W N/W N/W N/W
Amount
Work
Time
Reduce N/W Comms Time, Increase Computation Time
Amdahl’s Law
![Page 37: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/37.jpg)
Hopsworks:Tensorflow/Spark-as-a-Service
38#EUai8
![Page 38: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/38.jpg)
Hopsworks: Full AI Hierarchy of Needs
39
Develop Train Test Deploy
MySQL Cluster
Hive
InfluxDB
ElasticSearch
KafkaProjects,Datasets,Users
HopsFS / YARN
Spark, Flink, Tensorflow
Jupyter, Zeppelin
Jobs, Kibana, Grafana
REST
API
Hopsworks
![Page 39: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/39.jpg)
Proj-42
Hopsworks Abstractions
40
A Project is a Grouping of Users and Data
Proj-X
Shared TopicTopic /Projs/My/Data
Proj-AllCompanyDB
Ismail et al, Hopsworks: Improving User Experience and Development on Hadoop with Scalable, Strongly Consistent Metadata, ICDCS 2017
![Page 40: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/40.jpg)
Per-Project Conda Libs in Hopsworks
41#EUai8
![Page 41: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/41.jpg)
Dela*
42
Peer-to-Peer Search and Download for Huge DataSets
(ImageNet, YouTube8M, MsCoCo, Reddit, etc)
*http://ieeexplore.ieee.org/document/7980225/ (ICDCS 2017)
![Page 42: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/42.jpg)
DEMO
43#EUai8
Register and Play for today:
http://spark.hops.site
![Page 43: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/43.jpg)
Conclusions
• Many good frameworks for TF and Spark
– TensorFlowOnSpark, Deep Learning Pipelines
• Hopsworks support for TF and Spark
– GPUs-as-a-Resource in HopsYARN
– TfLauncher, TensorFlow-on-Spark, Horovod
– Jupyter with Conda Support
• More on GPU-Servers at www.logicalclocks.com
44#EUai8
![Page 44: Scaling out Tensorflow-as-a-Service on Spark and Commodity GPUs](https://reader034.vdocuments.mx/reader034/viewer/2022052418/5a64d6017f8b9a88148b5861/html5/thumbnails/44.jpg)
Jim Dowling, Seif Haridi, Gautier Berthou, Salman Niazi, Mahmoud Ismail, Theofilos Kakantousis, Ermias Gebremeskel, AntoniosKouzoupis, Alex Ormenisan, Fabio Buso, Robin Andersso,n August Bonds, Filotas Siskos, Mahmoud Hamed.
Active:
Alumni:
Roberto Bampi, ArunaKumari Yedurupaka, Tobias Johansson, Fanti Machmount Al Samisti, Braulio Grana, Adam Alpire, Zahin Azher Rashid, Vasileios Giannokostas, Johan SvedlundNordström,Rizvi Hasan, Paul Mälzer, Bram Leenders, Juan Roca, Misganu Dessalegn, K “Sri” Srijeyanthan, Jude D’Souza, Alberto Lorente, Andre Moré, Ali Gholami, Davis Jaunzems, StigViaene, Hooman Peiro, Evangelos Savvidis, Steffen Grohsschmiedt, Qi Qi, GayanaChandrasekara, Nikolaos Stanogias, Daniel Bali, Ioannis Kerkinos, Peter Buechler, PushparajMotamari, Hamid Afzali, Wasif Malik, Lalith Suresh, Mariano Valles, Ying Lieu.
Please Follow Us!
@hopshadoop
Hops Heads
Please Star Us!http://github.com/
hopshadoop/hopsworks