Показаны сообщения с ярлыком NIO. Показать все сообщения
Показаны сообщения с ярлыком NIO. Показать все сообщения

понедельник, 25 июня 2012 г.

Efficient data transfer through zero copy

Efficient data transfer through zero copy.

Суть: при копировании File -> Socket через transferTo удается избежать лишних копирований данных и переключений user mode <-> kernel mode. Остается два копирования, но они делаются не через CPU, а через DMA.

Вопрос: возможно ли достичь аналогичного эффекта при копировании Socket -> Socket? Пока ищу ответ. Скажем, если я использую ByteBuffer.allocateDirect(...).

четверг, 15 апреля 2010 г.

[NIO]: Netty

Netty Framework:
The Netty project
is an effort to provide an asynchronous event-driven network application framework and tools for rapid development of maintainable high performance & high scalability protocol servers & clients.

Performance Test Reports:
1) Last link is a comparision between 5 most popular NIO Frameworks in Java: Netty, Grizzly, MINA, NIO Framework and xSocket.
2) Trustin Lee (founder of Netty)
- have expirience with NIO from 2003
- is co-founder of Apache MINA:)

среда, 24 марта 2010 г.

Comparing Two High-Performance I/O Design Patterns

Comparing Two High-Performance I/O Design Patterns:
1. Short and clear comparison of Reactor and Proactor I/O patterns.
2. Interesting info about props of different I/O mechanizm on different platforms (Win, Linux, BSD, Solaris).

Summary
This article investigates and compares different design patterns of high performance TCP-based servers. In addition to existing approaches, it proposes a scalable single-codebase, multi-platform solution (with code examples) and describes its fine-tuning on different platforms. It also compares performance of Java, C# and C++ implementations of proposed and existing solutions.

четверг, 11 марта 2010 г.

Scalable servers: NIO + NIO.2

Some ineresting slides:
+ Doug Lea, "Scalable IO in Java" (pattern Reactor in NIO);
+ Alan Bateman(Sun), Jeanfrancois Arcand(Sun), "Asynchronous I/O Tricks and Tips".