How can we help?
Real Logic offers a range of services to help you improve the latency, throughput, or scalability characteristics of your software. We offer training, coaching, performance tuning, and development services via a network of recognised experts.
If you need the help of people with experience building systems capable of processing millions of transactions per second at latencies measured in the microseconds, and still be highly-available, then you have come to the right place.
What is our philosophy?
Real Logic was setup by Martin Thompson. Martin has had life long passion for high-performance computing starting with hacking graphics on micro computers to lately when he has been crunching financial market data feeds. Inspired by his love of motor sport, Martin started the Mechanical Sympathy blog and discussion group. Mechanical Sympathy is about the programmer having an appreciation for the platform on which their code executes so that they work in harmony. Mechanical Sympathy is one strand of getting back to real computer science and engineering in our subject which has become dominated by technology fashions. If we claim to be practitioners of computer science then we should know something about computers and be following the scientific method.
Since the advent of the web there has been an almost myopic focus on ease of development and delivery predictability. This has been for good reasons. One of the consequences of this focus has been staggering levels of inefficiency in many systems. This great quote sums it up so succinctly.
"The most amazing achievement of the computer software industry is its continuing cancellation of the steady and staggering gains made by the computer hardware industry."
- Henry Peteroski
Software performance is once again becoming a key requirement for many systems. It may be latency for a high-frequency trading application or exchange, throughput for processing large volumes of data, or the ability to scale efficiently as we process more people, stuff and deals.
As our systems become increasingly more parallel we can no longer rely on huge gains in single-threaded performance from our processor vendors. We must return to the disciplines of algorithm design, hardware understanding, and profile guided optimisation. Decisions need to be made on data and not the latest fashion.
What is our approach?
A client may approach us for a variety of business reasons that can usually be distilled down to two types of engagement.
We can help tune and improve an existing system
By profiling a system at the language, operating system, and hardware level we can quickly isolate bottlenecks and inefficiencies in design or implementation. A system can then be tuned or evolved to meet the performance requirements.
Performance tuning engagements tend to be relatively short with major improvements as a result. The client is exposed to the performance profiling and diagnosis methodology so they learn and can self diagnose future issues.
We can help design and build a new system
An organisation may come to the conclusion that improved performance can lead to a wider audience, more trading opportunities, or significant cost savings. We can help with the evolution of an existing system, or design of a new system, to meet the required performance goals.
Real logic has helped many clients achieve performance targets which opened new opportunities and in some cases resulted in products with the best performance in the respective industry. This has been achieved by a combination of training, coaching, and development support.
These systems tend to be business critical and therefore must be highly-available and secure. We believe in building reactive systems and have contributed to the Reactive Manifesto. Reactive systems are now becoming mainstream due to the benefits they provide.
If you want to get started then contact us.