Skip to content

USF-MAGICS/scalable-nio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scalable-NIO

Non blocking server implemented in Java using NIO Package

General Idea: a single server thread uses the Selector to multiplex incoming connections. Once a job/task/message has been received by the selector, then it is put in a work queue for worker threads to consume.

C10k

NIO

Benchmarks / Test Cases

  • Sending random data + checksum, verify checksum on the server side
  • Sending large messages: we should be able to max out the interface speed (~120 MB/s or so on gigabit)
  • Allowing a large number of client connections: at least 10k if not 100k. We can create clients that open many connections and spread them across department machines (kudlick, g12, etc)
  • Adding sleeps to the logic to force buffers to fill up: for example, if the server sleeps for 1 second upon receiving a message, this will cause a backlog at the client.
  • Comparison with basic netty implementation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages