Explaining Cartilage by Comparison With Hadoop
March 25, 2023

Hadoop taught computing to respect the physical location of data and the shape of a cluster. Cartilage carries that spatial awareness into executable structure: code, state, routes, ownership, bandwidth, latency, and FPGA resources become parts of one reactive machine.

The leap from a data lake to Cartilage replaces ad hoc processors with object-capability membranes and hardware-instantiated behavior.

Move Computation Into Secure Objects

ETL, change-data capture, and streaming systems already organize continuous flows of changing state. Actor systems add isolated processes and message passing, while object capabilities give each process explicit authority over the resources it can reach.

Cartilage unifies those ideas in locally placed objects. Each object owns state and ports, reacts to changes, and connects through routes whose physical cost remains visible.

Scale From Switching Cells to the Whole Cluster

A sea of FPGAs supplies parallel cellular structure. Bitstreamlets instantiate behavior near the data it uses, while the runtime tracks device shape, rack topology, cable bandwidth, and propagation delay.

Brian began this architecture in 2013 to solve the von Neumann bottleneck. Distributed-systems teams, FPGA engineers, and data-platform builders can now bring a workload and help turn ten years of research into a commercial computing fabric.

Execute Explaining Cartilage by Comparison With Hadoop Through Cartilage Runtime Instantiation

Cartilage Runtime-Instantiation Architecture carries this system into nested modules that enter and connect inside a live spatial machine.

Cartilage Runtime-Instantiation Architecture · Cartilage Visual Language · Cartilage Core · public source repository

Originally posted on LinkedIn

Brian Greenforest · (2023-03-25 18:03:55 UTC)

Open the original LinkedIn post · LinkedIn activity 7045455274496704512

LinkedIn status when archived: Edited ยท Visible to anyone on or off LinkedIn.

The easiest way to explain my project codenamed "Cartilage" (under brand name "Material Programs") is to compare it with Hadoop. If you are familiar with "in-memory compute", the leap of imagination required is not that big. Database-oriented programming puts all state being processed in a swampy "lake", and now you have to solve membrane isolation and secure access issues. It's doable, but encapsulation is inherently violated by design. Next leap is reactive programming. In ETL and change data capture (CDC, don't confuse with clock domain crossing), where real time data ingestion using streaming techniques ultimately yields the same system, in its structural sense, mathematecally equivalence class to that of actor model, unified over reactive streams. Actors in the object capability model (OCAPs) maintain membrane security and controlled access to resources, which is extremely difficult to enforce in ad-hoc lambda processors and BI tools like Snowflake etc. Cartilage is also inherently parallel supercomputing cellular automata made of a sea of FPGAs. Think about it: your data being processed in object-oriented way, everywhere, securely, simultaneously. Cartilage started in the summer of 2013 as an attempt to solve the von Neumann bottleneck problem. I spent 10 years on a hardcore computer science research without raising funds. It's wild to see how far it went! It's really like Hadoop, but with code instead of data, and low-level switching on transistors, instead of Java VM and HDFS. But very similar idea of spatial awareness of how many resources are locally available, what's the shape of the server rack we're running on, and what are the bandwidth cables and topology and time delays between compute nodes, and overall shape of bigger clusters. But object-oriented reactive programming model with hardware instantiation of FPGA bitstreamlets.

Try Cartilage: Run the open one-slot multiplier.

To edit, load, save, share, and follow the browser, Raspberry Pi, and FPGA streaming work, request the private demo username and password on LinkedIn.