<div dir="ltr">Thank you folks,<div><br></div><div>Your inputs are very valuable. Yes, StackHPC is a great source and whenever I search anything about HPC i endup on their website :)  Thank you Mark for great work. I would sure like to come and listen to the SIG meetup. </div><div><br></div><div>8 year ago I was part of a large HPC project where we had 2000 physical compute nodes coupled with Infiniband fabric (no openstack) and we were using an LSF scheduler with Luster and ZFS for backend storage. </div><div><br></div><div>This is what I am trying to do with openstack HPC. We built kolla-ansible using 40 compute nodes which include 20 IB nodes which have infiniband fabric, 10 GPU nodes and the remaining Memory nodes which have lots of memory. My clients are students so mostly they are looking for virtualized HPC where they can reserve resources and build their own cluster using Slurm, Condor or Spark whatever they want. We are using all virtualized so Infiniband mellanox configure for SRIOV passthrough to expose directly to VM. We have a VM-to-VM infiniband network for high speed messaging. </div><div><br></div><div>I have put all those stuff in my blog here: <a href="https://satishdotpatel.github.io/HPC-on-openstack/">https://satishdotpatel.github.io/HPC-on-openstack/</a> </div><div><br></div><div>Now I want to use storage to meet my needs, i don't know at present because I don't know how and what application they are going to use. let's say i start with CephFS and folk are not happy then i have to change storage to Luster or maybe something else. Another question: what people use from scratch for HPC ( assuming it's going to be a local disk because of high I/O rate). </div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Mar 3, 2022 at 4:33 AM Manuel Holtgrewe <<a href="mailto:zyklenfrei@gmail.com">zyklenfrei@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
I guess it really depends on what HPC means to you ;-)<br>
<br>
Do your users schedule nova instances? Can you actually do Infiniband<br>
RDMA between nova VMs? Or are your users scheduling ironic instances<br>
via nova?<br>
<br>
We have an openstack setup based on kayobe/kolla where we:<br>
<br>
- Deploy 8 hyperconverged OpenStack nova libvirt compute+Ceph storage<br>
(mostly for block storage and cephfs comes in handy for shared file<br>
systems, e.g., for shared state in Slurm) servers.<br>
- Deploy 300+ bare metal compute nodes via ironic.<br>
- Use Slurm for the job scheduler.<br>
- Setup everything after the bare OS with Ansible.<br>
- Have login nodes and slurm scheduler etc. run in nova VMs.<br>
- Only have Ethernet interconnect (100/25GbE for central switches and<br>
recent servers and 40/10GbE for older servers).<br>
<br>
So we are using OpenStack nova+libvirt as a unified way of deploying<br>
virtual and physical machines and then install them as we would do<br>
with normal servers. That's a bit non-cloudy (as far as I have<br>
learned) but works really well for us.<br>
<br>
Now to your HPC storage question... that I hope to answer a bit indirectly.<br>
<br>
The main advantage for using manila with CephFS (that I can see) is<br>
that you get the openstack goodies of API and Horizon clients for<br>
managing shares. I guess this is mostly useful if you want to have<br>
cloud features for your HPC such as users allocating storage in<br>
self-service to their nova/ironic machines. We come from a classic HPC<br>
setting where the partitioning of the system is not done by creating<br>
multiple nodes/clusters by users in self-service, but rather<br>
administration provides a bare metal cluster with Slurm scheduler.<br>
Users log in to head nodes and submit jobs to the compute nodes to<br>
Slurm. Thus Slurm does the managing of resources and users can<br>
allocate single cores up to the whole cluster. So in our use case<br>
there would not be a major advantage of using manila for our storage<br>
as we would primarily have one export that gives access to the whole<br>
storage ;-).<br>
<br>
We currently have an old GPFS storage that we mount on all nodes via<br>
Ansible. We are currently migrating to using an additional, dedicated<br>
NVME-based ceph cluster (that is not hyperconverged with our compute)<br>
and that we would also mount via Ansible. As we essentially only have<br>
a single share on this storage managing the share with manila would be<br>
more trouble than work. The much more important part will be setting<br>
up Ceph appropriately and tuning it to perform well (e.g., using the<br>
IO500 benchmark as the croit people demonstrate here [1]).<br>
<br>
I guess that does not really answer your question but I hope that it<br>
gives useful perspective to you and maybe others.<br>
<br>
You can look at the work of the wonderful people of StackHPC that<br>
provide commercial services around Openstack/Kayobe/Kolla/Ironic for<br>
HPC setups. There are a couple of interesting videos involving their<br>
staff and they have very useful information on the web site as well.<br>
And as Mark Goddard just wrote you can have a look at the Scientific<br>
SIG where they are involved as well. (I'm not in any way related to<br>
StackHPC, I just really like their work).<br>
<br>
Best wishes,<br>
Manuel<br>
<br>
[1] <a href="https://croit.io/blog/ceph-performance-test-and-optimization" rel="noreferrer" target="_blank">https://croit.io/blog/ceph-performance-test-and-optimization</a><br>
<br>
On Thu, Mar 3, 2022 at 9:25 AM Mahendra Paipuri<br>
<<a href="mailto:mahendra.paipuri@cnrs.fr" target="_blank">mahendra.paipuri@cnrs.fr</a>> wrote:<br>
><br>
> Hello,<br>
><br>
> We are quite interested in this too. When we were looking into existing<br>
> solutions, we found there has been some work in integrating LUSTRE into<br>
> OpenStack [1], [2]. I remember coming across some Openinfra talks on<br>
> developing a manila backend driver for LUSTRE. I am not quite sure if<br>
> this project is still ongoing. Manila already provides a backend driver<br>
> for GPFS [3] (unfortunately GPFS is not opensource) to readily integrate<br>
> it into Openstack. Manila supports GlusterFS and CephFS as well but they<br>
> do not have RDMA support (if I am not wrong).<br>
><br>
> This is pretty much what we found. Would be glad explore more solutions<br>
> if someone knows any.<br>
><br>
> Cheers<br>
><br>
> -<br>
><br>
> Mahendra<br>
><br>
> [1]<br>
> <a href="https://docs.google.com/presentation/d/1kGRzcdVQX95abei1bDVoRzxyC02i89_m5_sOfp8Aq6o/htmlpresent" rel="noreferrer" target="_blank">https://docs.google.com/presentation/d/1kGRzcdVQX95abei1bDVoRzxyC02i89_m5_sOfp8Aq6o/htmlpresent</a><br>
><br>
> [2]<br>
> <a href="https://www.openstack.org/videos/summits/barcelona-2016/lustre-integration-for-hpc-on-openstack-at-cambridge-and-monash" rel="noreferrer" target="_blank">https://www.openstack.org/videos/summits/barcelona-2016/lustre-integration-for-hpc-on-openstack-at-cambridge-and-monash</a><br>
><br>
> [3] <a href="https://docs.openstack.org/manila/latest/admin/gpfs_driver.html" rel="noreferrer" target="_blank">https://docs.openstack.org/manila/latest/admin/gpfs_driver.html</a><br>
><br>
> On 03/03/2022 04:47, Satish Patel wrote:<br>
> > Folks,<br>
> ><br>
> > I built a 30 node HPC environment on openstack using mellanox<br>
> > infiniband nic for high speed MPI messaging. So far everything works.<br>
> > Now I am looking for a HPC PFS (parallel file system)  similar to<br>
> > Luster which I can mount on all HPC vms to run MPI jobs.<br>
> ><br>
> > I was reading on google and saw some CERN videos and they are using<br>
> > Ceph (cephfs) for PFS. Also i was reading CephFS + Manila is a good<br>
> > choice for HPC on openstack design.<br>
> ><br>
> > Does anyone have any experience with HPC storage for Openstack? Please<br>
> > advice or share your experience :)  Thanks in advance.<br>
> ><br>
> > ~S<br>
><br>
<br>
</blockquote></div>