Thank you for your reply. Here are the answers to your questions:
1. I'm assuming you intend to use cephfs (as opposed to rbd over iscsi.)
Actually, I'd love to use a block device, but I'm still new to ceph and don't know if it's possible to share it over iSCSI with all the workstations (like you can't share a single iSCSI drive with many workstations). Let's assume the fastest available path for sharing.
2. what is the minimum required bandwidth per connection? (what bitrate are you working with?)
Only a handful of workstations require really high bandwitch, in the realm of 1 GB/s simultaneously (as of today; but the plan is going up to 4GB/s in the future). The rest are fine with around 500 MB/s or even less. It's a rare occurrence that everyone is pulling data at the exact same time from the server we currently use (a Symply FibreChannel Stornext 100 TB appliance), but of course the idea is to improve the speeds with time.
3. what is the interconnect to the clients?
10GbE over fiber. Eventually we can go to 25GbE or even start with it right away. We might even put 100GbE in some workstations in the future. We're buying a 32 port 100GbE switch to manage the whole thing.
4. do you have access to native cephfs clients, or will you need a network file system (eg nfs, cifs)?
I can put whatever I want in every workstation. As I said, I'd like to use block access, but anything will do as long as the speed is maintained.
5. what is the largest number of SIMULTANEOUS users?
We currently have 4 workstations requiring 1GB/s concurrently. I'd like to reach up to 4GB/s for these at some point. Another 12 workstations need at least 500 MB/s. The rest will be fine with whatever speed they get. I don't know if it's possible to segmentate the system like this. To sum it up, 16 workstations will be using the server cluster concurrently most of the time, with occasional access from the other 16.
EDIT: Just FYI, most of the workstations are Windows based, but a couple are using Linux. In the "low speed tier" we have a few Macs too. Also, I'm willing to put whatever NVMe cache is needed in every node of the cluster.