TODO 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. ------------------------------------------
  2. The Corosync Cluster Engine Topic Branches
  3. ------------------------------------------
  4. --------------------------
  5. Last Updated: August 2011
  6. --------------------------
  7. ------------------------------------------------------------------------------
  8. master
  9. ------------------------------------------------------------------------------
  10. 1) exec/totempg.c in check_q_level()
  11. Remove hardcoded values.
  12. Chat to Steve about correcting the queue length calculation.
  13. 2) check max message size restrictions.
  14. 3) is this https://github.com/asalkeld/libqb/issues/1 still an issue?
  15. 4) remove "old" stuff from the man pages (logging/IPC).
  16. 5) new blackbox size might be too small (exec/logsys.c:311)
  17. 6) extend the logging config to make better use of the tracing capabilities.
  18. We use topic branches in our git repository to develop new disruptive features
  19. that define our future roadmap. This file describes the topic branches
  20. the developers have interest in investigating further.
  21. targets can be: whitetank, needle, or future (3.0+).
  22. Finished can be: percentage or date merged to master.
  23. ------------------------------------------------------------------------------
  24. topic-onecrypt
  25. ------------------------------------------------------------------------------
  26. Main Developer: Honza Friesse
  27. Started: not started
  28. Finished: 0%
  29. target: needle
  30. Description:
  31. Currently encryption code is located in totemudp.c, totemudpu.c, and iba has
  32. no encryption support. This topic merges the encryption code into a new
  33. file such as totemcrp.c and provides a mechanism for totemnet.c to register
  34. encrypt and decrypt functions with totem[udp|iba|udpu] and use them as
  35. requested by the configuration.
  36. ------------------------------------------------------------------------------
  37. topic-netmalloc
  38. ------------------------------------------------------------------------------
  39. Main Developer: Steven Dake
  40. Started: not started
  41. Finished: 0%
  42. target: needle
  43. Description:
  44. The totemiba.c driver must allocate memory and assign it to a protection domain
  45. in order for an infiniband driver to transmit memory. In the current
  46. implementation, totemsrp.c also allocates these same frames. This results in
  47. an extra memcpy when transmitting with libibverbs technology. Memory copies
  48. are to be avoided. The simple solution is to have each network driver provide
  49. a memory allocation function. When totemsrp wants a free frame, it requests
  50. it from the network driver.
  51. ------------------------------------------------------------------------------
  52. topic-iazc
  53. ------------------------------------------------------------------------------
  54. Main Developer: Steven Dake
  55. Started: not started
  56. Finished: 0%
  57. target: needle
  58. Description:
  59. The totempg.c file uses alloca/memcpy to deal with misaligned data structures
  60. to avoid bus errors on hardware which does not support unaligned access. This
  61. topic addresses the totempg.c code to avoid memory copies on platforms which
  62. support unaligned access (x86/x86_64) and use the current alloca/memcpy
  63. on platforms which don't (pretty much all other processor types).
  64. ------------------------------------------------------------------------------
  65. topic-rdmaud
  66. ------------------------------------------------------------------------------
  67. Main Developer: Steven Dake
  68. Started: not started
  69. Finished: 0%
  70. target: needle or future
  71. Description:
  72. Currently our RDMA code uses librdmacm to setup connections. We are not
  73. certain this extra library is needed, and may be able to use only ibverbs. If
  74. this is possible, the totem code may be more reliable, especially around
  75. failure conditions.
  76. ------------------------------------------------------------------------------
  77. topic-zerocopy
  78. ------------------------------------------------------------------------------
  79. Main Developer: Steven Dake
  80. Started: not started
  81. Finished: 0%
  82. target: future
  83. Description:
  84. Totem has many copies involved in messaging which we would like to investigate
  85. removing. Our goal is to deliver wire speed performance for rdma networks,
  86. and if this can be achieved by our other topic investigations, we may not
  87. further investigate this topic. The basic idea of the topic is to handle
  88. message assembly/fragmentation in libcpg, and have totem be responsible for
  89. sending these pages that are shared via posix shared memory.
  90. ------------------------------------------------------------------------------
  91. other topics not yet defined:
  92. * disallow binding to localhost interfae in redundant ring configuation.
  93. * doxygenize include and lib directories.
  94. * sort out binding to localhost in general