[dpdk-moving] proposal for DPDK CI improvement

Jerome Tollet (jtollet) jtollet at cisco.com
Mon Nov 7 11:26:33 CET 2016


Hi Thomas & Qian,
IMHO, performance results should be centralized and executed in a trusted & controlled environment.
If official DPDK numbers are coming from private lab’s vendors, perception might be that they are not 100% neutral. That would probably not help DPDK community to be seen open & transparent.

Jerome

Le 07/11/2016 11:17, « moving au nom de Thomas Monjalon » <moving-bounces at dpdk.org au nom de thomas.monjalon at 6wind.com> a écrit :

    Hi Qian,
    
    2016-11-07 07:55, Xu, Qian Q:
    > I think the discussion about CI is a good start. I agreed on the general ideas: 
    > 1. It's good to have more contributors for CI and it's a community effort. 
    > 2. Building a distributed CI system is good and necessary. 
    > 3. "When and Where" is the very basic and important questions. 
    > 
    > Add my 2 cents here. 
    > 1.  Distributed test vs Centralized lab
    > We can put the build and functional tests on our distributed lab. As to the performance, as we all know, performance is key to DPDK. 
    > So I suggested we can have the centralized lab for the performance testing, and some comments as below: 
    > a). Do we want to publish the performance report on different platforms with different HW/NICs? Anyone against on publishing performance numbers? 
    > b). If the answer to the first question is "Yes", so how to ensure others trust the performance and how to reproduce the performance if we don't have the platforms/HWs? 
    > As Marvin said, transparency and independence is the advantage for open centralized lab. Besides, we can demonstrate to all audience about DPDK performance with the 
    > Lab. Of course, we need the control of the system, not allow others to access it randomly. It's another topic of access control. I even think that if the lab can be used as 
    > the training lab or demo lab when we have the community training or performance demo days(I just named the events). 
    > 
    > 2. Besides "When and Where", then "What" and "How"
    > When:
    > 	- regularly on a git tree ---what tests need to be done here? Propose to have the daily build, daily functional regression, daily performance regression
    > 	- after each patch submission -> report available via patchwork----what tests need to be done? Build test as the first one, maybe we can add functional or performance in future. 
    >                                                                                                                                        
    > How to collect and display the results? 
    > Thanks Thomas for the hard work on patchwork upgrade. And it's good to see the CheckPatch display here. 
    > IMHO, to build the complete distributed system needs very big effort. Thomas, any effort estimation and the schedule for it?
    
    It must be a collective effort.
    I plan to publish a new git repository really soon to help building a test lab.
    The first version will allow to send some test reports correctly formatted.
    The next step will be to help applying patches (on right branch with series support).
    
    > a). Currently, there is only " S/W/F for Success/Warning/Fail counters" in tests, so does it refer to build test or functional test or performance test? 
    
    It can be any test, including performance ones. A major performance regression
    must be seen as a failed test.
    
    > If it only referred to build test, then you may need change the title to Build S/W/F. Then how many architecture or platforms for the builds? For example, we support Intel IA build, 
    > ARM build, IBM power build. Then we may need collect build results from INTEL/IBM/ARM and etc to show the total S/W/F. For example, if the build is passed on IA but failed on IBM, then we 
    > Need record it as 1S/0W/1F. I don't know if we need collect the warning information here.
    
    The difference between warnings and failures is a matter of severity.
    The checkpatch errors are reported as warnings.
    
    > b). How about performance result display on website? No matter distributed or centralized lab, we need a place to show the performance number or the performance trend to 
    > ensure no performance regression? Do you have any plan to implement it? 
    
    No I have no plan but I expect it to be solved by ones working on
    performance tests, maybe you? :)
    If a private lab can publish some web graphs of performance evolutions, it is great.
    If we can do it in a centralized lab, it is also great.
    If we can have a web interface to gather every performance numbers and graphs,
    it is really really great!
    
    > 3.  Proposal to have a CI mailing list for people working on CI to have the regular meetings only discussing about CI? Maybe we can have more frequent meetings at first to have an alignment. Then
    > We can reduce the frequency if the solution is settle down. Current call is covering many other topics. What do you think? 
    
    The mailing list is now created: ci at dpdk.org.
    About meetings, I feel we can start working through ci at dpdk.org and see
    how efficient it is. Though if you need a meeting, feel free to propose.
    



More information about the moving mailing list