What: Move BTLs into separate layer Why: Several projects have expressed interest to use the BTLs. Use-cases such as the RTE using the BTLs for modex or tools collecting/distributing data in the fastest possible way may be possible.
Where: This would affect several components, that the BTLs depend on (namely allocator, mpool, rcache and the common part of the BTLs). Additionally some changes to classes were/are necessary. When: Preferably 1.5 (in case we use the Feature/Stable Release cycle ;-) Timeout: 23.03.2009 ------------------------------------------------------------------------ There has been much speculation about this project. This RFC should shed some light, if there is some more information required, please feel free to ask/comment. Of course, suggestions are welcome! The BTLs offer access to fast communication framework. Several projects have expressed interest to use them separate of other layers of Open MPI. Additionally (with further changes) BTLs maybe used within ORTE itself. COURSE OF WORK: The extraction is not easy (as was the extraction of ORTE and OMPI in the early stages of Open MPI?). In order to get as much input and be as visible as possible (e.g. in TRACS), the tmp-branch for this work has been set up on: https://svn.open-mpi.org/svn/ompi/tmp/koenig-btl We propose to have a separate ONET library living in onet, based on orte (see attached fig). In order to keep the diff between the trunk and the branch to a minimum several cleanup patches have already been applied to the trunk (e.g. unnecessary #include of ompi and orte header files, integration of ompi_bitmap_t into opal_bitmap_t, #include "*_config.h"). Additionally a script (attached below) has been kept up-to-date (contrib/move- btl-into-onet), that will perform this separation on a fresh checkout of trunk: svn list https://svn.open-mpi.org/svn/ompi/tmp/koenig-btl/contrib/move-btl- into-onet This script requires several patches (see attached TAR-ball). Please update the variable PATCH_DIR to match the location of patches. ./move-btl-into-onet ompi-clean/ # Lots of output deleted. cd ompi-clean/ rm -fr ompi/mca/common/ # No two mcas called common, too bad... ./autogen.sh OTHER RTEs: A preliminary header file is provided in onet/include/rte.h to accommodate the requirements of other RTEs (such as stci), that replaces selected functionality, as proposed by Jeff and Ralph in the Louisville meeting. Additionally, this header file is included before orte-header files (within onet)... By default, this does not change anything in the standard case (ORTE), otherwise -DHAVE_STCI, redefinitions for components orte-functionality required within onet is done. TESTS: First tests have been done locally on Linux/x86_64. The branch compiles without warnings. The wrappers have been updated. The Intel Testsuite runs without failures: ./run-tests.pl all_tests_no_perf PERFORMANCE: !!!Before any merge, do extensive performance tests on real machines!!! Initial tests on the cluster smoky, show no difference in comparison to ompi- trunk. Please see the enclosed output of NetPipe-3.7.1 run on a single node (--mca btl sm,self) on smoky. TODOS: There are still some todos, to finalize this: - Dependencies in the onet-layer into the ompi-layer (ompi_proc_t, ompi_converter) We are working on these, and have shortly talked about the latter with George. - Better abstraction from orte / cleanups, such as modex If these involve code-changes (and not just "save" and non-intrusive renames), such as a opal_keyval-change, we will continue to write RFCs. -- ------------------------------------------------------------------------ Rainer Keller, PhD Tel: +1 (865) 241-6293 Oak Ridge National Lab Fax: +1 (865) 241-4811 PO Box 2008 MS 6164 Email: kel...@ornl.gov Oak Ridge, TN 37831-2008 AIM/Skype: rusraink
ompi_onet-2009.02.27.pdf
Description: Adobe PDF document
move-btl-patches.tar
Description: Unix tar archive
move-btl-into-onet
Description: application/shellscript
1 9.144905 0.00000083 2 18.286412 0.00000083 3 27.254883 0.00000084 4 36.323561 0.00000084 6 54.519751 0.00000084 8 72.093067 0.00000085 12 107.840704 0.00000085 13 116.514993 0.00000085 16 142.217778 0.00000086 19 169.245287 0.00000086 21 186.789734 0.00000086 24 211.904469 0.00000086 27 220.993476 0.00000093 29 237.469187 0.00000093 32 260.154825 0.00000094 35 289.871208 0.00000092 45 366.996818 0.00000094 48 346.092758 0.00000106 51 363.059679 0.00000107 61 429.481902 0.00000108 64 452.480187 0.00000108 67 547.652267 0.00000093 93 646.006554 0.00000110 96 682.188374 0.00000107 99 806.632558 0.00000094 125 867.096486 0.00000110 128 902.332127 0.00000108 131 939.511465 0.00000106 189 1284.425449 0.00000112 192 1323.696534 0.00000111 195 1372.413004 0.00000108 253 1534.417789 0.00000126 256 1571.798374 0.00000124 259 1775.898337 0.00000111 381 2177.659049 0.00000133 384 2221.247747 0.00000132 387 2268.441197 0.00000130 509 2567.867235 0.00000151 512 2609.416613 0.00000150 515 2664.212041 0.00000147 765 3324.675259 0.00000176 768 3375.506720 0.00000174 771 3435.315216 0.00000171 1021 3729.527742 0.00000209 1024 3759.200618 0.00000208 1027 3998.257332 0.00000196 1533 4535.030453 0.00000258 1536 4629.047535 0.00000253 1539 4672.508641 0.00000251 2045 5016.953859 0.00000311 2048 5034.699304 0.00000310 2051 5089.816977 0.00000307 3069 5553.297287 0.00000422 3072 5559.106714 0.00000422 3075 5617.297672 0.00000418 4093 5787.492397 0.00000540 4096 5784.737016 0.00000540 4099 5760.403688 0.00000543 6141 6817.539197 0.00000687 6144 6814.555317 0.00000688 6147 6710.970954 0.00000699 8189 6961.980152 0.00000897 8192 6968.138567 0.00000897 8195 6904.197569 0.00000906 12285 7189.509304 0.00001304 12288 7184.998295 0.00001305 12291 7127.284686 0.00001316 16381 7278.311036 0.00001717 16384 7273.223779 0.00001719 16387 7260.405877 0.00001722 24573 7365.966991 0.00002545 24576 7357.734764 0.00002548 24579 7336.457697 0.00002556 32765 7411.620458 0.00003373 32768 7427.520879 0.00003366 32771 7419.442521 0.00003370 49149 8693.406725 0.00004313 49152 8700.247681 0.00004310 49155 8686.847753 0.00004317 65533 8424.519273 0.00005935 65536 8402.778957 0.00005950 65539 8419.341722 0.00005939 98301 8833.212613 0.00008490 98304 8828.101244 0.00008496 98307 8824.001317 0.00008500 131069 9226.911591 0.00010838 131072 9115.172251 0.00010971 131075 9112.970731 0.00010974 196605 9605.629351 0.00015616 196608 9601.731992 0.00015622 196611 9606.421310 0.00015615 262141 10061.764549 0.00019877 262144 10053.960425 0.00019893 262147 10051.171824 0.00019898 393213 10523.080257 0.00028509 393216 10419.464480 0.00028792 393219 10416.583996 0.00028800 524285 10429.133288 0.00038354 524288 10431.820467 0.00038344 524291 10432.204488 0.00038343 786429 10238.342610 0.00058603 786432 10240.453560 0.00058591 786435 10277.892485 0.00058378 1048573 10105.899971 0.00079161 1048576 10070.429704 0.00079441 1048579 10073.336623 0.00079418 1572861 9255.032191 0.00129659 1572864 9242.679956 0.00129832 1572867 9246.126712 0.00129784 2097149 8906.485888 0.00179644 2097152 8920.909589 0.00179354 2097155 8920.922351 0.00179354 3145725 8888.699059 0.00270006 3145728 8888.820183 0.00270002 3145731 8888.697844 0.00270006 4194301 8897.325099 0.00359658 4194304 8900.674956 0.00359523 4194307 8901.930104 0.00359473 6291453 8906.705943 0.00538920 6291456 8908.831152 0.00538791 6291459 8911.595807 0.00538624 8388605 8924.814354 0.00717101 8388608 8925.460503 0.00717050 8388611 8931.601181 0.00716557
1 9.100256 0.00000084 2 18.265129 0.00000084 3 27.340050 0.00000084 4 36.737509 0.00000083 6 54.545492 0.00000084 8 72.850961 0.00000084 12 108.671673 0.00000084 13 117.937351 0.00000084 16 144.037605 0.00000085 19 170.932517 0.00000085 21 187.762611 0.00000085 24 214.347530 0.00000085 27 225.181371 0.00000091 29 240.889442 0.00000092 32 263.654173 0.00000093 35 293.736834 0.00000091 45 369.675925 0.00000093 48 347.843346 0.00000105 51 366.038001 0.00000106 61 431.610748 0.00000108 64 457.023867 0.00000107 67 548.005106 0.00000093 93 650.423252 0.00000109 96 684.881916 0.00000107 99 808.216867 0.00000093 125 870.455194 0.00000110 128 904.505778 0.00000108 131 942.841428 0.00000106 189 1281.286415 0.00000113 192 1322.205692 0.00000111 195 1369.149837 0.00000109 253 1537.864543 0.00000126 256 1571.257815 0.00000124 259 1779.530641 0.00000111 381 2178.657608 0.00000133 384 2220.960134 0.00000132 387 2264.768136 0.00000130 509 2575.818416 0.00000151 512 2609.629297 0.00000150 515 2671.990949 0.00000147 765 3345.743255 0.00000174 768 3389.059186 0.00000173 771 3438.427966 0.00000171 1021 3741.535258 0.00000208 1024 3759.383786 0.00000208 1027 4010.389512 0.00000195 1533 4605.741444 0.00000254 1536 4633.529353 0.00000253 1539 4686.640169 0.00000251 2045 5017.722848 0.00000311 2048 5031.754206 0.00000311 2051 5096.080802 0.00000307 3069 5570.765962 0.00000420 3072 5580.249179 0.00000420 3075 5623.626117 0.00000417 4093 5751.389542 0.00000543 4096 5754.372865 0.00000543 4099 5738.985517 0.00000545 6141 6800.924663 0.00000689 6144 6792.232408 0.00000690 6147 6682.609002 0.00000702 8189 6984.735294 0.00000894 8192 6953.431651 0.00000899 8195 6914.051304 0.00000904 12285 7196.609545 0.00001302 12288 7189.557933 0.00001304 12291 7133.079920 0.00001315 16381 7248.974441 0.00001724 16384 7260.420327 0.00001722 16387 7257.702488 0.00001723 24573 7370.110946 0.00002544 24576 7367.610861 0.00002545 24579 7339.440869 0.00002555 32765 7410.635550 0.00003373 32768 7421.207086 0.00003369 32771 7404.832645 0.00003376 49149 8692.082157 0.00004314 49152 8691.239393 0.00004315 49155 8686.286578 0.00004317 65533 8420.203321 0.00005938 65536 8410.583396 0.00005945 65539 8416.192012 0.00005941 98301 8823.563884 0.00008500 98304 8826.763749 0.00008497 98307 8818.968703 0.00008505 131069 9039.091910 0.00011063 131072 9088.699870 0.00011003 131075 9092.660007 0.00010998 196605 9583.038864 0.00015652 196608 9583.226738 0.00015652 196611 9570.629986 0.00015673 262141 10020.931136 0.00019958 262144 10015.626492 0.00019969 262147 10016.841401 0.00019967 393213 10424.764625 0.00028777 393216 10409.323571 0.00028820 393219 10410.092681 0.00028818 524285 10494.911566 0.00038113 524288 10494.371794 0.00038116 524291 10494.206353 0.00038116 786429 10237.865318 0.00058606 786432 10235.496082 0.00058620 786435 10234.779945 0.00058624 1048573 10095.189266 0.00079245 1048576 10099.803234 0.00079209 1048579 10097.998796 0.00079224 1572861 9255.269651 0.00129656 1572864 9212.014592 0.00130265 1572867 9219.509716 0.00130159 2097149 8905.800356 0.00179658 2097152 8905.191566 0.00179670 2097155 8908.071945 0.00179613 3145725 8886.679168 0.00270067 3145728 8874.518714 0.00270437 3145731 8880.888588 0.00270243 4194301 8894.131462 0.00359788 4194304 8900.674956 0.00359523 4194307 8894.306646 0.00359781 6291453 8901.874076 0.00539212 6291456 8903.938923 0.00539087 6291459 8908.424772 0.00538816 8388605 8922.564733 0.00717282 8388608 8920.171224 0.00717475 8388611 8924.845465 0.00717100