We invite you to the meeting “Java and Linux - Fight for microseconds”



    Hello, Habr!

    I, Alexei Ragozin, and my colleague, Sergei Sorokin, invite you to an open event on the topic "Java and Linux - The Fight for Microseconds." The event will be held on Tuesday August 8 at 19.00 in the office of the Deutsche Bank Technology Center. All details and registration on the link .

    This is what we plan to talk about.

    In the field of electronic commerce, the response time of an information system is often a serious competitive advantage in the market. The speed of 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 are familiar with the term high frequency trading. In this class, the response time is calculated in microseconds, but the cost of ownership of such systems is very high. Specialized network equipment, hosting servers on the hosting of the trading platform, highly optimized code - all this is economically justified only for a limited number of trading systems.

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

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

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

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

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

    Obtaining such characteristics from a system through which thousands of transactions per second can go is not easy.

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

    Applied logic also requires a special approach. Parallel processing of requests leads to the costs of cross-thread synchronization and competition when accessing common data structures. To achieve minimum response time, events are processed sequentially by a pipeline of several stages. Each processing stage is served by a separate stream, 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, just writing good code is not enough. There are factors that are not subject to application code, such as competition between processes for computing resources, processor energy-saving modes, memory and computing cores. Special tuning of the Linux OS allows you to deal with these negative factors and significantly improve the response time of the application.

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

    See you!

    Also popular now: