User Tools

Site Tools


limulus_design_philosophy

Limulus Design Philosophy

The Limulus design is based on several concepts. Many of these concepts, including commodity hardware and open software, were born during the early days of the Beowulf Cluster revolution. While conventional cluster designs rightfully grew to support more users and bigger problem sizes, the Limulus approach is designed to leverage quality low-cost hardware and open software to build high-performance local compute (personal HPC) and Edge Computing systems.

In this day and age, cloud computing offers many options to “on-premises” (on-prem) computing. Limulus personal or Edge computing is not designed to replace either local on-prem (data center) or cloud-based computing, but rather to augment these other resources. Indeed, for many Limulus users the freedom to “own the reset switch” (and subsequent software/hardware stacks) is one the compelling advantages of local HPC and Data Analyics computing.

The requirement for high performance at a reasonable cost is inherent in all Limulus systems. To meet this requirement, all systems are designed to be as “close to the metal” as possible. Thus, Limulus systems resemble a traditional cluster design with very few abstraction layers. The remainder of this page discusses the key design philosophy behind each Limulus System.

Use Commodity Hardware

On of the key aspects of modern cluster computing is the commodity nature of hardware. In general, “commodity” provides multiple sources and competitive pricing. In addition, commodity hardware does not lock-in users to a particular vendor or type of hardware.

In general, the commodity hardware segment has stratified into desk-top and server segments. While the needs of each segment vary, modern X86 processors are based on the same internal design, and the lower-cost desk-top processors can achieve a significant percentage of more powerful server processor performance at a much lower cost. In addition, virtually all mass-produced desk-top-level hardware (motherboards, video cards, memory, storage) is available at lower cost than the equivalent server-level (enterprise) hardware.

The two types of hardware are not equivalent, however, and there are features available (at additional cost) at the server level that are not needed at the desk-top level of computing. Some of these features are important to HPC computing and others are not. All Limulus designs use the “best of breed” (high quality) hardware from the desk-top market combined with server level components to provide a good balance of price-to-performance and reliability.

Low Core Count, Fast Processors

One of the key design concepts is based on modern processor designs. Virtually all modern processors are based on multi-core designs. There are two concerns when using higher core (e.g. 16+ cores) count multi-core processors. These are heat and memory bandwidth.

As clock speeds increase, the amount of heat that must be removed from the processors increases. At a given manufacturing level, the more cores that are added to a processor, the more heat that is generated. In order to mitigate this heat, modern multi-core processors with high core counts run at a lower base clock frequency. If all cores are NOT needed, the clocks for the running cores can be increased, however, for HPC applications, all available cores are normally in use and the cores effectively run at their base frequencies.

In terms of memory bandwidth, a large number of cores can create contention for memory access. Thus, for applications that require good memory access (e.g. most HPC applications), the choice of high core count processors may actually provide a lower number of “effective cores” than expected.

The Limulus design uses processors designed for the desk-top. In general, these processors are designed with lower core counts and higher clock rates than server-level processors. Combined with a high speed/bandwidth interconnect (currently 25 GbE), cluster applications from the HPC and Data Analytics segments can be efficiently run on Limulus systems with a high level of performance. To be fair, desk-top systems often have limited memory bandwidth when compared to server processors and much of the performance can be application-dependent (benchmarking is important!).

Use Open Software

In HPC and Data Analytics, the use of open software is virtually standard. The reasons for this go back to the original Beowulf approach, and the advantages clearly out weigh any disadvantages. Like commodity hardware, users are not locked in to any specific software vendor (unless they choose to be so). The advantage of leading-edge open development combined with the ability to choose how to use the software is important to many users (and often extends the useful life of hardware). For these reasons, all Limulus Systems are built with 100% open-source software, beginning with the Linux operating system.

Low Power, Noise, Heat

One of the key design aspects of Limulus computing is the ability to deploy high-performance Limulus systems almost anywhere. Most server-level hardware makes assumptions about data-center available power, cooling, and noise levels (i.e. fan noise). Using data-center equipment in an office, lab, classroom, or home may not be possible due to specific requirements (e.g. electrical requirements my exceed typical office wiring, generation of heat may exceed local HVAC designs, and fan noise may limit the ability to use the phone or have conversations).

All Limulus systems are designed with “non-data center” power, heat, and noise profiles. For example, all Limulus systems can operate in an office environment using standard electrical service, with low heat and noise generation.

The ability to operate virtually anywhere is accomplished through careful design using low power components (e.g. 65W processors) and efficient and quiet cooling designs (e.g. large variable speed fans).

Another unique feature of the Limulus design is the ability to turn off unused worker nodes and thus reduce the power footprint even further. An HPC Limulus system can operate as a single node workstation and start additional processing nodes as needed. In this scenario, worker node startup and shutdown can be placed under the control of the Slurm resource manager and nodes can be started as needed based on the jobs submitted to the work queue.

Optimize Price, Performance, Convenience

The final design concept is to package all the above features into a low-cost, high-performance, easily managed, well-documented personal high-performance computing system. This goal is achieved though careful design and testing of components combined with integration of open software. All standard software including all Limulus utilities is managed through RPM packages and the Yum package manager.

The end result is a high-performance, turn-key, open, manageable, and supportable HPC and Data Analytics workstation appliance.

limulus_design_philosophy.txt · Last modified: 2021/05/03 14:24 by brandonm