TODO 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. --------------------------------------------------------
  2. The Corosync Cluster Engine Topic Branches and Backlog
  3. --------------------------------------------------------
  4. ----------------------------
  5. Last Updated: October 2011
  6. ----------------------------
  7. --------------------------------------
  8. Current priority list for Needle 2.0
  9. --------------------------------------
  10. 1. quorum debugging and rework
  11. 2. remove external plug-in api
  12. 3. remove logsys.h from external headers
  13. 4. allow a cluster name to autogenerate a mcastaddr
  14. 5. ring status change via corosync-notifyd
  15. --------------------------------------
  16. Current priority list for Needle 2.1
  17. --------------------------------------
  18. 1. implement topic-onecrypt
  19. 2. implement add/remove nodes from udpu
  20. 3. logsys glue layer removal
  21. 4. implement topic-zerocopy
  22. 5. implement topic-rdmaud
  23. 6. harden and finish ykd algorithm
  24. 7. implement topic-xmlschema
  25. We use topic branches in our git repository to develop new disruptive features
  26. that define our future roadmap. This file describes the topic branches
  27. the developers have interest in investigating further.
  28. targets can be: whitetank, needle2.0, needle3.0, or future (3.0+).
  29. Finished can be: percentage or date merged to master. Once in a shipped
  30. version, please remove from the topic list.
  31. ------------------------------------------------------------------------------
  32. topic-xmlschema
  33. ------------------------------------------------------------------------------
  34. Main Developer: Honza Friesse
  35. Started: not started
  36. Finished: 0%
  37. target: needle2.1
  38. XML configuration for corosync exists, but imput file is not checked against
  39. XML schema. This topic is about implementing preferably RelaxNG schema of
  40. corosync configuration.
  41. ------------------------------------------------------------------------------
  42. topic-onecrypt
  43. ------------------------------------------------------------------------------
  44. Main Developer: Honza Friesse
  45. Started: not started
  46. Finished: 0%
  47. target: needle2.1
  48. Description:
  49. Currently encryption code is located in totemudp.c, totemudpu.c, and iba has
  50. no encryption support. This topic merges the encryption code into a new
  51. file such as totemcrp.c and provides a mechanism for totemnet.c to register
  52. encrypt and decrypt functions with totem[udp|iba|udpu] and use them as
  53. requested by the configuration.
  54. ------------------------------------------------------------------------------
  55. topic-netmalloc
  56. ------------------------------------------------------------------------------
  57. Main Developer: Honza Friesse
  58. Started: not started
  59. Finished: 0%
  60. target: needle2.1
  61. Description:
  62. The totemiba.c driver must allocate memory and assign it to a protection domain
  63. in order for an infiniband driver to transmit memory. In the current
  64. implementation, totemsrp.c also allocates these same frames. This results in
  65. an extra memcpy when transmitting with libibverbs technology. Memory copies
  66. are to be avoided. The simple solution is to have each network driver provide
  67. a memory allocation function. When totemsrp wants a free frame, it requests
  68. it from the network driver.
  69. ------------------------------------------------------------------------------
  70. topic-rdmaud
  71. ------------------------------------------------------------------------------
  72. Main Developer: Honza Friesse Steven Dake
  73. Started: not started
  74. Finished: 0%
  75. target: needle2.1
  76. Description:
  77. Currently our RDMA code uses librdmacm to setup connections. We are not
  78. certain this extra library is needed, and may be able to use only ibverbs. If
  79. this is possible, the totem code may be more reliable, especially around
  80. failure conditions.
  81. ------------------------------------------------------------------------------
  82. topic-zerocopy
  83. ------------------------------------------------------------------------------
  84. Main Developer: Honza Friesse
  85. Started: not started
  86. Finished: 0%
  87. target: needle2.1
  88. Description:
  89. Totem has many copies involved in messaging which we would like to investigate
  90. removing. Our goal is to deliver wire speed performance for rdma networks,
  91. and if this can be achieved by our other topic investigations, we may not
  92. further investigate this topic. The basic idea of the topic is to handle
  93. message assembly/fragmentation in libcpg, and have totem be responsible for
  94. sending these pages that are shared via posix shared memory.
  95. ------------------------------------------------------------------------------
  96. other topics not yet defined:
  97. * disallow binding to localhost interfae in redundant ring configuation.
  98. * doxygenize include and lib directories.
  99. * sort out binding to localhost in general
  100. * totem multiring
  101. * load balancing over different speed links in RRP