📜 ⬆️ ⬇️

We invite you to the ап Java and Linux - Fight for microseconds ’



Hi, Habr!

I, Alexey Ragozin, and my colleague, Sergey Sorokin, invite you to an open event on the topic “Java and Linux - The Struggle for Microseconds”. The event will be held on Tuesday, August 8 at 19.00 in the office of the Technology Center of Deutsche Bank. All the details and registration link .
')
That's what we plan to talk about.

In the area of ​​electronic commerce, the response time of an information system is often a serious competitive advantage in the market. The speed of the reaction of the trading system to market events allows the bank to make better offers to customers and avoid losses associated with fluctuations in financial markets.

Many know the term high frequency trading. In this class, the response time counts for microseconds, but the cost of ownership of such systems is very high. Specialized network equipment, hosting servers on the trading platform hosting, highly optimized code - all this is economically justified only for a limited number of trading systems.

More often there are situations in which a reasonable balance between cost of ownership, development speed and system response time is needed.

At the August 8 meeting at the Deutsche Bank Technology Center in Moscow, we will talk about the features of developing systems that should provide low response times using ordinary servers and the Linux + Java software platform. In particular, the discussion will deal with the architecture of application management systems.

The order management system is an important part of the e-commerce stack. This is the component in which the business transaction is committed based on the exchange of messages between counterparties: the client, the broker (investment bank) and the market.

The application management system must be reliable, fault-tolerant and provide the minimum response time.

In this context, short response time is hundreds of microseconds (usually up to 1 millisecond) to the processing of an event in an application process (not counting network interaction).

Getting these characteristics from a system through which thousands of transactions per second can pass is not easy.

The traditional architecture of application management systems differs significantly from the classical JEE. The key point is to exclude the “slow” database from a critical path. Data for transaction processing is stored in RAM, and ACID characteristics provide a reliable message transfer queue.

Applied logic also requires a special approach. Parallel processing of requests leads to costs of inter-thread synchronization and competition when accessing common data structures. To achieve a minimum response time, events are processed sequentially by a pipeline of several stages. Each processing stage is served by a separate thread, which allows you to remove the "race" and at the same time use the computing resources of several processor cores.

Finally, to get a stable response time, it is not enough just to write good code. There are factors beyond the control of the application code, such as competition between processes for computational resources, processor power-saving modes, memory and computation cores locality. Special customization of the Linux OS allows you to deal with these negative factors and significantly improve the response time of the application.

Summing up, in this session we will talk about the features of creating solutions with low response time on non-specialized hardware, Java and Linux.

See you!

Source: https://habr.com/ru/post/334740/


All Articles