K8s & HPC
Requirement
Hello, Kubernetes newbie here. I'm currently running docker on a inhouse hpc (on each node) and submiting to them using a queuing/scheduling system (Slurm). I'd like to replicate similar capabilities in the cloud. E.g. workflow would be (might be wrong): give start signal from local hpc, upload docker container and scripts, create kubernetes cluster (probably around 10 nodes with 16 cores each), submit jobs, let them run, bring back data locally, shutdown cloud.
Does that sound right? Where should i start? Thanks.
http://www.d1net.com/storage/enterprise/442273.html
SGE :Grid Engine
AWS上的HPC
使用starCluster来构建cluster,使用的queue system 是SGE
http://star.mit.edu/cluster/
https://github.com/spagnuolocarmine/amazonhpc
https://aws.amazon.com/solutions/case-studies/san-francisco-state-university/
Azure上的HPC
https://github.com/Azure/azure-bigcompute
HPC上的应用,通常用MPI去开发并行计算的application.
并行计算
http://www.konvigne.com/index.php/2017/03/21/200/
并行计算和分布式计算的不同之处:
分布式计算是一种把需要进行大量计算的工程数据分区成小块,由多台联网计算机分别处理,在上传处理结果后,将结果统一合并得出数据结论的科学
首先来比较下分布式计算与并行计算的异同。其相同之处都是将复杂任务化简为多个子任务,然后在多台计算机同时运算。不同之处在于分布式计算是一个比较松散的结构,实时性要求不高,可以跨越局域网在因特网部署运行,大量的公益性项目(如黑洞探索、药物研究、蛋白质结构分析等)大多采用这种方式,而并行计算是需要各节点之间通过高速网络进行较为频繁地通信,节点之间具有较强的关联性,主要部署在局域网内。
在分布式计算的算法中,我们更加关注的是计算机间的通信而不是算法的步骤,因为分布式计算的通信代价比起单节点对整体性能的影响权重要大得多。