Skip to content

High performance local runtime for rDSN (network, aio, queue, etc.)

License

Notifications You must be signed in to change notification settings

imzhenyu/rDSN.tools.hpc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

rDSN.tools.hpc is a collection of high performance local library providers for rDSN, including:

  • hpc_network_provider: asynchronous network provider using epoll (Linux) and completion port (Windows)
  • hpc_aio_provider: asynchronous disk provider using native aio (Linux) and completion port (Windows)
  • hpc_timer_service: TODO
  • hpc_logger and hpc_tail_logger: in-memory batched logging facility
  • hpc_concurrent_task_queue: based on https://github.com/cameron314/concurrentqueue.git
  • other nits
Usage
  • make sure rDSN is installed
  • build dsn.tools.hpc.so (Linux) or dsn.tools.hpc.dll (Windows)
    dsn.run.sh build --type release
    dsn.run.sh install

The last command copies the dynamic linked libraries into DSN_ROOT/lib.

  • add the modules into correspondent config files for rDSN processes, which registers the providers into rDSN
    [modules]
    dsn.tools.hpc 
  • use the providers in config file, e.g.,
    [core]
    logging_factory_name = dsn:tools::hpc_logger 

    [threadpool..default]
    queue_factory_name = dsn::tools::hpc_concurrent_task_queue

Or, you can directly use all hpc providers by

    [core]
    tool = fastrun 
License and Support

rDSN is provided on Windows and Linux, with the MIT open source license. You can use the "issues" tab in GitHub to report bugs.

About

High performance local runtime for rDSN (network, aio, queue, etc.)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published