Java Fast Communication: 3 Core Challenges Efficient access to low-level machine structures Access to queues, NIC registers, etc. Explicit management of memory Packet buffers in pinned memory segments No copy between Java and "native memory" Communication of structured Java objects Serialization very slow! O(n^2) algorithm to find graph cycles Various improvements possible Eliminate serialization step altogether?