HPC forum

Hello all,
Is there a section in this FreeBSD forum that exclusively dedicated to high-performance computing (HPC) discussions by FreeBSD?
Thank you.
 
There is not.

It is not clear that such a thing would even make sense, with *BSD is no longer used in HPC, and hasn't been in a decade or more (including its derivates, such as Ultrix).
 
with *BSD is no longer used in HPC, and hasn't been in a decade or more (including its derivates, such as Ultrix).
I don't think so.
For example, DragonflyBSD could be used for HPC because of its parallel processing super support. So, FreeBSD (As a DragonflyBSD father) should be tunable for HPC usage.
 
Maybe it could be used, but it isn't today. As a matter-of-fact, in the last 7 or 8 years, all the computers on the TOP500 list have been running Linux; I think the last non-Linux systems on that list were AIX.

This graph can be found here:
 
I am writing a book about FreeBSD for HPC projects.
I would appreciate it if you could point me to the main reasons why FreeBSD is not considered as an HPC operating system? Is it related to not porting some software to FreeBSD (like MATLAB)? Or is there some other problem with FreeBSD's kernel that it cannot be used as an HPC operating system due to other more important features? Thank you for your time.
 
What does Matlab have to do with HPC? Matlab is a program that runs on one computer. The last single-computer HPC system must have been a Cray of the 1990s; since then all HPC has been done on large clusters.

To build an HPC system, you need a lot of things. You need lots and lots of CPUs; for example, to get to around place 400 of the TOP500 list, you need about 3000 CPU chips with about 60K cores. You need an industrial-strength network to connect all these machines, since in a cluster this bug there will be lots of network traffic. You need an OS that is carefully crafted and tuned to handle both the heavy CPU load and the network IO very efficiently. You need a lot of other software too; batch scheduling system, management/administration/supervision systems, cluster storage systems. Imagine what happens when 3000 computers all simultaneously want to read and write the same file, or when a million computers all want to create 1000 files each in a single directory (yes, I've seen a directory grow to roughly a billion directory entries, and it was not a pretty sight). For interprocess communication, people usually use big libraries, with MPI being the most popular one. In today's AI-dominated and floating-point intensive world, you need the ability to use accelerators (with the most common one being GPUs, often AMD or Nvidia, usually tens or hundreds of thousands of them).

All that stuff is supported, tested, highly tuned, and well debugged on Linux. Tens of thousands of man-years have gone into doing this there. BSD would need a lot of investment to catch up. When I worked at one of the largest maker of HPC computers, budgets for projects were typically $100M to $250M (that's M for million). Our group alone (which worked only on one small aspect of it, the cluster POSIX file system) had many dozens of people.

I think this train left the station a long time ago.
 
I knew that HPC needs super cluster-based computers for best result but this is not my answer. Some of beginner HPC users interested in using huge cuda cores in their PCs and not using clusters.

Also, mentioning the huge budget requirement is not the main subject for sure.

Is there any kernel features conflict or also license restrictions in FreeBSD avoid being as an HPC operating system?

Thank you.
 
Some of beginner HPC users interested ... in their PCs and not using clusters.
I have not heard "HPC" and "PC" in the same sentence, ever. HPC used to be done on large machines (360/91, 370/195, CDC Cyber, ETA, Cray, ...), then on minisupers (Convex, Sequent, ...), then on clusters, sort of starting with the SP2. A lot of the issues that arise when doing HPC do not even exist on a single PC.

I'm sure that if you want to do numeric computation on a single BSD machine, the only stopping block would be the lack of already ported software. And porting from Linux should not be too hard, as long as the compilers are available, and the code is not too Linux-specific. The performance might not be as good (as the tuning is lacking), but it might be viable. The only question is: Why would one want to start that on BSD, if the growth path (scaling out to multiple machines) is 100% occupied by Linux?
 
I have not heard "HPC" and "PC" in the same sentence, ever. HPC used to be done on large machines (360/91, 370/195, CDC Cyber, ETA, Cray, ...), then on minisupers (Convex, Sequent, ...), then on clusters, sort of starting with the SP2. A lot of the issues that arise when doing HPC do not even exist on a single PC.

I'm sure that if you want to do numeric computation on a single BSD machine, the only stopping block would be the lack of already ported software. And porting from Linux should not be too hard, as long as the compilers are available, and the code is not too Linux-specific. The performance might not be as good (as the tuning is lacking), but it might be viable. The only question is: Why would one want to start that on BSD, if the growth path (scaling out to multiple machines) is 100% occupied by Linux?
Ok, I got the answers are not at all convincing and seem a bit biased towards using Linux For example, several universities use H100 and also RTX6000 GPU on PCs for HPC AI and data mining which is very economical way for HPC. This is a just small example that can use PC for HPC but never mind. Thank you.
 
Back
Top