| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- --------------------------------------------------------
- The Corosync Cluster Engine Topic Branches and Backlog
- --------------------------------------------------------
- ----------------------------
- Last Updated: October 2011
- ----------------------------
- --------------------------------------
- Current priority list for Needle 2.0
- --------------------------------------
- 1. implement topic-map
- 2. replace confdb callers with map callers
- 3. quorum debugging and rework
- 4. implement topic-xmlconfig
- 5. remove external plug-in api
- 6. remove logsys.h from external headers
- 7. remove hardcoded values in totempg.c check_q_level
- 8. check max message size restrictions
- 9. investigate if https://github.com/asalkeld/libqb/issues/1 is still an issue.
- 10. allow a cluster name to autogenerate a mcastaddr
- 11. ring status change via corosync-notifyd
- --------------------------------------
- Current priority list for Needle 2.1
- --------------------------------------
- 1. implement topic-onecrypt
- 2. implement add/remove nodes from udpu
- 3. logsys glue layer removal
- 4. implement topic-zerocopy
- 5. implement topic-rdmaud
- 6. harden and finish ykd algorithm
- We use topic branches in our git repository to develop new disruptive features
- that define our future roadmap. This file describes the topic branches
- the developers have interest in investigating further.
- targets can be: whitetank, needle2.0, needle3.0, or future (3.0+).
- Finished can be: percentage or date merged to master. Once in a shipped
- version, please remove from the topic list.
- ------------------------------------------------------------------------------
- topic-map
- ------------------------------------------------------------------------------
- Main Developer: Honza Friesse
- Started: not started
- Finished: 20%
- target: needle2.0
- Currently confdb is very difficult to use. We use this component for
- our diagnostic feature set as well as storing our runtime configuration. A
- map is a better choice for a data structure here. Current thinking is to
- use the trie implementation from libqb to provide the core of this
- functionality
- ------------------------------------------------------------------------------
- topic-xmlconfig
- ------------------------------------------------------------------------------
- Main Developer: Honza Friesse
- Started: not started
- Finished: 0%
- target: needle2.0
- Test suites and users alike would like to configure the software via XML
- configuration. Current thinking is we will implement a separate binary which
- converts xml to native config format via XSLT. This keeps libxml out of the
- corosync process address space. During startup, corosync could either fork
- and exec this process, or it could be part of the system startup mechanism.
- ------------------------------------------------------------------------------
- topic-onecrypt
- ------------------------------------------------------------------------------
- Main Developer: Honza Friesse
- Started: not started
- Finished: 0%
- target: needle2.1
- Description:
- Currently encryption code is located in totemudp.c, totemudpu.c, and iba has
- no encryption support. This topic merges the encryption code into a new
- file such as totemcrp.c and provides a mechanism for totemnet.c to register
- encrypt and decrypt functions with totem[udp|iba|udpu] and use them as
- requested by the configuration.
- ------------------------------------------------------------------------------
- topic-netmalloc
- ------------------------------------------------------------------------------
- Main Developer: Honza Friesse
- Started: not started
- Finished: 0%
- target: needle2.1
- Description:
- The totemiba.c driver must allocate memory and assign it to a protection domain
- in order for an infiniband driver to transmit memory. In the current
- implementation, totemsrp.c also allocates these same frames. This results in
- an extra memcpy when transmitting with libibverbs technology. Memory copies
- are to be avoided. The simple solution is to have each network driver provide
- a memory allocation function. When totemsrp wants a free frame, it requests
- it from the network driver.
- ------------------------------------------------------------------------------
- topic-rdmaud
- ------------------------------------------------------------------------------
- Main Developer: Honza Friesse Steven Dake
- Started: not started
- Finished: 0%
- target: needle2.1
- Description:
- Currently our RDMA code uses librdmacm to setup connections. We are not
- certain this extra library is needed, and may be able to use only ibverbs. If
- this is possible, the totem code may be more reliable, especially around
- failure conditions.
- ------------------------------------------------------------------------------
- topic-zerocopy
- ------------------------------------------------------------------------------
- Main Developer: Honza Friesse
- Started: not started
- Finished: 0%
- target: needle2.1
- Description:
- Totem has many copies involved in messaging which we would like to investigate
- removing. Our goal is to deliver wire speed performance for rdma networks,
- and if this can be achieved by our other topic investigations, we may not
- further investigate this topic. The basic idea of the topic is to handle
- message assembly/fragmentation in libcpg, and have totem be responsible for
- sending these pages that are shared via posix shared memory.
- ------------------------------------------------------------------------------
- other topics not yet defined:
- * disallow binding to localhost interfae in redundant ring configuation.
- * doxygenize include and lib directories.
- * sort out binding to localhost in general
- * totem multiring
- * load balancing over different speed links in RRP
|