<div dir="ltr"><div><div><div><div><div><div>Hi Robert, <br><br></div>Thanks for your reply. <br><br></div>I am pretty sure the storage is going over ethernet (cat6 gigabit, 10gig copper is comming soon, maybe). I was not aware I could use NFS over IB.<br><br></div>I will try running the tests over the weekend. <br><br></div>thanks for the tip.<br><br></div>Best, <br><br></div>leo<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 10 Aug 2023 at 21:43, Robert Taylor <<a href="mailto:rgt@wi.mit.edu">rgt@wi.mit.edu</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"><div dir="ltr">Two 4tb spinning drives are not going to have a lot of throughput, and with 40 tasks all working on different files, if it's random IO, I think they will get crushed.<div><br></div><div>What are the sequential read and write rates from any one node doing single threaded io to the nfs server?</div><div><br></div><div>Can you do a dd test?</div><div>This should write a 1gig file straight from memory on the node it is run on.</div><div><br></div><div>dd if=/dev/zero of=/mnt/nfsshare bs=1M count=1000</div><div><br></div><div>(make sure zfs compression is off, or that will give bogus numbers)</div><div>You should get a time summary, and a throughput speed.</div><div>That is pure sequential IO that comes from memory, which is probably the best that one machine can do, (unless the dd becomes cpu bound).</div><div><br></div><div>We have some high end netapp and isilon storage systems where I work, and I've gotten between 400MB/s to 1GB/s out of nfs, and the 1gig I believe was bottlenecked at the source node, because all it had was a 10 gig connection to the network. Once I can get the nodes to 25g, I will test again, but I'm not there yet. </div><div><br></div><div>Also are you sure the storage is going over IB and not gige? (is the cat6e 1gig ethernet, or do you have copper 10gig)</div><div><br></div><div>rgt</div><div><br></div><div><br></div><div><br><div><div><br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 10, 2023 at 3:29 PM Bernd Schubert <<a href="mailto:bernd.schubert@fastmail.fm" target="_blank">bernd.schubert@fastmail.fm</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"><br>
<br>
On 8/10/23 21:18, leo camilo wrote:<br>
> Hi everyone,<br>
> <br>
> I was hoping I would seek some sage advice from you guys.<br>
> <br>
> At my department we have build this small prototyping cluster with 5 <br>
> compute nodes,1 name node and 1 file server.<br>
> <br>
> Up until now, the name node contained the scratch partition, which <br>
> consisted of 2x4TB HDD, which form an 8 TB striped zfs pool. The pool is <br>
> shared to all the nodes using nfs. The compute nodes and the name node <br>
> and compute nodes are connected with both cat6 ethernet net cable and <br>
> infiniband. Each compute node has 40 cores.<br>
> <br>
> Recently I have attempted to launch computation from each node (40 tasks <br>
> per node), so 1 computation per node.  And the performance was abysmal. <br>
> I reckon I might have reached the limits of NFS.<br>
> <br>
> I then realised that this was due to very poor performance from NFS. I <br>
> am not using stateless nodes, so each node has about 200 GB of SSD <br>
> storage and running directly from there was a lot faster.<br>
> <br>
> So, to solve the issue,  I reckon I should replace NFS with something <br>
> better. I have ordered 2x4TB NVMEs  for the new scratch and I was <br>
> thinking of :<br>
> <br>
>   * using the 2x4TB NVME in a striped ZFS pool and use a single node<br>
>     GlusterFS to replace NFS<br>
>   * using the 2x4TB NVME with GlusterFS in a distributed arrangement<br>
>     (still single node)<br>
> <br>
> Some people told me to use lustre,but I reckon that might be overkill. <br>
> And I would only use a single fileserver machine(1 node).<br>
> <br>
> Could you guys give me some sage advice here?<br>
> <br>
<br>
So glusterfs is using fuse, which doesn't have the best performance <br>
reputation (although hopefully not for long - feel free to search for <br>
"fuse" + "uring").<br>
<br>
If you want to avoid complexity of Lustre, maybe look into BeeGFS. Well, <br>
I would recommend to look into it anyway (as former developer I'm biased <br>
again ;) ).<br>
<br>
<br>
Cheers,<br>
Bernd<br>
<br>
_______________________________________________<br>
Beowulf mailing list, <a href="mailto:Beowulf@beowulf.org" target="_blank">Beowulf@beowulf.org</a> sponsored by Penguin Computing<br>
To change your subscription (digest mode or unsubscribe) visit <a href="https://beowulf.org/cgi-bin/mailman/listinfo/beowulf" rel="noreferrer" target="_blank">https://beowulf.org/cgi-bin/mailman/listinfo/beowulf</a><br>
</blockquote></div>
</blockquote></div>