trad4 - parallelise your problems

Trad4 is a fully concurrent, thread safe, graph-based programming language that scales linearly on multiple cores. It is initially intended for deployment in the financial industry to model real-time risk.

Trad4 is proposed as an alternative to the Von Neumann model of computer architecture.


Documentation
The Manual
Download v4
Full
Small
Applications v4
jpm_cds
Applications v3
black_scholes
heat_equation_1d
general_computer
calculus
vision_thing
additive_synth
fourier_transform
Analysis
bond_risk (v3.0)

What is trad4?

Trad4 comprises of a library and a precompiler. You specify your objects using a simple syntax and run the precompiler. Trad4 produces a handful of C files for each object, including a stub file - the calculate method. This gets called each time the object needs to fire, and you need to supply the logic for. Trad4 pulls all the information that object needs to calculate itself into the scope of this function.

These source files are then compiled and together with libtrad4.so are linked into an executable. This then starts against a database.

Change is then fed into the system, and trad4 manages that change up through your graph and keeps the tree up to date in real time.

Trad4 is a new way of arranging programs in memory and a new style of flow-of-control.

Why use trad4?

It's very easy to use. To build a trad4 application to model your problem you need just a good understanding of your problem and knowledge of a small subset of the C programming language.

It's very fast. As you decompose your problem into separate objects, this allows multiple threads to execute different parts of your problem at the same time, so a trad4 application scales linearly on multiple cores. Trad4 itself has very little overhead - there are very few instructions between an object needing to be run and it's calculate function being called.

It's very efficient. As you break your problem out into separate objects, you can arrange your graph in such a way that each individual calculation gets done only once within the application. Other objects that depend on the result of that calculation will read the result from that object.

It's very safe. While trad4 provides full concurrency, it is entirely lock-free. This means you never have to worry about obscure race conditions or deadlocks.

It's very free. Trad4 is released under the LGPL. This is the same licence gcc & glibc use, and it allows you to link trad4 to a proprietary system and release that proprietary system under any licence you choose.

Resources

The Manual:

The manual is the place to start if you'd like more information. This is the manual for the programming language itself, but several basic trad4 applications are discussed in this document, all of which are included in the Full distribution.

Downloads:

There are two v4 downloads available - Full and Small.

Full contains the trad4 source and all the applications discussed in the documentation and listed in the v4 applications section. This is the version you should choose if you are looking to learn how trad4 works and what it's capable of.

Small just contains the trad4 code and test_app, and is the version you should choose if you intend to deploy trad4.

Additionally, download links for the v3 applications can be found on their respective pages. As I get round to updating all the v3 applications to v4 they will migrate into the Full download distribution.

Get trad4 at SourceForge.net. Fast, secure and Free Open Source software downloads