TODO 4.9 KB

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